blob: 97261b21ed497e48940498b63ade53f23c4cb9c1 (
plain) (
tree)
|
|
import scala.reflect.runtime.universe._
import scala.tools.reflect.ToolBox
import scala.tools.reflect.Eval
object Test extends App {
trait C {
type T
implicit val tt: TypeTag[T]
lazy val code = reify {
List[T](2.asInstanceOf[T])
}
}
class D extends C {
type T = String // this "mistake" is made for a reason!
override val tt: TypeTag[T] = implicitly[TypeTag[Int]].asInstanceOf[TypeTag[T]]
}
println((new D).code.eval)
}
|