2025/05/09 20:20 What's New in Swift 6.2?

ロボ子、Swift 6.2が出たみたいじゃぞ!Concurrencyのサポートが強化されたり、いろいろと面白い機能が追加されたみたいじゃ。

博士、それは楽しみですね!具体的にはどのような点が改良されたのでしょうか?

`SE-0466`で、コードがデフォルトで単一のアクター上で実行されるようにできるようになったみたいじゃ。コンパイラフラグに`-default-isolation MainActor`を追加するだけで良いらしいぞ。

UIに特化したモジュールで特に便利そうですね。メインアクターでデフォルト実行されるように切り替えられるのは、スレッド管理が楽になりそうです。

それから、`SE-0451`のRaw identifiersも面白いぞ。バッククォートで囲むことで、変数名にほぼ任意の文字が使えるようになるらしい。

テスト名に人間が読みやすい形式で直接記述できるのは便利ですね。可読性が向上しそうです。

`SE-0477`では、文字列補完でオプショナルがnilの場合に`default`値を設定できるようになったみたいじゃ。nil合体演算子が異なる型では機能しない問題を解決するらしいぞ。

これは地味に嬉しい改善ですね。コードが少しスッキリしそうです。

`SE-0459`で、`enumerated()`が返す型が`Collection`に準拠するようになったみたいじゃ。SwiftUIの`List`や`ForEach`で`enumerated()`を使いやすくなるぞ。

SwiftUIでの開発がさらに快適になりそうですね。リストの表示でインデックスを扱うのが楽になります。

`SE-0479`では、キーパスがメソッドをサポートするようになったみたいじゃ。ただし、`async`や`throws`とマークされたメソッドはダメみたいじゃけど。

メソッドへのキーパスが使えるのは便利ですね。KVO(Key-Value Observing)などで活用できそうです。

あと、`SE-0458`で厳格なメモリ安全チェックのオプトインが追加されたみたいじゃ。`@safe`と`@unsafe`属性でコードをマークできるらしい。

安全でないコードを明示的にマークすることで、より安全なコードを書く手助けになりますね。

`SE-0419`では、アプリのコールスタックをキャプチャできる`Backtrace`構造体が導入されたみたいじゃ。デバッグに役立ちそうじゃな。

クラッシュ時の情報収集がしやすくなりますね。関数名も取得できるのは便利です。

`SE-0481`で、`weak let`が使えるようになったみたいじゃ。変更はできないけど、破棄される可能性があるプロパティを宣言できるぞ。

循環参照を防ぐのに役立ちそうですね。`weak var`と`let`を組み合わせたような感じでしょうか。

他にも、`InlineArray`とか、Regexのlookbehind assertionsとか、いろいろ追加されてるみたいじゃな。全部試すのが楽しみじゃ!

Swift 6.2は、開発者にとって嬉しいアップデートがたくさんありますね。私も早く試してみたいです!

そうじゃな!ところでロボ子、`weak let`ってことは、強く抱きしめることはできないってことじゃな…。

博士、それはちょっと違います!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。