gpt4 book ai didi

scala - 为什么 Def.inputTask 宏在 Scala 2.11.1 中不起作用?

转载 作者:行者123 更新时间:2023-12-03 10:36:59 24 4
gpt4 key购买 nike

我正在使用 Scala 2.11.1 和 sbt 0.13.5。

我有一个 sbt 插件,它包含一个帮助函数来创建输入任务,如下所示(实现被剥离,因为它与问题无关):

def register(name: String, description: String): Def.Setting[InputTask[Unit]] = {
InputKey[Unit](name, description) <<= Def.inputTask {
println("test")
}
}

这个函数在 Scala 2.10.4 中编译和工作得很好,但是一旦我切换到 2.11.1,它就会失败并出现以下错误:

can't expand macros compiled by previous versions of Scala



Def.inputTask宏在 Scala 2.11.1 中被破坏了,还是我遗漏了一些明显的细节?

现在,上面的函数驻留在可以想象的最简单的 sbt 插件中。也根本没有依赖关系。

最佳答案

sbt 0.13.x 系列在加载时使用 Scala 2.10.x,因此 sbt 0.13.x 本身必须针对 Scala 2.10 进行编译,0.13.x 的所有 sbt 插件也是如此。

备注 : sbt 0.13 可以使用 2.11.x 定义 Scala 项目。

关于scala - 为什么 Def.inputTask 宏在 Scala 2.11.1 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24103043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com