【问题标题】:Scala 2.10 vs. 2.9 incompatibilities [closed]Scala 2.10 与 2.9 的不兼容性 [关闭]
【发布时间】:2012-12-29 20:56:40
【问题描述】:

Scala 2.10 与 2.9 有哪些不兼容之处以及如何处理它们?

尤其是核心库,但流行库的任何问题都可能很有趣。

感谢官方文档的链接。

【问题讨论】:

标签: scala scala-2.10 scala-2.9


【解决方案1】:

不确定是否存在错误,但有一个 issue with type inference and existential types 现已修复(但尚未发布修复,因此问题在当前版本 2.10.0 中仍然存在)

它是SI-5330。在问题的描述(以及各种 cmet)中,有一些代码示例用于在 scala 2.9 中编译,现在在 2.10 中编译失败。

【讨论】:

    【解决方案2】:

    找到了几个:

    • 默认actor库是Akka

    迁移到 Akka:

    http://docs.scala-lang.org/overviews/core/actors-migration-guide.html

    或者包括旧的。例如。使用 Maven:

    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-actors</artifactId>
      <version>2.10.0</version>
    </dependency>
    
    • 扩展案例类会导致编译错误

    不要从案例类继承。如果您使用案例类进行匹配,请使用提取器模式:

    http://www.scala-lang.org/node/112

    • List 中删除了一些不推荐使用的方法,包括:---firstsort...

    见:

    http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.List

    http://www.scala-lang.org/api/2.9.2/index.html#scala.collection.immutable.List

    【讨论】:

      【解决方案3】:

      我认为总的来说它们不是源代码不兼容的。确实存在一些差异,特别是与存在和模式匹配有关的差异——一些是由于 2.10.0 上的新错误,一些是由于 2.9.2 上的旧错误已得到修复。

      当然,很多不推荐使用的东西都被删除了,但这不言而喻。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多