Scala 2.11中的宏API发生了什么变化?

0__*_*0__ 1 macros scala scala-2.11

我试图将一个宏从Scala 2.10移植到2.11.0-M7:

import scala.reflect.macros.Context

object Format {
  def apply[A]: Unit = macro applyImpl[A]

  def applyImpl[A: c.WeakTypeTag](c: Context): c.Expr[Unit] = ???
}
Run Code Online (Sandbox Code Playgroud)

必须改变一些东西,因为编译器说不scala.reflect.macros.Context存在.

我的构建文件如下所示:

scalaVersion := "2.11.0-M7"

resolvers += Resolver.sonatypeRepo("snapshots")

addCompilerPlugin("org.scala-lang.plugins" % "macro-paradise" % "2.0.0-SNAPSHOT"
  cross CrossVersion.full)
Run Code Online (Sandbox Code Playgroud)

有线索吗?

0__*_*0__ 5

scala-reflect现在需要明确添加:

libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value
Run Code Online (Sandbox Code Playgroud)

Context 已弃用,但它已编译.