import scala.reflect.makro.Context import language.experimental.macros def macroId[A](c: Context)(v: c.Expr[A]): c.Expr[A] = c.reify(v.value) def id2[A](v: A) = macro macroId[A] id2(1)