@@ -108,8 +108,8 @@ macro_rules! declare_features {
108
108
// was set. This is most important for knowing when a particular feature became
109
109
// stable (active).
110
110
//
111
- // Note that the features should be grouped into internal/user-facing
112
- // and then sorted by version inside those groups. This is inforced with tidy.
111
+ // Note that the features are grouped into internal/user-facing and then
112
+ // sorted by version inside those groups. This is inforced with tidy.
113
113
//
114
114
// N.B., `tools/tidy/src/features.rs` parses this information directly out of the
115
115
// source, so take care when modifying it.
@@ -119,7 +119,7 @@ declare_features! (
119
119
// feature-group-start: internal feature gates
120
120
// -------------------------------------------------------------------------
121
121
122
- // no tracking issue START
122
+ // no- tracking- issue-start
123
123
124
124
// Allows using the `rust-intrinsic`'s "ABI".
125
125
( active, intrinsics, "1.0.0" , None , None ) ,
@@ -152,7 +152,7 @@ declare_features! (
152
152
// lets a function to be `const` when opted into with `#![feature(foo)]`.
153
153
( active, rustc_const_unstable, "1.0.0" , None , None ) ,
154
154
155
- // no tracking issue END
155
+ // no- tracking- issue-end
156
156
157
157
// Allows using `#[link_name="llvm.*"]`.
158
158
( active, link_llvm_intrinsics, "1.0.0" , Some ( 29602 ) , None ) ,
@@ -187,28 +187,25 @@ declare_features! (
187
187
// Allows using `box` in patterns (RFC 469).
188
188
( active, box_patterns, "1.0.0" , Some ( 29641 ) , None ) ,
189
189
190
- // no tracking issue START
190
+ // no- tracking- issue-start
191
191
192
192
// Allows using `#[prelude_import]` on glob `use` items.
193
193
( active, prelude_import, "1.2.0" , None , None ) ,
194
194
195
- // no tracking issue END
195
+ // no- tracking- issue-end
196
196
197
197
// Allows using `#[unsafe_destructor_blind_to_params]` (RFC 1238).
198
198
( active, dropck_parametricity, "1.3.0" , Some ( 28498 ) , None ) ,
199
199
200
- // FIXME(Centril): Investigate whether this gate actually has any effect.
201
- ( active, needs_allocator, "1.4.0" , Some ( 27389 ) , None ) ,
202
-
203
- // no tracking issue START
200
+ // no-tracking-issue-start
204
201
205
202
// Allows using `#[omit_gdb_pretty_printer_section]`.
206
203
( active, omit_gdb_pretty_printer_section, "1.5.0" , None , None ) ,
207
204
208
205
// Allows using the `vectorcall` ABI.
209
206
( active, abi_vectorcall, "1.7.0" , None , None ) ,
210
207
211
- // no tracking issue END
208
+ // no- tracking- issue-end
212
209
213
210
// Allows using `#[structural_match]` which indicates that a type is structurally matchable.
214
211
( active, structural_match, "1.8.0" , Some ( 31434 ) , None ) ,
@@ -222,7 +219,7 @@ declare_features! (
222
219
// Allows declaring with `#![needs_panic_runtime]` that a panic runtime is needed.
223
220
( active, needs_panic_runtime, "1.10.0" , Some ( 32837 ) , None ) ,
224
221
225
- // no tracking issue START
222
+ // no- tracking- issue-start
226
223
227
224
// Allows identifying the `compiler_builtins` crate.
228
225
( active, compiler_builtins, "1.13.0" , None , None ) ,
@@ -245,7 +242,7 @@ declare_features! (
245
242
// Allows using the `format_args_nl` macro.
246
243
( active, format_args_nl, "1.29.0" , None , None ) ,
247
244
248
- // no tracking issue END
245
+ // no- tracking- issue-end
249
246
250
247
// Added for testing E0705; perma-unstable.
251
248
( active, test_2018_feature, "1.31.0" , Some ( 0 ) , Some ( Edition :: Edition2018 ) ) ,
@@ -567,6 +564,10 @@ const INCOMPLETE_FEATURES: &[&str] = &[
567
564
] ;
568
565
569
566
declare_features ! (
567
+ // -------------------------------------------------------------------------
568
+ // feature-group-start: removed features
569
+ // -------------------------------------------------------------------------
570
+
570
571
( removed, import_shadowing, "1.0.0" , None , None , None ) ,
571
572
( removed, managed_boxes, "1.0.0" , None , None , None ) ,
572
573
// Allows use of unary negate on unsigned integers, e.g., -e for e: u8
@@ -581,14 +582,16 @@ declare_features! (
581
582
( removed, unsafe_no_drop_flag, "1.0.0" , None , None , None ) ,
582
583
// Allows using items which are missing stability attributes
583
584
( removed, unmarked_api, "1.0.0" , None , None , None ) ,
584
- ( removed, pushpop_unsafe, "1.2.0" , None , None , None ) ,
585
585
( removed, allocator, "1.0.0" , None , None , None ) ,
586
586
( removed, simd, "1.0.0" , Some ( 27731 ) , None ,
587
587
Some ( "removed in favor of `#[repr(simd)]`" ) ) ,
588
588
( removed, advanced_slice_patterns, "1.0.0" , Some ( 23121 ) , None ,
589
589
Some ( "merged into `#![feature(slice_patterns)]`" ) ) ,
590
590
( removed, macro_reexport, "1.0.0" , Some ( 29638 ) , None ,
591
591
Some ( "subsumed by `pub use`" ) ) ,
592
+ ( removed, pushpop_unsafe, "1.2.0" , None , None , None ) ,
593
+ ( removed, needs_allocator, "1.4.0" , Some ( 27389 ) , None ,
594
+ Some ( "subsumed by `#![feature(allocator_internals)]`" ) ) ,
592
595
( removed, proc_macro_mod, "1.27.0" , Some ( 54727 ) , None ,
593
596
Some ( "subsumed by `#![feature(proc_macro_hygiene)]`" ) ) ,
594
597
( removed, proc_macro_expr, "1.27.0" , Some ( 54727 ) , None ,
@@ -600,26 +603,42 @@ declare_features! (
600
603
( removed, panic_implementation, "1.28.0" , Some ( 44489 ) , None ,
601
604
Some ( "subsumed by `#[panic_handler]`" ) ) ,
602
605
// Allows the use of `#[derive(Anything)]` as sugar for `#[derive_Anything]`.
603
- ( removed, custom_derive, "1.0 .0" , Some ( 29644 ) , None ,
606
+ ( removed, custom_derive, "1.32 .0" , Some ( 29644 ) , None ,
604
607
Some ( "subsumed by `#[proc_macro_derive]`" ) ) ,
605
608
// Paths of the form: `extern::foo::bar`
606
609
( removed, extern_in_paths, "1.33.0" , Some ( 55600 ) , None ,
607
610
Some ( "subsumed by `::foo::bar` paths" ) ) ,
608
- ( removed, quote, "1.0.0" , Some ( 29601 ) , None , None ) ,
611
+ ( removed, quote, "1.33.0" , Some ( 29601 ) , None , None ) ,
612
+
613
+ // -------------------------------------------------------------------------
614
+ // feature-group-end: removed features
615
+ // -------------------------------------------------------------------------
609
616
) ;
610
617
611
618
declare_features ! (
612
619
( stable_removed, no_stack_check, "1.0.0" , None , None ) ,
613
620
) ;
614
621
615
622
declare_features ! (
623
+ // -------------------------------------------------------------------------
624
+ // feature-group-start: for testing purposes
625
+ // -------------------------------------------------------------------------
626
+
616
627
// A temporary feature gate used to enable parser extensions needed
617
628
// to bootstrap fix for #5723.
618
629
( accepted, issue_5723_bootstrap, "1.0.0" , None , None ) ,
619
630
// These are used to test this portion of the compiler,
620
631
// they don't actually mean anything.
621
632
( accepted, test_accepted_feature, "1.0.0" , None , None ) ,
622
633
634
+ // -------------------------------------------------------------------------
635
+ // feature-group-end: for testing purposes
636
+ // -------------------------------------------------------------------------
637
+
638
+ // -------------------------------------------------------------------------
639
+ // feature-group-start: accepted features
640
+ // -------------------------------------------------------------------------
641
+
623
642
// Allows using associated `type`s in `trait`s.
624
643
( accepted, associated_types, "1.0.0" , None , None ) ,
625
644
// Allows using assigning a default type to type parameters in algebraic data type definitions.
@@ -809,6 +828,10 @@ declare_features! (
809
828
( accepted, extern_crate_self, "1.34.0" , Some ( 56409 ) , None ) ,
810
829
// Allows arbitrary delimited token streams in non-macro attributes.
811
830
( accepted, unrestricted_attribute_tokens, "1.34.0" , Some ( 55208 ) , None ) ,
831
+
832
+ // -------------------------------------------------------------------------
833
+ // feature-group-end: accepted features
834
+ // -------------------------------------------------------------------------
812
835
) ;
813
836
814
837
// If you change this, please modify `src/doc/unstable-book` as well. You must
0 commit comments