Swift Digest
Blog | Swift.org Blog

Swift 5.3 リリース

Swift 5.3 released!

このダイジェストはClaude Opus 4.7 / 4.8によって生成されたものです(License)。原文はこちら

この記事の要点

主な変更点

言語・標準ライブラリの更新

Swift 5.3 では、Swift Evolution プロセスを経た次の Proposal が実装されました。ボイラープレートや冗長なコードを減らし、より多くの機能をライブラリ側で定義できるようにする洗練が中心です。

このほか、よく報告されていたコンパイラの制限もいくつか修正されました。プロトコル要件への未適用参照(unapplied reference)のサポート、lazy プロパティでの didSet / willSet の定義、関連型を持つプロトコルに適合するジェネリッククラスでのデフォルト実装の利用などです。

ランタイム性能の改善

Swift 5.3 は、バイナリのコードサイズと実行時メモリ使用量を大きく改善しました。

コードサイズの改善は、コンパイラが値型の生成・コピー・破棄のために生成する「value functions」の縮小によるもので、型を多く宣言するプロジェクト(特に SwiftUI アプリ)で効果が大きくなります。またランタイムの改善によりプロトコル適合などの起動時キャッシュが減り、Swift で書いたアプリの heap メモリ使用量が同等の Objective-C プログラムより少なくなりうるとされています。

開発体験の改善

Swift Package Manager の更新

Swift 利用者への影響

関連リンク