如何在scala项目中使用dotty?

时间:2017-04-09 21:26:45

标签: scala sbt dotty

我正在使用sbt运行的Scala项目。我想使用由dotty提供的联合类型。我在项目中使用dotty时遇到了麻烦。

我这样做了:

  • 添加./projects/plugins.sbt./projects/build.properties内容,如sbt-scalafix中所述。
  • 添加了./projects/scalafix.sbt和配置文件 其中包含内容./.scalafix.conf的{​​{1}}。这在{{3}}
  • 中提供

现在,如果我编译项目,我会收到scalafixEnabled in ThisBuild := true的大量列表以及Migration WarningMember Not Found Error等错误,并以Ambiguous overload结尾。纠正这些错误是避免这些错误的唯一方法吗?

在进行这些更改之前,项目运行正常(使用scalaVersion:= 2.12.1)。任何人都可以帮助我使它工作吗?

修改: java.lang.AssertionError: no TypeBounds allowed

1 个答案:

答案 0 :(得分:4)

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

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

StackOverflow不是讨论未发布软件中的错误的正确位置。如果您设法尽量减少问题,请在dotty issue tacker上报告(或来聊聊gitter)。如果您对编译器感兴趣,那么在这些早期阶段也有很多机会,外部贡献者总是非常欢迎!

即使这不是你问题的一部分,我也有义务回答@JörgWMittag的评论。 Dotty不是一种新的编程语言。长期目标是能够使用两个编译器交叉编译大多数Scala生态系统,因为目前Scala 2.10 / 2.11 / 2.12就是这种情况。 Dotty本身就是这样一个项目的一个例子,每个测试都运行一个由scalac编译的编译器版本(目前是默认版本),以及编译器的引导版本(dotty编译为{{1} }})。

此外,目前正在设置community-build基础架构。它是一个收集(分叉)开源Scala项目的存储库,可以与dotty / scalac交叉编译,作为编译器的附加测试基础结构。