【发布时间】:2017-06-07 21:29:10
【问题描述】:
我正在开发一个使用 sbt 运行的 Scala 项目。我想使用dotty 提供的联合类型。我在项目中使用 dotty 时遇到问题。
我这样做了:
- 添加了
./projects/plugins.sbt和./projects/build.properties以及sbt-dotty 中提到的内容。 - 添加了
./projects/scalafix.sbt和一个配置文件./.scalafix.conf包含内容scalafixEnabled in ThisBuild := true。这是在sbt-scalafix 中提供的
现在,如果我编译该项目,我会得到一大堆 Migration Warnings 和 Member Not Found Error、Ambiguous overload 等错误列表,并以 java.lang.AssertionError: no TypeBounds allowed 结尾。纠正这些错误是避免这些错误的唯一方法吗?
在进行这些更改之前,该项目运行良好(使用 scalaVersion := 2.12.1)。谁能帮我让它工作?
编辑: sbtVersion = 0.13.13
【问题讨论】:
-
你能提供你的 SBT 版本吗?
-
@AkiLegaspi 现在是 0.13.13。也将此添加到问题中。
-
我的印象是整个 Dotty 生态系统,包括
scalafix都处于测试阶段,如果scalafix能够在没有人工干预的情况下成功迁移您的代码库,我会感到非常惊讶。 -
@badcook:确实。这两个项目是由同一个人开发的,而且 Dotty 被用来尝试 Scala 的新想法当然是有启发性的,但归根结底,这两个是两种不同的编程语言,你需要决定您想在两者中的哪一个中编写代码。如果您在 Scala 中编写代码,请使用 Scala 编译它。如果你想用 Dotty 编译你的代码,你需要用 Dotty 编写,而不是 Scala。
-
@JörgWMittag 看到我的答案