つみかさね
R

Rust v1.99.0

リリース日: 2026-10-02データソース: GitHub Releases, npm, endoflife.date
影響度スコア
42/ 100影響度: 中(言語機能の安定化と新lint)
Breaking Changes8/40
新機能18/25
バグ修正8/20
セキュリティ0/15
依存関係8/15

対応ガイド

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

推奨アクション

  1. 1テスト環境で1.99.0へ更新する(rustup update stable)
  2. 2cargo build / clippy で新lint・FCWの警告を確認する
  3. 3CIが通ることを確認してツールチェーンを切り替える

影響対象

Rust利用者

対応不要な人

  • ✓Rustを使用していない
  • ✓ツールチェーンのバージョンを固定して運用している
  • ✓すでに1.99以降を利用している

補足

  • -新しいlintとFCWにより警告が増える可能性があります。警告のうちに対応しておくと将来のアップグレードが楽になります
RustFFIlintlanguage

30秒で判断

  • 対応すべき人: Rust を利用しており、C ABI との連携(FFI)で可変長引数を扱う方、あるいは属性マクロをモジュール宣言に使いたい方。
  • 対応不要な人: Rust を使用していない方。安定版の追従を急がない方(ただし新しい lint・FCW による警告増加に注意)。
  • 確認コマンド: rustc --version(または cargo --version)で現在のバージョンを確認。

この変更が意味すること

Rust 1.99.0 は、言語機能の安定化と新しい lint の追加を含む minor リリースです。とくに C-variadic(C ABI の可変長引数)関数定義の安定化により、FFI 周りの表現力が向上します。

一方で、新しい lint の追加や「将来互換性警告(FCW: Future Compatibility Warning)」を伴う変更があるため、アップデート後にビルド時の警告が増える可能性があります。CI で警告内容を確認しながら追従すると安全です。

主な変更点

C-variadic 関数定義の安定化

可変長引数を取る C ABI 関数を定義できるようになりました(PR #155697)。あわせて、#[unsafe(naked)] 関数を用いた C-variadic 関数定義も安定化されています(PR #159746)。

#[my_macro] mod foo; の安定化

モジュール宣言に対して属性マクロを適用できる構文が安定化されました。マクロによるモジュール単位の処理が書きやすくなります。

新しい lint の追加・拡張

  • raw_borrows_via_references(allow-by-default): 参照が即座に raw borrow へ decay するケースを検出する lint を追加(PR #138230)。
  • unconditional_panic: chunks/windows のサイズが 0 で panic する関数呼び出しにも検出対象を拡張(PR #153563)。

never 型まわりの解決変更(FCW)

trait メソッドが調整済みの never 型で解決されるようになりました(将来互換性警告を伴う/PR #156047)。また、推論変数から trait オブジェクトへの coercion に関する変更も含まれます。

EOL / サポート状況

バージョンステータスEOL
1.99active未定
1.98active未定
1.97eol2026-08-20
1.96eol2026-07-09
1.95eol2026-05-28

Rust は stable が約6週間ごとに更新され、基本的に最新版への追従が推奨されます。1.97 以前はすでにサポート対象外です。

開発者への影響

  1. C ABI との FFI 連携で可変長引数を扱う場合、これまで unstable だった機能が stable で使えるようになります。
  2. 新しい lint と FCW により、既存コードで警告が増える可能性があります。アップデート後は警告内容を確認してください。
  3. #[my_macro] mod foo; を使うマクロ・コード生成の設計自由度が上がります。
  4. 破壊的な非互換は FCW として段階的に通知されるため、警告のうちに対応しておくと将来のアップグレードが楽になります。

アップデート方法

rustup update stable

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

アップデート後は cargo build / cargo clippy で新しい lint・FCW の警告を確認し、CI が通ることを検証してから本番のツールチェーンを切り替えてください。


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

!Breaking Changes (1件)

移行方法

アップデート判断

★★★★★
新機能・安定化を含むため追従を推奨

アップデートすべき場合

  • ●C ABIとのFFIで可変長引数を扱う
  • ●常に最新のstableに追従している

様子見でよい場合

  • ●Rustを使用していない
  • ●ツールチェーンのバージョンを固定して運用している

EOL / サポート状況

Rust 1.99Active
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
Xでシェアはてブ
データソース: GitHub Releases API, npm Registry, endoflife.date (MIT License), NVD (NIST)
AI解説は Claude API により自動生成されています。正確性については原文リリースノートをご確認ください。