Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit d52c408

Browse files
committed
add document describing rustfmt's stabilisation process
1 parent 7650f0b commit d52c408

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

Processes.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
This document outlines processes regarding management of rustfmt.
2+
3+
# Stabilising an Option
4+
5+
In this Section, we describe how to stabilise an option of the rustfmt's configration.
6+
7+
## Conditions
8+
9+
- The option is well tested, both in unit tests and, optimally, in real usage.
10+
- There is no open bug about the option that prevents its use.
11+
12+
## Steps
13+
14+
Open a pull request that closes the tracking issue. The tracking issue is listed beside the option in `Configurations.md`.
15+
16+
- Update the `Config` enum marking the option as stable.
17+
- Update the the `Configuration.md` file marking the option as stable.
18+
- Update the unstable options wiki page: https://github.com/rust-lang/rustfmt/wiki/Stability-of-Config-Options .
19+
20+
## After the stabilisation
21+
22+
The option should remain backward-compatible with previous parameters of the option. For instance, if the option is an enum `enum Foo { Alice, Bob }` and the variant `Foo::Bob` is removed/renamed, existing use of the `Foo::Bob` variant should map to the new logic. Breaking changes can be applied under the condition they are version-gated.

0 commit comments

Comments
 (0)