blob: fc6fa6e9a7f81f6e19658c4316bb1093a5caefcf (
plain) (
tree)
|
|
import scala.tools.partest.ReplTest
object Test extends ReplTest {
override def code = """
import language.experimental.macros, reflect.macros.BlackboxContext
def macroImpl[T: c.WeakTypeTag](c: BlackboxContext)(t: c.Expr[T]): c.Expr[List[T]] = {
val r = c.universe.reify { List(t.splice) }
c.Expr[List[T]]( c.resetLocalAttrs(r.tree) )
}
def demo[T](t: T): List[T] = macro macroImpl[T]
def m[T](t: T): List[List[T]] =
demo( List((t,true)) collect { case (x,true) => x } )
m(List(1))
// Showing we haven't added unreachable warnings
List(1) collect { case x => x }
List("") collect { case x => x }
""".trim
}
|