3

我正在开发一个使用sbt. 我想使用由dotty. dotty我在我的项目中使用时遇到问题。

我这样做了:

  • 添加./projects/plugins.sbt并包含sbt-dotty./projects/build.properties中提到的内容。
  • 添加了一个包含内容./projects/scalafix.sbt的配置文件 。这是在sbt-scalafix中提供的./.scalafix.confscalafixEnabled in ThisBuild := true

现在,如果我编译项目,我会得到一个巨大的Migration Warnings 和错误列表,例如Member Not Found Error,Ambiguous overload和以 . 结尾java.lang.AssertionError: no TypeBounds allowed。纠正这些错误中的每一个是避免这些错误的唯一方法吗?

在进行这些更改之前,该项目运行良好(使用 scalaVersion := 2.12.1)。谁能帮我让它工作?

编辑: sbtVersion = 0.13.13

4

1 回答 1

4

Dotty 目前处于实验阶段(pre-alpha,在撰写本文时尚未公开发布)。您收到编译错误的事实意味着以下几点:

  • 您使用 sbt & dotty 编译项目的设置可能是正确的(这回答了问题?)
  • 您的代码库可能会触发 dotty 中的新错误

StackOverflow 不是讨论未发布软件中的错误的正确场所。如果您设法最小化您的问题,请在dotty issue tacker上报告(或来聊天gitter)。如果您有兴趣破解编译器,在这些早期阶段也有很多机会,总是非常欢迎外部贡献者!


即使这不是您问题的一部分,我也觉得有义务解决@JörgWMittag 评论。Dotty 不是一种新的编程语言。长期目标是能够使用这两种编译器交叉编译大部分 Scala 生态系统,就像目前 Scala 2.10/2.11/2.12 的情况一样。Dotty 本身就是此类项目的一个示例,每个测试都使用由scalac(当前默认)编译的编译器版本和编译器的引导版本(使用编译器dotty编译dotty)运行。

此外,目前正在建立一个社区建设的基础设施。它是一个收集(分支)开源 Scala 项目的存储库,这些项目可以使用scalac/进行交叉编译dotty,用作编译器的附加测试基础设施。

于 2017-04-11T07:48:03.630 回答