つみかさね
R

Rust v1.98.0

リリース日: 2026-08-22データソース: GitHub Releases, npm, endoflife.date
影響度スコア
35/ 100影響度: 中
Breaking Changes10/40
新機能15/25
バグ修正5/20
セキュリティ0/15
依存関係5/15

対応ガイド

medium|推奨新機能追加影響: 限定的

推奨アクション

  1. 1rustup update stable でツールチェインを更新する
  2. 2新lintによる警告・エラーの有無をビルドで確認する
  3. 3問題がなければCI・本番のツールチェインを更新する

影響対象

Rust利用者ランタイムシンボルを定義するcrateFFI利用者

対応不要な人

  • Rustを使用していない
  • toolchainを固定しており、ランタイムシンボル定義やc_void戻り値に該当するコードがない場合

補足

  • -1.97はEOLのため、最新安定版への追随を推奨します
  • -deny-by-defaultのlint追加でビルドが失敗する可能性がある点に注意してください
Rustlintライフタイムlanguageマイナーリリース

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.981.98.0現行
1.971.97.12026-08-20(EOL済)
1.961.96.12026-07-09(EOL済)
1.951.95.02026-05-28(EOL済)
1.941.94.12026-04-16(EOL済)

開発者への影響

  1. ランタイムシンボルを独自定義している crate: invalid_runtime_symbol_definitions(deny-by-default)によりビルドエラーになる可能性があります。該当箇所を確認してください
  2. FFI で c_void を扱うコード: c_void_returns の警告が出る場合があります
  3. ライフタイムを扱う高度なジェネリックコード: unsize 型強制の緩和により、これまでコンパイルできなかったパターンが通るようになります
  4. 1.97 以前の利用者: 1.97 が EOL となったため、1.98 への更新を推奨します

アップデート方法

# rustup 経由で更新
rustup update stable

# バージョン確認
rustc --version

データソース: GitHub Releases API, endoflife.date
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

!Breaking Changes (1件)

移行方法

アップデート判断

早めのアップデートを推奨

アップデートすべき場合

  • 1.97以前を利用中(EOLのため)
  • 最新の言語緩和・lintを取り込みたいチーム

様子見でよい場合

  • toolchainを固定しており次の定期更新まで待てる場合
  • ランタイムシンボルやc_voidに関わるコードがない場合

EOL / サポート状況

Rust 1.98Active
Rust 1.97End of LifeEOL: 2026-08-20
Rust 1.96End of LifeEOL: 2026-07-09
Rust 1.95End of LifeEOL: 2026-05-28
Rust 1.94End of LifeEOL: 2026-04-16
Xでシェアはてブ
データソース: GitHub Releases API, npm Registry, endoflife.date (MIT License), NVD (NIST)
AI解説は Claude API により自動生成されています。正確性については原文リリースノートをご確認ください。