加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 09:48:12 所属栏目:安全 来源:网络整理
导读:我使用Scala 2.11.1和sbt 0.13.5。 我有一个sbt插件,包含一个帮助函数创建输入任务如下(实现被删除,因为它与问题无关): def register(name: String,description: String): Def.Setting[InputTask[Unit]] = { InputKey[Unit](name,description) = Def.inpu
我使用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

在Scala 2.11.1中Def.inputTask宏是否被破坏了,或者我缺少一些明显的细节?

现在上面的功能驻留在最简单的sbt插件可以想象。也没有依赖。

解决方法

sbt 0.13.x系列在加载时使用Scala 2.10.x,因此sbt 0.13.x本身必须针对Scala 2.10编译,所有sbt插件也适用于0.13.x.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读