diff options
| author | Josh Triplett <josh@joshtriplett.org> | 2023-07-05 19:59:28 -0700 |
|---|---|---|
| committer | Josh Triplett <josh@joshtriplett.org> | 2023-07-31 17:11:47 -0700 |
| commit | 0217565e247f9c1956313278d27c6bf0a7c44b0b (patch) | |
| tree | 318169abb46f003e25fd3cc84eff68c29913f457 | |
| parent | c39995485f57083873682ff4032ea1ebb8f51ae9 (diff) | |
| download | rust-0217565e247f9c1956313278d27c6bf0a7c44b0b.tar.gz rust-0217565e247f9c1956313278d27c6bf0a7c44b0b.zip | |
style-guide: Document style editions, start 2024 style edition
Link to a snapshot for the 2015/2018/2021 style edition.
| -rw-r--r-- | src/doc/style-guide/src/SUMMARY.md | 1 | ||||
| -rw-r--r-- | src/doc/style-guide/src/editions.md | 44 |
2 files changed, 45 insertions, 0 deletions
diff --git a/src/doc/style-guide/src/SUMMARY.md b/src/doc/style-guide/src/SUMMARY.md index 606485bfb6c..64540c3997c 100644 --- a/src/doc/style-guide/src/SUMMARY.md +++ b/src/doc/style-guide/src/SUMMARY.md @@ -9,4 +9,5 @@ - [Other style advice](advice.md) - [`Cargo.toml` conventions](cargo.md) - [Guiding principles and rationale](principles.md) +- [Rust style editions](editions.md) - [Nightly-only syntax](nightly.md) diff --git a/src/doc/style-guide/src/editions.md b/src/doc/style-guide/src/editions.md new file mode 100644 index 00000000000..e9a91d0507a --- /dev/null +++ b/src/doc/style-guide/src/editions.md @@ -0,0 +1,44 @@ +# Rust style editions + +The default Rust style evolves over time, as Rust does. However, to avoid +breaking established code style, and CI jobs checking code style, changes to +the default Rust style only appear in *style editions*. + +Code written in a given Rust edition uses the corresponding Rust style edition +by default. To make it easier to migrate code style separately from the +semantic changes between Rust editions, formatting tools such as `rustfmt` +allow updating the style edition separately from the Rust edition. + +The current version of the style guide describes the latest Rust style edition. +Each distinct past style will have a corresponding archived version of the +style guide. + +Note that archived versions of the style guide do not document formatting for +newer Rust constructs that did not exist at the time that version of the style +guide was archived. However, each style edition will still format all +constructs valid in that Rust edition, with the style of newer constructs +coming from the first subsequent style edition providing formatting rules for +that construct (without any of the systematic/global changes from that style +edition). + +Not all Rust editions have corresponding changes to the Rust style. For +instance, Rust 2015, Rust 2018, and Rust 2021 all use the same style edition. + +## Rust 2024 style edition + +This style guide describes the Rust 2024 style edition. The Rust 2024 style +edition is currently nightly-only and may change before the release of Rust +2024. + +For a full history of changes in the Rust 2024 style edition, see the git +history of the style guide. Notable changes in the Rust 2024 style edition +include: + +- Miscellaneous `rustfmt` bugfixes. + +## Rust 2015/2018/2021 style edition + +The archived version of the style guide at +<https://github.com/rust-lang/rust/tree/37343f4a4d4ed7ad0891cb79e8eb25acf43fb821/src/doc/style-guide/src> +describes the style edition corresponding to Rust 2015, Rust 2018, and Rust +2021. |
