注目★★★★★Lobsters
Rust 1.99でnever型を安定化、型推論の破壊的変更に対応
30秒で把握
- 1Rust 1.99でnever型を安定化しInfallibleを型エイリアス化
- 2craterで3,300クレートに影響、完全破損は7件に限定
- 3型フォールバック変更で一部コードに型指定が必要
要約
Rustは1.99でnever型(!)を安定化し、標準ライブラリのInfallibleを!の型エイリアスに変更する。never型は決して値を返さない処理を表し、任意の型へ暗黙変換できるため、不要なエラー分岐やデッドコードを削減できる。変更に伴い、型推論のフォールバックが従来の()から!へ変わり、型情報が不足するジェネリック関数呼び出しなどがコンパイルエラーになる場合がある。craterでは3,300クレートへの影響が確認され、完全に壊れたのは7件だった。Rust 1.99で問題が発生した場合は、依存関係の更新、戻り値型の明示、またはRust 1.98の利用で対応できる。
あなたへの影響
Rust 1.99へ更新する日本の開発チームは、CIで依存クレートを検証し、型推論に依存する関数呼び出しのコンパイルエラーを確認すること。
推奨:never型は値を生成しない処理を表すため、必要に応じて戻り値型を明示すれば対応できる可能性がある。