30秒で判断
- 対応すべき人: Rust を利用しているすべてのプロジェクト。特に
coreのランタイムシンボル(memcmp等)を独自定義している crate や、FFI でc_voidを戻り値に使うコード。 - 対応不要な人: 直近で toolchain を固定していて、次の定期更新まで 1.97 系のままで問題ないチーム(ただし 1.97 は EOL 済みの点に留意)。
- 確認コマンド:
rustc --version
この変更が意味すること
Rust 1.98.0 は安定版チャンネルの定期リリースです。言語仕様の小さな緩和と、新しい lint の追加が中心で、破壊的な大変更はありません。ただし新規に追加された deny-by-default の lint により、core のランタイムシンボルを独自定義しているコードではビルドエラーになる可能性があるため注意してください。
Rust は6週間サイクルで最新安定版のみをサポートします。本リリースに伴い 1.97 系は 2026-08-20 で EOL となったため、1.97 以前を利用している場合は 1.98 への追随が推奨されます。
主な変更点
&mut のライフタイム短縮を緩和
unsize 型強制(unsize-coercion)の際に、不変(invariant)な位置であっても &mut のライフタイムを短縮できるようになりました。例えば Cell<&'long mut i32> を Cell<&'short mut dyn Send> へ型強制できます。これらの短縮は、これまで &mut を & に強制する場合などでは既に許可されていました。
PR: #149219
ランタイムシンボル定義向けの新 lint
memcmp / memset / strlen など core のランタイムシンボルを対象に、以下の lint が追加されました。今後のリリースで対象は拡張予定です。
invalid_runtime_symbol_definitions(deny-by-default)suspicious_runtime_symbol_definitions(warn-by-default)
PR: #155521
c_void_returns lint の追加
core::ffi::c_void を戻り値型として使うケースを検出する warn-by-default の c_void_returns lint が追加されました。
PR: #156379
プラットフォームサポート
powerpc64-unknown-linux-gnuelfv2 が Tier 3 として追加されました。
EOL / サポート状況
Rust は最新安定版のみをサポートする方針です。
| サイクル | 最新バージョン | ステータス |
|---|---|---|
| 1.98 | 1.98.0 | 現行 |
| 1.97 | 1.97.1 | 2026-08-20(EOL済) |
| 1.96 | 1.96.1 | 2026-07-09(EOL済) |
| 1.95 | 1.95.0 | 2026-05-28(EOL済) |
| 1.94 | 1.94.1 | 2026-04-16(EOL済) |
開発者への影響
- ランタイムシンボルを独自定義している crate:
invalid_runtime_symbol_definitions(deny-by-default)によりビルドエラーになる可能性があります。該当箇所を確認してください - FFI で
c_voidを扱うコード:c_void_returnsの警告が出る場合があります - ライフタイムを扱う高度なジェネリックコード: unsize 型強制の緩和により、これまでコンパイルできなかったパターンが通るようになります
- 1.97 以前の利用者: 1.97 が EOL となったため、1.98 への更新を推奨します
アップデート方法
# rustup 経由で更新
rustup update stable
# バージョン確認
rustc --version
データソース: GitHub Releases API, endoflife.date
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
