Skip to content

Commit 276bbcb

Browse files
committed
1a/3: move stability guarantees
1 parent a05e7c0 commit 276bbcb

File tree

2 files changed

+33
-27
lines changed

2 files changed

+33
-27
lines changed

text/0000-build-std/4-stage-1a.md

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -469,33 +469,6 @@ This stage has no implications for the following Cargo subcommands:
469469
- [`cargo version`][cargo-version]
470470
- [`cargo yank`][cargo-yank]
471471

472-
## Stability guarantees
473-
[stability-guarantees]: #stability-guarantees
474-
475-
build-std enables a much greater array of configurations of the standard library
476-
to exist and be produced by stable toolchains than the single configuration that
477-
is distributed today.
478-
479-
It is not feasible for the Rust project to test every combination of profile
480-
configuration, Cargo feature, target and standard library crate. As such, the
481-
stability of build-std as a mechanism must be separated from the stability
482-
guarantees which apply to configurations of the standard library it enables.
483-
484-
For example, while a stable build-std mechanism may permit the standard library
485-
to be built for a tier three target, the Rust project continues to make no
486-
commitments or guarantees that the standard library for that target will
487-
function correctly or build at all.
488-
489-
Cargo and Rust project documentation will clearly document the configurations
490-
which are tested upstream and are guaranteed to work. Any other configurations
491-
are supported on a strictly best-effort basis. The Rust project may later choose
492-
to provide more guarantees for some well-tested configurations (e.g. enabling
493-
sanitisers).
494-
495-
There are also no guarantees about the exact configuration of the standard
496-
library. Over time, the standard library built by build-std could be changed to
497-
be closer to that of the pre-built standard library.
498-
499472
# Rationale and alternatives
500473
[rationale-and-alternatives]: #rationale-and-alternatives
501474

text/0000-build-std/7-stage-3.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,39 @@ the standard library if [*Stage 1b*][stage1b] was implemented.
8888

8989
- [*What should the "match-profile" and "compatible-profile" values of `build-std` be named?*][unresolved-naming]
9090

91+
## Stability guarantees
92+
[stability-guarantees]: #stability-guarantees
93+
94+
build-std enables a much greater array of configurations of the standard library
95+
to exist and be produced by stable toolchains than the single configuration that
96+
is distributed today.
97+
98+
It is not feasible for the Rust project to test every combination of profile
99+
configuration, Cargo feature, target and standard library crate. As such, the
100+
stability of build-std as a mechanism must be separated from the stability
101+
guarantees which apply to configurations of the standard library it enables.
102+
103+
For example, while a stable build-std mechanism may permit the standard library
104+
to be built for a tier three target, the Rust project continues to make no
105+
commitments or guarantees that the standard library for that target will
106+
function correctly or build at all. Even on a tier one target, the Rust project
107+
cannot test every possible variation of the standard library that build-std
108+
enables.
109+
110+
The tier of a target no longer determines whether the availability of the
111+
standard library, but rather the level of support provided for the standard
112+
library on the target.
113+
114+
Cargo and Rust project documentation will clearly document the configurations
115+
which are tested upstream and are guaranteed to work. Any other configurations
116+
are supported on a strictly best-effort basis. The Rust project may later choose
117+
to provide more guarantees for some well-tested configurations (e.g. enabling
118+
sanitisers).
119+
120+
There are also no guarantees about the exact configuration of the standard
121+
library. Over time, the standard library built by build-std could be changed to
122+
be closer to that of the pre-built standard library.
123+
91124
# Rationale and alternatives
92125
[rationale-and-alternatives]: #rationale-and-alternatives
93126

0 commit comments

Comments
 (0)