Asayomu Tech
注目★★★★★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型は値を生成しない処理を表すため、必要に応じて戻り値型を明示すれば対応できる可能性がある。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。