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


多元共进|2023 Google 开发者大会精彩演讲回顾

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


相關推薦

2024-04-01

Scala 2.13.13 现已发布。这是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。此版本更新亮点如下: 语言 支持 binary integer literals using 0b,如 Java 中一样(#10656) 兼容性 TASTy

2022-10-16

Scala 2.13.10 现已发布。这是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。具体更新内容如下: 二进制兼容性回归已修复 修复 2.13.9 的回归,它破坏了同为 value classes 的 case classes 的

2023-02-07

不专门针对 JVM-only 特性的库都为 Scala/JVM 和 Scala.js 交叉发布。在 2021 年 8 月发布的 Scala.js 1.7.0 以来,Scala.js 的每个版本的已知错误都是 0 ,覆盖了整个核心存储库:编译器后端和 Scala 链接器。 回想发布之初,将 Scala 编译成 Ja

2023-11-23

生态系统调查《The State of Developer Ecosystem 2023》结果已发布,基于来自全球 26348 名开发人员的调研反馈。 今年的报告在往年的基础上扩展了人工智能(AI)领域。研究了开发人员对 AI 的看法和担忧、AI 助手的常用功能以及 AI

2022-11-14

软件行业分析公司 RedMonk 发布了 2022 年 6 月(第三季度)编程语言排行榜。 RedMonk 编程语言排行榜通过追踪编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,统计分析后进行排序,其旨在深入了解潜在的语言采用

2022-12-16

Akka 2.8.0 第二个开发版的里程碑版本现已发布。Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。2.6.0-M2 中值得注意的变更包括: chore:调整提交消息建议 #31755 将 sbt-java-for

2023-11-15

万份开发工作机会,以了解市场以及最热门、薪酬最高的编程语言。值得注意的是,本项研究只关注了来自美国的职位。在总共 1000 万个开发工作岗位中,有 130 万个有工资。在这 130 万个职位中,有 23 万个职位属于编程语言类

2022-03-24

出了一些最能激发雇主面试兴趣的软件开发技能。其中,编程语言 Go 连续两年位居需求技能榜首,精通 Go 的工程师收到的面试请求是市场平均水平的 1.8 倍。Hired 首席技术官 Dave Walters :“它的设计考虑到了简单性,但功能非

2023-08-24

自动化管理应用环境生命周期、传统部署模式增强、应用发布工作流及审批、配置漂移检测等 增强策略管控能力,如对存在风险的部署和配置进行自动拦截或告警 强化 AI 智能化场景,包括通过 AI 实现基于自然语言的

2023-08-03

,这是一门指令式、通用、多范式、静态类型、编译型的编程语言。 公告写道: 2.0 是 Nim 的一次进化,新版本的一项重要特性是将 ORC 内存管理作为默认设置,以及许多其他新功能和改进。 Nim 是一种适合各种用途的编程

2022-07-27

引入了大量重大升级,让体验更稳定、功能更丰富。 新发布的更新具有多项质量改进。通过 SSH 将笔记本电脑连接到安装在远程服务器中的 IntelliJ IDEA,获得流畅的开发者体验。 如果您使用 JetBrains Space 在新版本中高效地编排后

2022-10-05

Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 PMD 6.50 正式发布,本次更新内容如下: 新的和值得注意的变化 Lua 现在支持额外的 Luau 这个版本的 PMD 增加了对 Luau 的支持,Luau 是一种从 Lua 派生出来的语言。这意味着,PMD 中的 Lua

2022-08-07

Gradle 7.5.1 现已发布。Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目设

2022-07-20

为什么会有这么多编程语言? 在编程语言如此丰富的今天,相信许多开发者都有过上面的疑问。不过早在 1960 年代初,人们就已经提出了这个问题。 《ACM通讯》期刊近日发表了题为《Why Are There So Many Programming Languages?》的文章