scalamacros / paradise

(No longer actively maintained.)
http://scalamacros.org/
BSD 3-Clause "New" or "Revised" License
158 stars 53 forks source link

branch Scala 2.11 community build was using went away #89

Closed SethTisue closed 7 years ago

SethTisue commented 7 years ago

there used to be a 2.11.x branch that the community build was tracking. the commit we were using 1e7f980e5b63c3bc6b416ccceab71d6021f05d09, doesn't seem to be on any branch anymore. if I try to use your 2.11.8 branch, I get the compiler crash you see at https://scala-ci.typesafe.com/view/scala-2.11.x/job/scala-2.11.x-integrate-community-build/429/console

xeno-by commented 7 years ago

I gave up on n.mm.x branches, because I'm having hard time to even keep up with stable releases, let alone unstable snapshots :) I'm sorry to hear this broke the community build.

How do I reproduce the crash? Which version of Scala should I use?

xeno-by commented 7 years ago

Allright, can reproduce with https://github.com/scalamacros/paradise/commit/a83336ede12a16ccd92191cb195642e7471b52d2:

import scala.reflect.macros.whitebox.Context
import scala.language.experimental.macros
import scala.annotation.StaticAnnotation

object identityMacro {
  def impl(c: Context)(annottees: c.Expr[Any]*): c.Expr[Any] = {
    import c.universe._
    c.Expr[Any](Block(annottees.map(_.tree).toList, Literal(Constant(()))))
  }
}

class identity extends StaticAnnotation {
  def macroTransform(annottees: Any*): Any = macro identityMacro.impl
}
object M {
  @identity object X
  @identity class X()
}
xeno-by commented 7 years ago

Looks like I erroneously merged https://github.com/scalamacros/paradise/pull/81, and that was crashing tests. I reverted the merge. Try again with the 2.11.9 branch.