Scala 3 在 Scala 生态系统中的兼容性方面是一个游戏规则改变者,它将极大地改善每位 Scala 程序员的日常体验。这个新的兼容性时代从迁移开始。
从 Scala 2 迁移到 Scala 3 是一个巨大的进步。Scala 3 是一个全新的编译器,建立在对语言核心基础的完全重新设计之上。然而,我们声称迁移不会比以前更难,当时我们从 Scala 2.12 迁移到 Scala 2.13。
由于 Scala 2.13 和 Scala 3 之间的互操作性,在某些方面甚至会更简单。
本章详细介绍了两个版本在程序不同阶段的兼容性级别。在这里,您将找到以下问题的答案
- Scala 3 是一种不同的语言吗?
- 将 Scala 2.13 项目转换为 Scala 3 有多难?
- 我们可以在 Scala 3 中使用 Scala 2.13 库吗?
- 反过来,我们可以在 Scala 2.13 中使用 Scala 3 库吗?
- 在生产环境中部署 Scala 3 程序安全吗?
- 与 Scala 2.13 相比,Scala 3 程序的速度如何?
- 替换 Scala 2 宏功能会影响我的 Scala 2.13 项目吗?
- 如何将我的 Scala 2.13 宏库移植到 Scala 3?
本页贡献者
内容
- 兼容性参考
- 源代码级别
- 类路径级别
- 运行时
- 元编程
- 迁移工具之旅
- 使用 -Xsource:3 的 Scala 2
- Scala 3 迁移模式
- 迁移教程
- 先决条件
- 移植 sbt 项目(使用 sbt-scala3-migrate)
- 移植 sbt 项目(手动)
- 交叉构建宏库
- 混合使用 Scala 2.13 和 Scala 3 宏
- Scala 3 语法重写
- 不兼容性表
- 语法更改
- 已删除的功能
- 上下文抽象
- 其他更改的功能
- 类型检查器
- 类型推断
- 编译器选项
- 编译器选项查找表
- 新的编译器选项
- Scala2 和 Scala3 之间的 Scaladoc 设置兼容性
- 编译器插件
- Kind Projector 迁移
- 外部资源