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

我这样做:

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

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

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

    编辑: sbtVersion = 0.13.13

    最佳答案

    Dotty目前正处于实验阶段(预发布,撰写本文时尚未公开发布)。出现编译错误的事实意味着:

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

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

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

    另外,当前正在建立community-build基础结构。它是一个存储库(用于收集开源Scala项目(从中进行分叉)),该项目可以与scalac / dotty进行交叉编译,这是编译器的附加测试基础结构。

    关于scala - 如何在Scala项目中使用Dotty?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43312115/

    10-09 09:42