Scala 2.10与2.9不兼容

时间:2013-01-15 17:19:03

标签: scala scala-2.10 scala-2.9

什么是Scala 2.10与2.9不兼容以及如何处理它们?

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

赞赏官方文件的链接。

3 个答案:

答案 0 :(得分:2)

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

这是SI-5330。在问题的描述中(以及各种注释中),有一些代码用于在scala 2.9中编译,现在无法在2.10中编译。

答案 1 :(得分:1)

找到了其中几个:

  • 默认演员库是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

答案 2 :(得分:1)

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

当然,很多被弃用的东西都被删除了,但这应该不用说了。