Scala 2.11中上下文文字的实际替换是什么?

Scala 2.11中上下文文字的实际替换是什么?,scala,macros,Scala,Macros,我能成功地写作 import scala.reflect.macros.blackbox object WhyDeprecated { def macroImpl[T : context.WeakTypeTag](context: blackbox.Context): context.Expr[String] = { import context.universe._ reify { context.literal("Hello").splic

我能成功地写作

import scala.reflect.macros.blackbox

object WhyDeprecated {
  def macroImpl[T : context.WeakTypeTag](context: blackbox.Context):
      context.Expr[String] =
  {
    import context.universe._

    reify {
      context.literal("Hello").splice
    }
  }
}
不过:

已弃用(自版本2.11.0起)改用quasiquotes

但是,Quasikotes不提供相同的类型:

context.literal("Hello").splice : context.Expr[String]

q""" "Hello" """ : Universe#Tree
是否有一种未被弃用的
Context#literal
替代品,它提供一个
Expr[T]
而不是一个

使用
Context.Expr(q“Hello”)
从树中检索
Expr

c.Expr[String](q“Hello,world”)
。值得一提的是,宏也可以只返回树?