我有一个宏:
def f[T]: Any = macro fImpl[T]
def fImpl[T : context.WeakTypeTag](context: whitebox.Context):
context.Tree =
{
import context.universe._
q"{ (x: ${weakTypeOf[T]}) => x + 1 }"
}
当我用它时
f[Int](1)
我看到了
Error:(26, 6) Any does not take parameters
f[Int](1)
^
如果我分成两个陈述,
val x = f[Int]
x(1)
没有错误。
有没有办法可以将宏f[Int]
用作函数,而无需编写辅助语句?