@@ -88,6 +88,39 @@ the standard library if [*Stage 1b*][stage1b] was implemented.
88
88
89
89
- [ * What should the "match-profile" and "compatible-profile" values of ` build-std ` be named?* ] [ unresolved-naming ]
90
90
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
+
91
124
# Rationale and alternatives
92
125
[ rationale-and-alternatives ] : #rationale-and-alternatives
93
126
0 commit comments