- 序文
- 1. エディションとは?
- 1.1. 新しいプロジェクトを作成する
- 1.2. 既存のプロジェクトのエディションを移行する
- 1.3. 発展的な移行戦略
- 2. Rust 2015
- 3. Rust 2018
- 3.1. パスとモジュールシステムへの変更
- 3.2. トレイト関数の匿名パラメータの非推奨化
- 3.3. 新しいキーワード
- 3.4. 推論変数への生ポインタに対するメソッドのディスパッチ
- 3.5. Cargo への変更
- 4. Rust 2021
- 4.1. Prelude への追加
- 4.2. デフォルトの Cargo のフィーチャリゾルバ
- 4.3. 配列に対する IntoIterator
- 4.4. クロージャはフィールドごとにキャプチャする
- 4.5. panic マクロの一貫性
- 4.6. 構文の予約
- 4.7. Raw lifetimes
- 4.8. 警告からエラーへの格上げ
- 4.9. マクロ規則における OR パターン
- 4.10. C-string literals
- 5. Rust 2024
- 5.1. 言語
- 5.1.1. RPIT lifetime capture rules
- 5.1.2. if let temporary scope
- 5.1.3. Tail expression temporary scope
- 5.1.4. Match ergonomics reservations
- 5.1.5. Unsafe extern blocks
- 5.1.6. Unsafe attributes
- 5.1.7. unsafe_op_in_unsafe_fn warning
- 5.1.8. Disallow references to static mut
- 5.1.9. Never type fallback change
- 5.1.10. Macro fragment specifiers
- 5.1.11. Missing macro fragment specifiers
- 5.1.12. gen keyword
- 5.1.13. Reserved syntax
- 5.2. 標準ライブラリ
- 5.2.1. Changes to the prelude
- 5.2.2. Add IntoIterator for Box<[T]>
- 5.2.3. Newly unsafe functions
- 5.3. Cargo
- 5.3.1. Cargo: Rust-version aware resolver
- 5.3.2. Cargo: Table and key name consistency
- 5.3.3. Cargo: Reject unused inherited default-features
- 5.4. Rustdoc
- 5.4.1. Rustdoc combined tests
- 5.4.2. Rustdoc nested include! change
- 5.5. Rustfmt
- 5.5.1. Rustfmt: Style edition
- 5.5.2. Rustfmt: Formatting fixes
- 5.5.3. Rustfmt: Raw identifier sorting
- 5.5.4. Rustfmt: Version sorting