つみかさね
R

Rust v1.97.0

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

対応ガイド

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

推奨アクション

  1. 1rustup update stable を実行して Rust 1.97.0 に更新
  2. 2cargo build / cargo test で既存プロジェクトの動作を確認
  3. 3必要に応じて #[warn(dead_code_pub_in_binary)] を有効化して未使用コードを検出

影響対象

Rust利用者全般

補足

  • -Breaking changes なし。rustup update stable で安全にアップデート可能
Rust安定化型システムlint言語

30秒で判断

  • 対応すべき人: Rust を使用している開発者全般。特に InfallibleUninhabited を Error 型として使用しているコードベース、バイナリクレートで公開 API を定義しているプロジェクト
  • 対応不要な人: Rust を使用していないプロジェクト。breaking change はないため既存コードへの影響なし
  • 確認コマンド: rustc --version

この変更が意味すること

Rust 1.97.0 は 2026年7月9日にリリースされたマイナーバージョンです。型システムの精緻化と開発体験の向上を中心とした安定化が複数含まれています。

最も注目すべきは Result<T, Uninhabited>ControlFlow<Uninhabited, T>must_use lint の観点から T と等価に扱われるようになった点です。エラーが絶対に発生しない型を返す関数の呼び出しコードで、これまで不要だった警告が出なくなり、コードがよりクリーンになります。

バイナリクレート向けに dead_code_pub_in_binary lint が追加されました。ライブラリとバイナリを混在させたクレートで、実際には使われていない pub 宣言を検出するのに役立ちます。

主な変更点

Result<T, Uninhabited> / ControlFlow<Uninhabited, T> の T 等価化

Infallible(または !)を Error 型として使用した場合、その Result は事実上失敗しないにもかかわらず must_use lint が警告を出していました。1.97.0 からはこれらの型が T 相当として扱われるため、余分な .unwrap()let _ = が不要になります(PR #148214)。

dead_code_pub_in_binary lint 追加

バイナリクレートで pub と宣言されているにもかかわらず使用されていないアイテムを検出する lint です。デフォルトでは allow ですが、#[warn(dead_code_pub_in_binary)]#[deny(...)] で有効化できます(PR #149509)。

ターゲット機能の安定化

  • div32lam-bhlamcasld-seq-sascq — 各アーキテクチャ固有命令のサポートが安定版へ(PR #154510
  • cfg(target_has_atomic_primitive_alignment) — アトミック操作のプリミティブアライメント確認がコンパイル時に可能に(PR #155006

インポートでの末尾 self 拡張

use path::to::module::{self} の書き方がより多くのコンテキストで受け入れられるようになりました(PR #155137)。

プラットフォームサポート変更

nvptx64-nvidia-cuda ターゲットで古いアーキテクチャ(旧 GPU ISA)のサポートが削除されました。CUDA 開発者はターゲットアーキテクチャを確認してください。

EOL / サポート状況

Rust は rolling-release モデルのため、最新の stable が推奨バージョンです。

サイクルステータスリリース日
1.97✅ 現行 stable2026-07-09
1.96旧バージョン2026-05-28(EOL: 1.97リリースと同時)
1.95❌ EOL2026-04-16
1.94❌ EOL2026-03-06

開発者への影響

  1. Result<T, Infallible> を返す関数の戻り値を無視していたコードで余分な警告が解消される
  2. バイナリクレートのコード品質向上に dead_code_pub_in_binary lint を活用できる
  3. breaking change なし — 既存コードはそのまま動作

アップデート方法

rustup update stable
rustc --version  # rustc 1.97.0 になることを確認

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

アップデート判断

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

アップデートすべき場合

  • Result<T, Infallible> 型を多用しているコードベース
  • バイナリクレートで未使用 pub アイテムを整理したい場合
  • 安定版の最新機能を使いたいすべての Rust 開発者

様子見でよい場合

  • 安定して動作しており急ぎの要件がない場合
  • 大規模プロジェクトで検証期間を設けたい場合

EOL / サポート状況

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