Closed scabug closed 6 years ago
Imported From: https://issues.scala-lang.org/browse/SI-8396?orig=1 Reporter: @xeno-by Affected Versions: 2.11.0-RC1
@densh said: Caused by EmptyTree inserted into the body of the empty template during parsing:
scala> showRaw(q"trait X {}")
res0: String = ClassDef(Modifiers(ABSTRACT | INTERFACE | DEFAULTPARAM/TRAIT), TypeName("X"), List(), Template(List(Select(Ident(scala), TypeName("AnyRef"))), noSelfType, List(EmptyTree)))
scala> showRaw(q"trait X ")
res1: String = ClassDef(Modifiers(ABSTRACT | INTERFACE | DEFAULTPARAM/TRAIT), TypeName("X"), List(), Template(List(Select(Ident(scala), TypeName("AnyRef"))), noSelfType, List()))
@densh said: Related:
scala> val q"new ..$parents {}" = q"new Foo with Bar {}"
parents: List[universe.Tree] = List(Foo, Bar)
scala> val q"new ..$parents {}" = q"new Foo with Bar "
scala.MatchError: {
final class $anon extends Foo with Bar {
def <init>() = {
super.<init>();
()
}
};
new $anon()
} (of class scala.reflect.internal.Trees$Block)
... 32 elided
closing all quasiquotes tickets; see https://github.com/scala/bug/issues/10755