Scala 2.13.11 发布,多范式编程语言

Scala 2.13.11 现已发布。这是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。此版本更新亮点如下:

Collections

  • 更快的Vectorconcatenation(#10159
  • LinkedHashMap/LinkedHashSet实现(#10221

兼容性

  • 通过升级到 ASM 9.5 支持 JDK 20 和 21(#10363#10184
  • 修复读取 JDK 21 类文件时发生崩溃的问题 ( #10397 )
  • 在 Java 源代码和类文件中支持 Java 17sealed( #10348#10105
  • 在 TASTy reader 中支持 Scala 3.3 ( #10299)

与 Scala 3 保持一致

  • 像 Scala 3 那样,在 lambdas 中接受 implicit _implicit (x: Int)#10327
  • 弃用 infix type args,因为它们在 Scala 3 中被删除(#10255
  • 允许对具有依赖类型的方法进行 eta 扩展 ( #10166 )
  • Abstract parent copy 不会暂停 casecopy#10085
  • 不要使用类型模式的 GLB 绑定器,直接使用类型 ( #10247 )
  • Under -Xsource:3,警告继承成员不再优先于 Scala 3 中的外部定义(#10220#10339
  • Under -Xsource:3,调整 2.13.9 更改以忽略 whitebox macro 扩展的覆盖类型(#10188
  • Under -Xsource:3,警告有关对 parenless lambda parens 的更改(#10320

Other notable changes

  • 禁止 super 调用绑定到 vals 的 mixin ( #10268 )
  • 让 scalac 的参数文件处理在处理空格和换行符时更像 javac(#10319 )
  • 升级 JLine 和 JNA 版本 ( #10318 )
  • javabootclasspath取代jrt#10336
  • 在stderr 上报告 total errors(#10272
  • 修复自 2.13.7 起某些模式匹配编译速度慢的问题(#10258
  • 再次在IterableWrapper上提供equalshashCode(修复 2.13.9 回归)(#10205
  • 改进-Vimplicits;errors 现在会显示完整的隐式搜索树(#9944
  • -Vprint默认为-Vprint:typer;phases 可以用~作为前缀,表示“before and after”(#10173

2.13.11 还包括一些 Scala 2.12.18 的更改。(上面列出了一些最重要的问题,例如涉及 JDK 20 和 21 兼容性的问题。)

有关完整的 2.13.11 更改列表,可参阅所有合并的 PR 和所有已关闭的 bug

已知的问题

发现了一些回归:

  • 穷举检查器在匹配 Java 枚举类型时发出虚假警告(2.13.11 回归)(scala/bug#12800
  • 当使用已废弃的默认方法扩展 Java 接口时,重复的@Deprecated注释会在通过 Java 反射访问时导致java.lang.annotation.AnnotationFormatError(2.13.11 回归)( scala/bug#12799 )

计划将在 Scala 2.13.12 中解决这些问题。

详情可查看更新说明:https://github.com/scala/scala/releases/tag/v2.13.11

猜你喜欢

转载自www.oschina.net/news/257662/scala-2-13-11-released