Fix links and paths
This commit is contained in:
parent
96847cff24
commit
38d8573b00
|
|
@ -28,7 +28,7 @@ Rust, as well as publications about Rust.
|
||||||
* [A Java fork/join calamity](http://www.coopsoft.com/ar/CalamityArticle.html) - critique of Java's fork/join library, particularly its application of work stealing to non-strict computation
|
* [A Java fork/join calamity](http://www.coopsoft.com/ar/CalamityArticle.html) - critique of Java's fork/join library, particularly its application of work stealing to non-strict computation
|
||||||
* [Scheduling techniques for concurrent systems](http://www.stanford.edu/~ouster/cgi-bin/papers/coscheduling.pdf)
|
* [Scheduling techniques for concurrent systems](http://www.stanford.edu/~ouster/cgi-bin/papers/coscheduling.pdf)
|
||||||
* [Contention aware scheduling](http://www.blagodurov.net/files/a8-blagodurov.pdf)
|
* [Contention aware scheduling](http://www.blagodurov.net/files/a8-blagodurov.pdf)
|
||||||
* [Balanced work stealing for time-sharing multicores](http://www.cse.ohio-state.edu/hpcs/WWW/HTML/publications/papers/TR-12-1.pdf)
|
* [Balanced work stealing for time-sharing multicores](https://web.njit.edu/~dingxn/papers/BWS.pdf)
|
||||||
* [Three layer cake for shared-memory programming](http://dl.acm.org/citation.cfm?id=1953616&dl=ACM&coll=DL&CFID=524387192&CFTOKEN=44362705)
|
* [Three layer cake for shared-memory programming](http://dl.acm.org/citation.cfm?id=1953616&dl=ACM&coll=DL&CFID=524387192&CFTOKEN=44362705)
|
||||||
* [Non-blocking steal-half work queues](http://www.cs.bgu.ac.il/%7Ehendlerd/papers/p280-hendler.pdf)
|
* [Non-blocking steal-half work queues](http://www.cs.bgu.ac.il/%7Ehendlerd/papers/p280-hendler.pdf)
|
||||||
* [Reagents: expressing and composing fine-grained concurrency](https://aturon.github.io/academic/reagents.pdf)
|
* [Reagents: expressing and composing fine-grained concurrency](https://aturon.github.io/academic/reagents.pdf)
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ a new unstable feature:
|
||||||
2. Pick a name for the feature gate (for RFCs, use the name
|
2. Pick a name for the feature gate (for RFCs, use the name
|
||||||
in the RFC).
|
in the RFC).
|
||||||
|
|
||||||
3. Add a feature gate declaration to `libsyntax/feature_gate/active.rs`
|
3. Add a feature gate declaration to `librustc_feature/active.rs`
|
||||||
in the active `declare_features` block:
|
in the active `declare_features` block:
|
||||||
|
|
||||||
```rust,ignore
|
```rust,ignore
|
||||||
|
|
@ -158,7 +158,8 @@ a new unstable feature:
|
||||||
|
|
||||||
For features introducing new syntax, pre-expansion gating should be used instead.
|
For features introducing new syntax, pre-expansion gating should be used instead.
|
||||||
To do so, extend the [`GatedSpans`] struct, add spans to it during parsing,
|
To do so, extend the [`GatedSpans`] struct, add spans to it during parsing,
|
||||||
and then finally feature-gate all the spans in [`feature_gate::check::check_crate`].
|
and then finally feature-gate all the spans in
|
||||||
|
[`rustc_ast_passes::feature_gate::check_crate`].
|
||||||
|
|
||||||
5. Add a test to ensure the feature cannot be used without
|
5. Add a test to ensure the feature cannot be used without
|
||||||
a feature gate, by creating `feature-gate-$feature_name.rs`
|
a feature gate, by creating `feature-gate-$feature_name.rs`
|
||||||
|
|
@ -175,7 +176,7 @@ a new unstable feature:
|
||||||
implemented a feature in Rust!
|
implemented a feature in Rust!
|
||||||
|
|
||||||
[`GatedSpans`]: https://doc.rust-lang.org/nightly/nightly-rustc/syntax/sess/struct.GatedSpans.html
|
[`GatedSpans`]: https://doc.rust-lang.org/nightly/nightly-rustc/syntax/sess/struct.GatedSpans.html
|
||||||
[`feature_gate::check::check_crate`]: https://doc.rust-lang.org/nightly/nightly-rustc/syntax/feature_gate/check/fn.check_crate.html
|
[`rustc_ast_passes::feature_gate::check_crate`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast_passes/feature_gate/fn.check_crate.html
|
||||||
[value the stability of Rust]: https://github.com/rust-lang/rfcs/blob/master/text/1122-language-semver.md
|
[value the stability of Rust]: https://github.com/rust-lang/rfcs/blob/master/text/1122-language-semver.md
|
||||||
[stability in code]: #stability-in-code
|
[stability in code]: #stability-in-code
|
||||||
[here]: ./stabilization_guide.md
|
[here]: ./stabilization_guide.md
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ should appear in the documentation.
|
||||||
### 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
|
||||||
[`src/libsyntax/feature_gate.rs`]. Search for the `declare_features!`
|
[`src/librustc_feature`]. Search for the `declare_features!`
|
||||||
macro. There should be an entry for the feature you are aiming
|
macro. There should be an entry for the feature you are aiming
|
||||||
to stabilize, something like (this example is taken from
|
to stabilize, something like (this example is taken from
|
||||||
[rust-lang/rust#32409]:
|
[rust-lang/rust#32409]:
|
||||||
|
|
@ -140,7 +140,8 @@ Most importantly, remove the code which flags an error if the
|
||||||
feature-gate is not present (since the feature is now considered
|
feature-gate is not present (since the feature is now considered
|
||||||
stable). If the feature can be detected because it employs some
|
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 `src/librustc_ast_passes/feature_gate.rs`.
|
||||||
|
For example, you might see code like this:
|
||||||
|
|
||||||
```rust,ignore
|
```rust,ignore
|
||||||
gate_feature_post!(&self, pub_restricted, span,
|
gate_feature_post!(&self, pub_restricted, span,
|
||||||
|
|
@ -174,8 +175,8 @@ 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
|
||||||
[`src/libsyntax/feature_gate.rs`]:https://doc.rust-lang.org/nightly/nightly-rustc/syntax/feature_gate/index.html
|
[`src/librustc_feature`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_feature/index.html
|
||||||
[The Reference]: https://github.com/rust-lang-nursery/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
|
||||||
[Rust by Example]: https://github.com/rust-lang/rust-by-example
|
[Rust by Example]: https://github.com/rust-lang/rust-by-example
|
||||||
[`Unstable Book`]: https://doc.rust-lang.org/unstable-book/index.html
|
[`Unstable Book`]: https://doc.rust-lang.org/unstable-book/index.html
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue