2013-12-10 59 views
1

我想從港口斯卡拉2.10宏2.11.0-M7:Scala 2.11中的宏API發生了什麼?

import scala.reflect.macros.Context 

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

    def applyImpl[A: c.WeakTypeTag](c: Context): c.Expr[Unit] = ??? 
} 

一定有什麼改變,因爲編譯器說:scala.reflect.macros.Context不存在。

我的build文件看起來像這樣:

scalaVersion := "2.11.0-M7" 

resolvers += Resolver.sonatypeRepo("snapshots") 

addCompilerPlugin("org.scala-lang.plugins" % "macro-paradise" % "2.0.0-SNAPSHOT" 
    cross CrossVersion.full) 

任何線索?

回答

5

人們需要明確添加scala-reflect現在:

libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value 

Context已過時,但它編譯。

+0

我認爲總是需要明確依賴scala-reflect。 –

+0

@EugeneBurmako - 實際上,不,我的圖書館在2.10中編譯[沒有明確反映](https://github.com/Sciss/play-json-sealed/blob/master/project/Build.scala);無論如何沒有大問題,它現在的作品:) –

+0

嗯,這很奇怪。 –

相關問題