issue_180 incorporated the review comments
This commit is contained in:
parent
e680f28d05
commit
ca9e6be0c6
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
# Request for stabilization
|
# Request for stabilization
|
||||||
|
|
||||||
Once an unstable feature has been well-tested with no outstanding
|
Once an unstable feature has been well-tested with no outstanding
|
||||||
|
|
@ -12,12 +11,31 @@
|
||||||
|
|
||||||
## Documentation PRs
|
## Documentation PRs
|
||||||
|
|
||||||
Prepare PRs to update documentations involing this new feature.
|
If any documentation for this feature exists, it should be
|
||||||
You need to submit PRs for repositories The Reference, The Book
|
in the `Unstable Book`, located at `src/doc/unstable-book`.
|
||||||
and Rust by Example.
|
If it exists, the page for the feature gate should be removed.
|
||||||
Maintainers of these repositories will keep these PRs open until
|
|
||||||
the whole stabilization process has completed. Meanwhile, we can
|
If there was documentation there, integrating it into the
|
||||||
proceed to the next step.
|
existing documentation is needed.
|
||||||
|
|
||||||
|
If there wasn't documentation there, it needs to be added.
|
||||||
|
|
||||||
|
Places that may need updated documentation:
|
||||||
|
|
||||||
|
[The Reference]: This must be updated, in full detail.
|
||||||
|
[The Book]: This may or may not need updating, depends.
|
||||||
|
If you're not sure, please open an issue on this repository
|
||||||
|
and it can be discussed.
|
||||||
|
standard library documentation: As needed. Language features
|
||||||
|
often don't need this, but if it's a feature that changes
|
||||||
|
how good examples are written, such as when `?` was added
|
||||||
|
to the language, updating examples is important.
|
||||||
|
[Rust by Example]: As needed.
|
||||||
|
|
||||||
|
Prepare PRs to update documentations invovling this new feature
|
||||||
|
for repositories mentioned above.Maintainers of these repositories
|
||||||
|
will keep these PRs open until the whole stabilization process
|
||||||
|
has completed. Meanwhile, we can proceed to the next step.
|
||||||
|
|
||||||
## Write a stabilization report
|
## Write a stabilization report
|
||||||
|
|
||||||
|
|
@ -75,18 +93,19 @@ macro. There should be an entry for the feature you are aiming to
|
||||||
stabilize, something like (this example is taken from
|
stabilize, something like (this example is taken from
|
||||||
[rust-lang/rust#32409]:
|
[rust-lang/rust#32409]:
|
||||||
|
|
||||||
```
|
```rust,ignore
|
||||||
// pub(restricted) visibilities (RFC 1422)
|
// pub(restricted) visibilities (RFC 1422)
|
||||||
(active, pub_restricted, "1.9.0", Some(32409)),
|
(active, pub_restricted, "1.9.0", Some(32409)),
|
||||||
```
|
```
|
||||||
|
|
||||||
The above line should be moved down to the area for "accepted"
|
The above line should be moved down to the area for "accepted"
|
||||||
features, declared below in a separate call to `declare_features!`.
|
features, declared below in a separate call to `declare_features!`.
|
||||||
When it is done, it should look like:
|
When it is done, it should look like:
|
||||||
|
|
||||||
```
|
```rust,ignore
|
||||||
// pub(restricted) visibilities (RFC 1422)
|
// pub(restricted) visibilities (RFC 1422)
|
||||||
(accepted, pub_restricted, "1.31.0", Some(32409)),
|
(accepted, pub_restricted, "1.31.0", Some(32409)),
|
||||||
// ^^^^^^ note that we changed this
|
// note that we changed this
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that, the version number is updated to be the version number
|
Note that, the version number is updated to be the version number
|
||||||
|
|
@ -120,7 +139,7 @@ stable). If the feature can be detected because it employs some
|
||||||
new syntax, then a common place for that code to be is in the
|
new syntax, then a common place for that code to be is in the
|
||||||
same `feature_gate.rs`. For example, you might see code like this:
|
same `feature_gate.rs`. For example, you might see code like this:
|
||||||
|
|
||||||
```
|
```rust,ignore
|
||||||
gate_feature_post!(&self, pub_restricted, span,
|
gate_feature_post!(&self, pub_restricted, span,
|
||||||
"`pub(restricted)` syntax is experimental");
|
"`pub(restricted)` syntax is experimental");
|
||||||
```
|
```
|
||||||
|
|
@ -131,7 +150,7 @@ now that `#[pub_restricted]` is stable.
|
||||||
|
|
||||||
For more subtle features, you may find code like this:
|
For more subtle features, you may find code like this:
|
||||||
|
|
||||||
```
|
```rust,ignore
|
||||||
if self.tcx.sess.features.borrow().pub_restricted { /* XXX */ }
|
if self.tcx.sess.features.borrow().pub_restricted { /* XXX */ }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -141,44 +160,16 @@ and true if it is. So transform the code to assume that the field
|
||||||
is true. In this case, that would mean removing the `if` and
|
is true. In this case, that would mean removing the `if` and
|
||||||
leaving just the `/* XXX */`.
|
leaving just the `/* XXX */`.
|
||||||
|
|
||||||
```
|
```rust,ignore
|
||||||
if self.tcx.sess.features.borrow().pub_restricted { /* XXX */ }
|
if self.tcx.sess.features.borrow().pub_restricted { /* XXX */ }
|
||||||
```
|
|
||||||
becomes
|
becomes
|
||||||
```rust
|
|
||||||
/* XXX */
|
/* XXX */
|
||||||
|
|
||||||
if self.tcx.sess.features.borrow().pub_restricted && something { /* XXX */ }
|
if self.tcx.sess.features.borrow().pub_restricted && something { /* XXX */ }
|
||||||
```
|
|
||||||
becomes
|
becomes
|
||||||
```rust
|
|
||||||
if something { /* XXX */ }
|
if something { /* XXX */ }
|
||||||
```
|
```
|
||||||
|
|
||||||
## Updating documentation
|
|
||||||
|
|
||||||
If any documentation for this feature exists, it should be
|
|
||||||
in the `Unstable Book`, located at `src/doc/unstable-book`.
|
|
||||||
If it exists, the page for the feature gate
|
|
||||||
should be removed.
|
|
||||||
|
|
||||||
If there was documentation there, integrating it into the
|
|
||||||
existing documentation is needed.
|
|
||||||
|
|
||||||
If there wasn't documentation there, it needs to be added.
|
|
||||||
|
|
||||||
Places that may need updated documentation:
|
|
||||||
|
|
||||||
[The Reference]: this must be updated, in full detail.
|
|
||||||
[The Book]: this may or may not need updating, depending.
|
|
||||||
If you're not sure, please open an issue on this repository
|
|
||||||
and it can be discussed.
|
|
||||||
standard library documentation: as needed. Language features
|
|
||||||
often don't need this, but if it's a feature that changes
|
|
||||||
how good examples are written, such as when `?` was added
|
|
||||||
to the language, updating examples is important.
|
|
||||||
[Rust by Example]: as needed.
|
|
||||||
|
|
||||||
[rust-lang/rust#32409]:https://github.com/rust-lang/rust/issues/32409
|
[rust-lang/rust#32409]:https://github.com/rust-lang/rust/issues/32409
|
||||||
[The Reference]: https://github.com/rust-lang-nursery/reference
|
[The Reference]: https://github.com/rust-lang-nursery/reference
|
||||||
[The Book]: https://github.com/rust-lang/book
|
[The Book]: https://github.com/rust-lang/book
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue