@@ -44,12 +44,8 @@ prevents breaking dependencies by leveraging Cargo's lint capping.
44
44
[ rustc bug ] : https://github.com/rust-lang/rust/issues/15702
45
45
46
46
## stable
47
-
48
47
The ` #[stable(feature = "foo", "since = "1.420.69")] ` attribute explicitly
49
- marks an item as stabilized. To do this, follow the instructions in
50
- [ Stabilizing Features] ( ./stabilization_guide.md ) .
51
-
52
- Note that stable functions may use unstable things in their body.
48
+ marks an item as stabilized. Note that stable functions may use unstable things in their body.
53
49
54
50
## rustc_const_unstable
55
51
@@ -72,6 +68,24 @@ even on an `unstable` function, if that function is called from another
72
68
Furthermore this attribute is needed to mark an intrinsic as callable from
73
69
` rustc_const_stable ` functions.
74
70
71
+ ## Stabilizing a library feature
72
+
73
+ To stabilize a feature, follow these steps:
74
+
75
+ 0 . Ask a ** @T-libs ** member to start an FCP on the tracking issue and wait for
76
+ the FCP to complete (with ` disposition-merge ` ).
77
+ 1 . Change ` #[unstable(...)] ` to ` #[stable(since = "version")] ` .
78
+ ` version ` should be the * current nightly* , i.e. stable+2. You can see which version is
79
+ the current nightly [ on Forge] ( https://forge.rust-lang.org/#current-release-versions ) .
80
+ 2 . Remove ` #![feature(...)] ` from any test or doc-test for this API. If the feature is used in the
81
+ compiler or tools, remove it from there as well.
82
+ 3 . If applicable, change ` #[rustc_const_unstable(...)] ` to
83
+ ` #[rustc_const_stable(since = "version")] ` .
84
+ 4 . Open a PR against ` rust-lang/rust ` .
85
+ - Add the appropriate labels: ` @rustbot modify labels: +T-libs ` .
86
+ - Link to the tracking issue and say "Closes #XXXXX".
87
+
88
+ You can see an example of stabilizing a feature at [ #75132 ] ( https://github.com/rust-lang/rust/pull/75132 ) .
75
89
76
90
## allow_internal_unstable
77
91
0 commit comments