You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/implementing_new_features.md
+10-5Lines changed: 10 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -223,18 +223,23 @@ Which option to choose might depend on how significant the language change is, t
223
223
224
224
## Affiliated work
225
225
226
-
Once the feature is supported by rustc, there is other associated work that needs to be done to give users a complete experience:
226
+
Once the feature is supported by rustc, there is other associated work that needs to be done to give users a complete experience. Think of it as the *language toolchain* developer experience, which doesn't only comprise of the language or compiler in isolation.
227
227
228
-
* Extending rustfmt to format any new syntax;
229
-
* Extending rust-analyzer;
230
-
* Documenting the feature in the Rust reference;
231
-
* ...
228
+
- Documenting the language feature in the [Rust Reference][reference].
229
+
- (If applicable) Extending [`rustfmt`] to format any new syntax.
230
+
- (If applicable) Extending [`rust-analyzer`]. This can depend on the nature of the language feature, as some features don't need to be blocked on *full* support.
231
+
- A blocking concern is when a language feature degrades the user experience simply by existing before its support is implemented in [`rust-analyzer`].
232
+
- Example blocking concern: new syntax that [`rust-analyzer`] can't parse -> bogus diagnostics, type inference changes -> bogus diagnostics.
232
233
233
234
## Stabilization
234
235
235
236
The final step in the feature lifecycle is [stabilization][stab], which is when the feature becomes available to all Rust users. At this point, backwards incompatible changes are no longer permitted (modulo soundness bugs and inference changes; see the lang team's [defined semver policies](https://rust-lang.github.io/rfcs/1122-language-semver.html) for full details). To learn more about stabilization, see the [stabilization guide][stab].
0 commit comments