つみかさね
R

Rust v1.95.0

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

対応ガイド

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

推奨アクション

  1. 1テスト環境でRust 1.95.0へアップデート
  2. 2const-eval挙動変更によるビルドエラーがないか確認
  3. 3本番環境に適用
  4. 4if letガードの活用箇所をリファクタリング検討

影響対象

Rust利用者PowerPCターゲット利用者

補足

  • -const ブロックによる暗黙的プロモーションの挙動変更あり — ビルド確認を推奨
Rustパターンマッチif letPowerPCconst-eval

この変更が意味すること

Rust 1.95.0 がリリースされました。最大の目玉は if let ガードの安定化です。match アームで if let を使った条件マッチングが正式にサポートされ、これまで回りくどく書く必要があったパターンがシンプルに表現できるようになります。

また PowerPC/PowerPC64 向けインラインアセンブリの安定化や、const-eval の挙動改善など、言語基盤の強化も進んでいます。const ブロックによる暗黙的プロモーションの挙動変更があるため、既存コードへの影響確認を推奨します。

主な変更点

if let ガードの安定化

match アームで if let ガードが使えるようになりました。これまで if ガードとネストした match を組み合わせて書いていたパターンが、1つのアームでシンプルに書けます。

match value {
    Some(x) if let Ok(y) = x.parse::<i32>() => {
        println!("parsed: {y}");
    }
    _ => {}
}

PR: #141295

irrefutable_let_patterns リントの改善

irrefutable_let_patterns リントが let chain ではリントを出さなくなりました。これにより、let chain 内での論理条件の組み合わせがより自然に書けます。

PR: #146832

パスセグメントキーワードのリネームインポート

use 文でパスセグメントキーワードをリネーム付きでインポートできるようになりました。

PR: #146972

PowerPC/PowerPC64 インラインアセンブリの安定化

PowerPC および PowerPC64 向けのインラインアセンブリが安定化されました。組み込みシステムやレガシーアーキテクチャでのRust利用がより実用的になります。

PR: #147996

const-eval の挙動変更

typed copy 時の padding の扱いがより一貫したものに改善されました。また、const ブロックの結果に依存する暗黙的な定数プロモーションが行われなくなりました。fallible な操作を含む式の暗黙的プロモーションに依存していたコードは影響を受ける可能性があります。

PR: #148967#150557

パターンマッチの操作セマンティクス改善

パターンマッチの操作セマンティクスが crate や module に依存しなくなりました。どこで定義されたパターンでも一貫した挙動になります。

EOL / サポート状況

サイクル最新バージョンEOL
1.951.95.0- (現行)
1.941.94.1- (前バージョン)
1.931.93.12026-03-06 (EOL済)
1.921.92.02026-01-22 (EOL済)
1.911.91.12025-12-11 (EOL済)

Rust は 6週間ごとのリリースサイクルで、最新の安定版のみがサポート対象です。1.94 以前を使っている場合は 1.95.0 へのアップデートを推奨します。

開発者への影響

  1. パターンマッチ多用者: if let ガードにより match 式がシンプルに書けるケースが増えます。既存コードのリファクタリングを検討する価値があります
  2. const-eval 依存コード: const ブロックによる暗黙的プロモーションの挙動が変更されています。const {} に依存した定数プロモーションを使っている場合はビルド確認が必要です
  3. PowerPC ターゲット利用者: インラインアセンブリが安定化されたため、#![feature(asm)] が不要になります
  4. 1.93 以前の利用者: EOL済のため、セキュリティ修正を受けるには 1.95.0 へのアップデートが必要です

アップデート方法

# rustup を利用している場合
rustup update stable

# バージョン確認
rustc --version
# rustc 1.95.0 (XXXX 2026-04-16)

# 特定バージョンの指定
rustup install 1.95.0
rustup default 1.95.0

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

!Breaking Changes (2件)

const ブロックによる暗黙的な定数プロモーションが行われなくなった。fallible操作を含む式の暗黙的プロモーションに依存するコードは影響を受ける可能性あり。

移行方法

パターンマッチの操作セマンティクスがcrate/moduleに依存しなくなった。

移行方法

アップデート判断

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

アップデートすべき場合

  • if letガードを活用したい場合
  • PowerPC/PowerPC64ターゲットでインラインアセンブリを使いたい場合
  • 1.93以前のEOL済バージョンを使用している場合

様子見でよい場合

  • const-eval挙動変更の影響調査が必要な場合
  • 大規模プロジェクトで段階的な移行を計画している場合

EOL / サポート状況

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