@@ -109,15 +109,14 @@ macro_rules! declare_features {
109
109
// stable (active).
110
110
//
111
111
// Note that the features should be grouped into internal/user-facing
112
- // and then sorted by version inside those groups.
113
- // FIXME(60361): Enforce ^-- with tidy.
112
+ // and then sorted by version inside those groups. This is inforced with tidy.
114
113
//
115
114
// N.B., `tools/tidy/src/features.rs` parses this information directly out of the
116
115
// source, so take care when modifying it.
117
116
118
117
declare_features ! (
119
118
// -------------------------------------------------------------------------
120
- // Internal feature gates.
119
+ // feature-group-start: internal feature gates
121
120
// -------------------------------------------------------------------------
122
121
123
122
// no tracking issue START
@@ -211,12 +210,12 @@ declare_features! (
211
210
212
211
// no tracking issue END
213
212
214
- // Allows using the `may_dangle` attribute (RFC 1327).
215
- ( active, dropck_eyepatch, "1.10.0" , Some ( 34761 ) , None ) ,
216
-
217
213
// Allows using `#[structural_match]` which indicates that a type is structurally matchable.
218
214
( active, structural_match, "1.8.0" , Some ( 31434 ) , None ) ,
219
215
216
+ // Allows using the `may_dangle` attribute (RFC 1327).
217
+ ( active, dropck_eyepatch, "1.10.0" , Some ( 34761 ) , None ) ,
218
+
220
219
// Allows using the `#![panic_runtime]` attribute.
221
220
( active, panic_runtime, "1.10.0" , Some ( 32837 ) , None ) ,
222
221
@@ -252,7 +251,11 @@ declare_features! (
252
251
( active, test_2018_feature, "1.31.0" , Some ( 0 ) , Some ( Edition :: Edition2018 ) ) ,
253
252
254
253
// -------------------------------------------------------------------------
255
- // Actual feature gates (target features).
254
+ // feature-group-end: internal feature gates
255
+ // -------------------------------------------------------------------------
256
+
257
+ // -------------------------------------------------------------------------
258
+ // feature-group-start: actual feature gates (target features)
256
259
// -------------------------------------------------------------------------
257
260
258
261
// FIXME: Document these and merge with the list below.
@@ -275,7 +278,11 @@ declare_features! (
275
278
( active, f16c_target_feature, "1.36.0" , Some ( 44839 ) , None ) ,
276
279
277
280
// -------------------------------------------------------------------------
278
- // Actual feature gates.
281
+ // feature-group-end: actual feature gates (target features)
282
+ // -------------------------------------------------------------------------
283
+
284
+ // -------------------------------------------------------------------------
285
+ // feature-group-start: actual feature gates
279
286
// -------------------------------------------------------------------------
280
287
281
288
// Allows using `asm!` macro with which inline assembly can be embedded.
@@ -340,9 +347,6 @@ declare_features! (
340
347
// Permits specifying whether a function should permit unwinding or abort on unwind.
341
348
( active, unwind_attributes, "1.4.0" , Some ( 58760 ) , None ) ,
342
349
343
- // Allows using `#[naked]` on functions.
344
- ( active, naked_functions, "1.9.0" , Some ( 32408 ) , None ) ,
345
-
346
350
// Allows `#[no_debug]`.
347
351
( active, no_debug, "1.5.0" , Some ( 29721 ) , None ) ,
348
352
@@ -358,6 +362,9 @@ declare_features! (
358
362
// Allows specialization of implementations (RFC 1210).
359
363
( active, specialization, "1.7.0" , Some ( 31844 ) , None ) ,
360
364
365
+ // Allows using `#[naked]` on functions.
366
+ ( active, naked_functions, "1.9.0" , Some ( 32408 ) , None ) ,
367
+
361
368
// Allows `cfg(target_has_atomic = "...")`.
362
369
( active, cfg_target_has_atomic, "1.9.0" , Some ( 32976 ) , None ) ,
363
370
@@ -545,6 +552,10 @@ declare_features! (
545
552
546
553
// Allows using C-variadics.
547
554
( active, c_variadic, "1.34.0" , Some ( 44930 ) , None ) ,
555
+
556
+ // -------------------------------------------------------------------------
557
+ // feature-group-end: actual feature gates
558
+ // -------------------------------------------------------------------------
548
559
) ;
549
560
550
561
// Some features are known to be incomplete and using them is likely to have
0 commit comments