Scala 2.13.11 がリリースされました。これは、一般的なプログラミング パターンを簡潔かつエレガントでタイプ セーフな方法で表現することを目的とした、最新のマルチパラダイム プログラミング言語です。このバージョンのアップデートのハイライトは次のとおりです。
コレクション
互換性
- ASM 9.5 ( #10363、#10184 )にアップグレードすることで JDK 20 および 21 をサポートします。
- JDK 21 クラス ファイルの読み取り時のクラッシュを修正 ( #10397 )
- Java ソース コードおよびクラス ファイルで Java 17 をサポート
sealed
( #10348、#10105 ) - TASTy リーダーで Scala 3.3 をサポート ( #10299 )
Scala 3との整合性
- Scala 3 のようなラムダで Accept
implicit _
を受け入れますimplicit (x: Int)
( #10327 ) - Scala 3 で削除されたため、中置型引数を非推奨にする ( #10255 )
- 依存型を持つメソッドの eta 展開を許可する ( #10166 )
- 抽象親コピーがケースを一時停止しない
copy
( #10085 ) - タイプモード GLB バインダーを使用せず、タイプを直接使用してください ( #10247 )
- -Xsource:3 では、継承されたメンバーが Scala 3 の外部定義より優先されなくなったことを警告します ( #10220、#10339 )
- -Xsource:3 で、ホワイトボックス マクロ拡張オーバーレイ タイプを無視するように 2.13.9 の変更を調整します ( #10188 )
- -Xsource:3 で、ラムダの括弧のない変更について警告します ( #10320 )
その他の注目すべき変更点
- super が vals にバインドされた mixin を呼び出すのを無効にする ( #10268 )
- スペースや改行を処理する際の scalac のパラメータ ファイル処理を javac に近づける ( #10319 )
- JLine および JNA バージョンをアップグレードする ( #10318 )
javabootclasspath
置き換えられましたjrt
( #10336 )- 標準エラー出力で合計エラーを報告する ( #10272 )
- 2.13.7 以降、一部のパターン マッチングのコンパイル速度が遅い問題を修正 ( #10258 )
- 再度
IterableWrapper
提供(2.13.9 回帰equals
をhashCode
修正) ( #10205 ) - 改善
-Vimplicits
; エラーは完全な暗黙的検索ツリーを表示するようになりました ( #9944 ) -Vprint
デフォルトは; フェーズは「前後」を意味する接頭語として-Vprint:typer
使用できます( #10173 )~
2.13.11 には、 Scala 2.12.18 の変更もいくつか含まれています。(JDK 20 および 21 の互換性に関する問題など、最も重要な問題のいくつかは上にリストされています。)
2.13.11 の変更点の完全なリストについては、すべてのマージされた PR およびすべてのクローズされたバグを参照してください。
既知の問題点
いくつかの回帰が見つかりました:
- 徹底的なチェッカーは、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