- Introduction
- 1. What are editions?
- 1.1. Creating a new project
- 1.2. Transitioning an existing project to a new edition
- 1.3. Advanced migrations
- 2. Rust 2015
- 3. Rust 2018
- 3.1. Path and module system changes
- 3.2. Anonymous trait function parameters deprecated
- 3.3. New keywords
- 3.4. Method dispatch for raw pointers to inference variables
- 3.5. Cargo changes
- 4. Rust 2021
- 4.1. Additions to the prelude
- 4.2. Default Cargo feature resolver
- 4.3. IntoIterator for arrays
- 4.4. Disjoint capture in closures
- 4.5. Panic macro consistency
- 4.6. Reserved syntax
- 4.7. Raw lifetimes
- 4.8. Warnings promoted to errors
- 4.9. Or patterns in macro-rules
- 4.10. C-string literals
- 5. Rust 2024 🚧
- 5.1. Additions to the prelude
- 5.2. Add IntoIterator for Box<[T]>
- 5.3. Newly unsafe functions
- 5.4. unsafe_op_in_unsafe_fn warning
- 5.5. RPIT lifetime capture rules
- 5.6. Disallow references to static mut
- 5.7. Cargo: Rust-version aware resolver
- 5.8. Cargo: Table and key name consistency
- 5.9. Cargo: Reject unused inherited default-features
- 5.10. Rustfmt: Combine all delimited exprs as last argument
- 5.11. Rustfmt: Raw identifier sorting
- 5.12. Rustfmt: Style Edition
- 5.13. gen keyword
- 5.14. Macro fragment specifiers
- 5.15. Missing macro fragment specifiers
- 5.16. Never type fallback change
- 5.17. Unsafe extern blocks
- 5.18. Unsafe attributes
- 5.19. Rustdoc combined tests
- 5.20. Rustdoc nested include! change
- 5.21. Reserved syntax