blob: 6d21362c4db7e6c50a4ddce511bb208a2e670285 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import scala.reflect.macros.Context
import language.experimental.macros
case class C[T](t: String)
object C {
implicit def foo[T]: C[T] = macro Macros.impl[T]
}
object Macros {
def impl[T: c.WeakTypeTag](c: Context) = {
import c.universe._
reify(C[T](c.literal(weakTypeOf[T].toString).splice))
}
}
|