この変更が意味すること
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 な操作を含む式の暗黙的プロモーションに依存していたコードは影響を受ける可能性があります。
パターンマッチの操作セマンティクス改善
パターンマッチの操作セマンティクスが crate や module に依存しなくなりました。どこで定義されたパターンでも一貫した挙動になります。
EOL / サポート状況
| サイクル | 最新バージョン | EOL |
|---|---|---|
| 1.95 | 1.95.0 | - (現行) |
| 1.94 | 1.94.1 | - (前バージョン) |
| 1.93 | 1.93.1 | 2026-03-06 (EOL済) |
| 1.92 | 1.92.0 | 2026-01-22 (EOL済) |
| 1.91 | 1.91.1 | 2025-12-11 (EOL済) |
Rust は 6週間ごとのリリースサイクルで、最新の安定版のみがサポート対象です。1.94 以前を使っている場合は 1.95.0 へのアップデートを推奨します。
開発者への影響
- パターンマッチ多用者:
if letガードによりmatch式がシンプルに書けるケースが増えます。既存コードのリファクタリングを検討する価値があります - const-eval 依存コード: const ブロックによる暗黙的プロモーションの挙動が変更されています。
const {}に依存した定数プロモーションを使っている場合はビルド確認が必要です - PowerPC ターゲット利用者: インラインアセンブリが安定化されたため、
#![feature(asm)]が不要になります - 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 により自動生成されています。正確性については原文をご確認ください。
