From d52c408d8dc456f6e3da4ebdd7b26abec4dbb6a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Campinas?= Date: Sun, 31 Mar 2019 22:27:15 +0200 Subject: [PATCH 1/3] add document describing rustfmt's stabilisation process --- Processes.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 Processes.md diff --git a/Processes.md b/Processes.md new file mode 100644 index 00000000000..ccdb65f29ad --- /dev/null +++ b/Processes.md @@ -0,0 +1,22 @@ +This document outlines processes regarding management of rustfmt. + +# Stabilising an Option + +In this Section, we describe how to stabilise an option of the rustfmt's configration. + +## Conditions + +- The option is well tested, both in unit tests and, optimally, in real usage. +- There is no open bug about the option that prevents its use. + +## Steps + +Open a pull request that closes the tracking issue. The tracking issue is listed beside the option in `Configurations.md`. + +- Update the `Config` enum marking the option as stable. +- Update the the `Configuration.md` file marking the option as stable. +- Update the unstable options wiki page: https://github.com/rust-lang/rustfmt/wiki/Stability-of-Config-Options . + +## After the stabilisation + +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. From 28dfd0ab5990d6ceeabe6d65573881717dab3752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Campinas?= Date: Thu, 18 Apr 2019 09:37:53 +0200 Subject: [PATCH 2/3] no need to main the separate wiki page no need to maintain a separate page for the options given the new configuration browser --- Processes.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Processes.md b/Processes.md index ccdb65f29ad..92bf552537a 100644 --- a/Processes.md +++ b/Processes.md @@ -15,7 +15,6 @@ Open a pull request that closes the tracking issue. The tracking issue is listed - Update the `Config` enum marking the option as stable. - Update the the `Configuration.md` file marking the option as stable. -- Update the unstable options wiki page: https://github.com/rust-lang/rustfmt/wiki/Stability-of-Config-Options . ## After the stabilisation From c7d6dc49638bff3a0e1d1543f76afe1e697bd55c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Campinas?= Date: Thu, 9 May 2019 00:05:53 +0200 Subject: [PATCH 3/3] add a condition to the stabilisation process of a option on its design being sound --- Processes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Processes.md b/Processes.md index 92bf552537a..717ce4e5c5a 100644 --- a/Processes.md +++ b/Processes.md @@ -6,6 +6,7 @@ In this Section, we describe how to stabilise an option of the rustfmt's configr ## Conditions +- The design and implementation of the option are sound and clean. - The option is well tested, both in unit tests and, optimally, in real usage. - There is no open bug about the option that prevents its use.