Skip to content

Commit 363a4ce

Browse files
committed
working on features
1 parent 4efba52 commit 363a4ce

File tree

6 files changed

+23
-5
lines changed

6 files changed

+23
-5
lines changed

src/SUMMARY.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,18 @@
88

99
# The feature lifecycle
1010

11-
- [Landing new features](./feature-lifecycle/landing-new-features.md)
11+
This section describes the processes around how standard library features are developed and stabilized.
12+
13+
- [Landing a new feature](./feature-lifecycle/new-unstable-features.md)
1214
- [Tracking issues](./feature-lifecycle/tracking-issues.md)
13-
- [Stabilization](./feature-lifecycle/stabilization.md)
14-
- [Deprecation](./feature-lifecycle/deprecation.md)
15+
- [Working on an unstable feature](./feature-lifecycle/working-on-unstable-features.md)
16+
- [Stabilizing a feature](./feature-lifecycle/stabilization.md)
17+
- [Deprecating a feature](./feature-lifecycle/deprecation.md)
1518

1619
# Code considerations
1720

21+
This section includes things to keep in mind when writing and reviewing standard library code. Most topics are relevant for both contributors and reviewers.
22+
1823
- [Reviewer checklist](./code-considerations/reviewer-checklist.md)
1924
- [Design](./code-considerations/design/summary.md)
2025
- [Public APIs](./code-considerations/design/public-apis.md)
@@ -34,6 +39,8 @@
3439

3540
# Tools and bots
3641

42+
This section lists tools and bots that support the development process on the standard library. Most can be interacted with through GitHub mentions.
43+
3744
- [`@bors`](./tools-and-bots/bors.md)
3845
- [`@rust-timer`](./tools-and-bots/timer.md)
3946
- [`@craterbot`](./tools-and-bots/crater.md)

src/code-considerations/breaking-changes/new-trait-impls.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
A lot of PRs to the standard library are adding new impls for already stable traits, which can break consumers in many weird and wonderful ways. The following sections gives some examples of breakage from new trait impls that may not be obvious just from the change made to the standard library.
44

5+
Also see [`#[fundamental]` types](./fundamental.md) for special considerations for types like `&T`, `&mut T`, `Box<T>`, and other core smart pointers.
6+
57
## Inference breaks when a second generic impl is introduced
68

79
Rust will use the fact that there's only a single impl for a generic trait during inference. This breaks once a second impl makes the type of that generic ambiguous. Say we have:

src/code-considerations/reviewer-checklist.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Look out for code considerations:
3030

3131
- [ ] Is the commit log tidy? Avoid merge commits, these can be squashed down.
3232
- [ ] Can this change be rolled up?
33-
- [ ] Is this a [new unstable feature](../feature-lifecycle/landing-new-features.md)?
33+
- [ ] Is this a [new unstable feature](../feature-lifecycle/new-unstable-features.md)?
3434
- [ ] Create a [tracking issue](../feature-lifecycle/tracking-issues.md).
3535
- [ ] Update the `#[unstable]` attributes to point to it.
3636

src/feature-lifecycle/landing-new-features.md renamed to src/feature-lifecycle/new-unstable-features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# New features
1+
# Landing a new features
22

33
**Status:** Stub
44

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Working on an unstable feature
2+
3+
**Status:** Stub
4+
5+
The current state of an unstable feature should be outlined in its [tracking issue](./tracking-issues.md).
6+
7+
If there's a change you'd like to make to an unstable feature, it can be discussed on the tracking issue first.

src/getting-started.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
> Everything I wish I knew before somebody gave me `r+`
66
7+
Welcome to the standard library!
8+
79
This guide is an effort to capture some of the context needed to develop and maintain the Rust standard library. Its goal is to help members of the Libs team share the process and experience they bring to working on the standard library so other members can benefit. It’ll probably accumulate a lot of trivia that might also be interesting to members of the wider Rust community.
810

911
## If you’re ever unsure…

0 commit comments

Comments
 (0)