【发布时间】:2023-04-02 04:56:01
【问题描述】:
我们应该注意哪些限制?它会要求我们使用一些类似 scalafix 的工具吗?还是开箱即用?
【问题讨论】:
-
Scala 3.0 将使用与 Scala 2.13.x 相同的标准库,因此如果您使用的是 2.13.x,那么对于大多数人来说,一般迁移将相当容易。 Scala-native 似乎仍在标准库的
2.11上,因此可能需要进行很多更改
我们应该注意哪些限制?它会要求我们使用一些类似 scalafix 的工具吗?还是开箱即用?
【问题讨论】:
2.11 上,因此可能需要进行很多更改
一般从 2.13 迁移到 3.0:
forSome 语法消失(请参阅:documentation 上的已删除功能)Scalafix 甚至现在也在 prod 上使用,例如Scala Steward 能够在将库更新到新版本时应用迁移。
Scala.js 在 JVM 旁边是 already supported as Dotty backend。
最近 Scala Center 接管了 Scala-native,所以我们应该期望 Scala-native 的开发会加快(有点停滞),它最终应该会成为另一个受支持的后端。我不知道他们是否能够在 Dotty 发布之前交付,但我对此表示怀疑。目前,Scala-native 必须首先获得对 2.12 和/或 2.13 的支持。如果您想知道或在 Gitter 上提问,请跟踪 this issue。
长话短说:您需要等待您使用的库被移植到 Dotty,然后更新您的宏(如果您编写了任何宏),此外,对于 JVM 和 JS 后端,迁移应该非常简单。 Scala native 可能需要更多时间。
【讨论】: