Send people doing *library* stabilizations over to the std-dev-guide (#1317)
Co-authored-by: pierwill <19642016+pierwill@users.noreply.github.com>
This commit is contained in:
parent
c7e77e92c1
commit
4e3546bb57
|
|
@ -84,6 +84,9 @@ decision is to stabilize, we proceed to do the actual code modification.
|
||||||
|
|
||||||
## Stabilization PR
|
## Stabilization PR
|
||||||
|
|
||||||
|
*This is for stabilizing language features. If you are stabilizing a library
|
||||||
|
feature, see [the stabilization chapter of the std dev guide][std-guide-stabilization] instead.*
|
||||||
|
|
||||||
Once we have decided to stabilize a feature, we need to have
|
Once we have decided to stabilize a feature, we need to have
|
||||||
a PR that actually makes that stabilization happen. These kinds
|
a PR that actually makes that stabilization happen. These kinds
|
||||||
of PRs are a great way to get involved in Rust, as they take
|
of PRs are a great way to get involved in Rust, as they take
|
||||||
|
|
@ -96,6 +99,24 @@ require steps beyond what this guide talks about.
|
||||||
Note: Before we stabilize any feature, it's the rule that it
|
Note: Before we stabilize any feature, it's the rule that it
|
||||||
should appear in the documentation.
|
should appear in the documentation.
|
||||||
|
|
||||||
|
### Determining the stabilization version
|
||||||
|
|
||||||
|
The version in which the feature will be stabilized *must* match
|
||||||
|
the value of [the `src/version` file in `master`][src-version] when the PR is merged.
|
||||||
|
|
||||||
|
It's worth checking [the version schedule on the Forge][forge-versions] to see whether
|
||||||
|
changes are coming soon. You'll usually use the version labelled "Nightly".
|
||||||
|
"Nightly" is two versions higher than the current stable release,
|
||||||
|
since what's currently in beta will be the next stable release,
|
||||||
|
and any changes you're making now will be in the one after that.
|
||||||
|
|
||||||
|
No PR is merged instantly, so you'll want to be careful around release time.
|
||||||
|
The version bump happens [the Friday before][forge-release-process] the stable release,
|
||||||
|
not the same time as the release. So if you're opening a PR shortly before then,
|
||||||
|
be prepared to update the version, or consider just opening it for one version
|
||||||
|
higher than the current nightly, with a note saying not to merge until
|
||||||
|
after the upcoming version bump.
|
||||||
|
|
||||||
### Updating the feature-gate listing
|
### Updating the feature-gate listing
|
||||||
|
|
||||||
There is a central listing of feature-gates in
|
There is a central listing of feature-gates in
|
||||||
|
|
@ -119,14 +140,7 @@ When it is done, it should look like:
|
||||||
// note that we changed this
|
// note that we changed this
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that, the version number is updated to be the version number
|
(The version here is the one discussed in the previous section.)
|
||||||
of the stable release where this feature will appear. This can be
|
|
||||||
found by consulting [the forge](https://forge.rust-lang.org/), which will guide
|
|
||||||
you the next stable release number. You want to add 1 to that,
|
|
||||||
because the code that lands today will become go into beta on that
|
|
||||||
date, and then become stable after that. So, at the time of this
|
|
||||||
writing, the next stable release (i.e. what is currently beta) was
|
|
||||||
1.30.0, hence I wrote 1.31.0 above.
|
|
||||||
|
|
||||||
### Removing existing uses of the feature-gate
|
### Removing existing uses of the feature-gate
|
||||||
|
|
||||||
|
|
@ -184,6 +198,10 @@ if something { /* XXX */ }
|
||||||
```
|
```
|
||||||
|
|
||||||
[rust-lang/rust#32409]: https://github.com/rust-lang/rust/issues/32409
|
[rust-lang/rust#32409]: https://github.com/rust-lang/rust/issues/32409
|
||||||
|
[std-guide-stabilization]: https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html
|
||||||
|
[src-version]: https://github.com/rust-lang/rust/blob/master/src/version
|
||||||
|
[forge-versions]: https://forge.rust-lang.org/#current-release-versions
|
||||||
|
[forge-release-process]: https://forge.rust-lang.org/release/process.html
|
||||||
[`compiler/rustc_feature`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_feature/index.html
|
[`compiler/rustc_feature`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_feature/index.html
|
||||||
[The Reference]: https://github.com/rust-lang/reference
|
[The Reference]: https://github.com/rust-lang/reference
|
||||||
[The Book]: https://github.com/rust-lang/book
|
[The Book]: https://github.com/rust-lang/book
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue