@@ -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