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)