Skip to content

Commit dacab06

Browse files
committed
Tag feature gates with issues
This commit adds issue numbers to the vast majority of active feature gates. The few that are left without issues are rustc/runtime-internal features that are essentially private APIs. Closes #28244
1 parent 708e319 commit dacab06

File tree

1 file changed

+59
-45
lines changed

1 file changed

+59
-45
lines changed

src/libsyntax/feature_gate.rs

+59-45
Original file line numberDiff line numberDiff line change
@@ -51,53 +51,59 @@ const KNOWN_FEATURES: &'static [(&'static str, &'static str, Option<u32>, Status
5151
("globs", "1.0.0", None, Accepted),
5252
("macro_rules", "1.0.0", None, Accepted),
5353
("struct_variant", "1.0.0", None, Accepted),
54-
("asm", "1.0.0", None, Active),
54+
("asm", "1.0.0", Some(29722), Active),
5555
("managed_boxes", "1.0.0", None, Removed),
56-
("non_ascii_idents", "1.0.0", None, Active),
57-
("thread_local", "1.0.0", None, Active),
58-
("link_args", "1.0.0", None, Active),
59-
("plugin_registrar", "1.0.0", None, Active),
60-
("log_syntax", "1.0.0", None, Active),
61-
("trace_macros", "1.0.0", None, Active),
62-
("concat_idents", "1.0.0", None, Active),
56+
("non_ascii_idents", "1.0.0", Some(28979), Active),
57+
("thread_local", "1.0.0", Some(29594), Active),
58+
("link_args", "1.0.0", Some(29596), Active),
59+
("plugin_registrar", "1.0.0", Some(29597), Active),
60+
("log_syntax", "1.0.0", Some(29598), Active),
61+
("trace_macros", "1.0.0", Some(29598), Active),
62+
("concat_idents", "1.0.0", Some(29599), Active),
63+
64+
// rustc internal, for now:
6365
("intrinsics", "1.0.0", None, Active),
6466
("lang_items", "1.0.0", None, Active),
6567

6668
("simd", "1.0.0", Some(27731), Active),
6769
("default_type_params", "1.0.0", None, Accepted),
68-
("quote", "1.0.0", None, Active),
69-
("link_llvm_intrinsics", "1.0.0", None, Active),
70-
("linkage", "1.0.0", None, Active),
70+
("quote", "1.0.0", Some(29601), Active),
71+
("link_llvm_intrinsics", "1.0.0", Some(29602), Active),
72+
("linkage", "1.0.0", Some(29603), Active),
7173
("struct_inherit", "1.0.0", None, Removed),
7274

7375
("quad_precision_float", "1.0.0", None, Removed),
7476

77+
// rustc internal
7578
("rustc_diagnostic_macros", "1.0.0", None, Active),
76-
("unboxed_closures", "1.0.0", None, Active),
77-
("reflect", "1.0.0", None, Active),
79+
("unboxed_closures", "1.0.0", Some(29625), Active),
80+
("reflect", "1.0.0", Some(27749), Active),
7881
("import_shadowing", "1.0.0", None, Removed),
79-
("advanced_slice_patterns", "1.0.0", None, Active),
82+
("advanced_slice_patterns", "1.0.0", Some(23121), Active),
8083
("tuple_indexing", "1.0.0", None, Accepted),
8184
("associated_types", "1.0.0", None, Accepted),
82-
("visible_private_types", "1.0.0", None, Active),
85+
("visible_private_types", "1.0.0", Some(29627), Active),
8386
("slicing_syntax", "1.0.0", None, Accepted),
8487
("box_syntax", "1.0.0", Some(27779), Active),
8588
("placement_in_syntax", "1.0.0", Some(27779), Active),
89+
90+
// rustc internal.
8691
("pushpop_unsafe", "1.2.0", None, Active),
87-
("on_unimplemented", "1.0.0", None, Active),
88-
("simd_ffi", "1.0.0", None, Active),
89-
("allocator", "1.0.0", None, Active),
90-
("needs_allocator", "1.4.0", None, Active),
91-
("linked_from", "1.3.0", None, Active),
92+
93+
("on_unimplemented", "1.0.0", Some(29628), Active),
94+
("simd_ffi", "1.0.0", Some(27731), Active),
95+
("allocator", "1.0.0", Some(27389), Active),
96+
("needs_allocator", "1.4.0", Some(27389), Active),
97+
("linked_from", "1.3.0", Some(29629), Active),
9298

9399
("if_let", "1.0.0", None, Accepted),
94100
("while_let", "1.0.0", None, Accepted),
95101

96-
("plugin", "1.0.0", None, Active),
97-
("start", "1.0.0", None, Active),
98-
("main", "1.0.0", None, Active),
102+
("plugin", "1.0.0", Some(29597), Active),
103+
("start", "1.0.0", Some(29633), Active),
104+
("main", "1.0.0", Some(29634), Active),
99105

100-
("fundamental", "1.0.0", None, Active),
106+
("fundamental", "1.0.0", Some(29635), Active),
101107

102108
// A temporary feature gate used to enable parser extensions needed
103109
// to bootstrap fix for #5723.
@@ -107,30 +113,32 @@ const KNOWN_FEATURES: &'static [(&'static str, &'static str, Option<u32>, Status
107113
("opt_out_copy", "1.0.0", None, Removed),
108114

109115
// OIBIT specific features
110-
("optin_builtin_traits", "1.0.0", None, Active),
116+
("optin_builtin_traits", "1.0.0", Some(13231), Active),
111117

112118
// macro reexport needs more discussion and stabilization
113-
("macro_reexport", "1.0.0", None, Active),
119+
("macro_reexport", "1.0.0", Some(29638), Active),
114120

115121
// These are used to test this portion of the compiler, they don't actually
116122
// mean anything
117123
("test_accepted_feature", "1.0.0", None, Accepted),
118124
("test_removed_feature", "1.0.0", None, Removed),
119125

120126
// Allows use of #[staged_api]
127+
// rustc internal
121128
("staged_api", "1.0.0", None, Active),
122129

123130
// Allows using items which are missing stability attributes
131+
// rustc internal
124132
("unmarked_api", "1.0.0", None, Active),
125133

126134
// Allows using #![no_std]
127-
("no_std", "1.0.0", None, Active),
135+
("no_std", "1.0.0", Some(27701), Active),
128136

129137
// Allows using #![no_core]
130-
("no_core", "1.3.0", None, Active),
138+
("no_core", "1.3.0", Some(29639), Active),
131139

132140
// Allows using `box` in patterns; RFC 469
133-
("box_patterns", "1.0.0", None, Active),
141+
("box_patterns", "1.0.0", Some(29641), Active),
134142

135143
// Allows using the unsafe_no_drop_flag attribute (unlikely to
136144
// switch to Accepted; see RFC 320)
@@ -141,75 +149,81 @@ const KNOWN_FEATURES: &'static [(&'static str, &'static str, Option<u32>, Status
141149
("dropck_parametricity", "1.3.0", Some(28498), Active),
142150

143151
// Allows the use of custom attributes; RFC 572
144-
("custom_attribute", "1.0.0", None, Active),
152+
("custom_attribute", "1.0.0", Some(29642), Active),
145153

146154
// Allows the use of #[derive(Anything)] as sugar for
147155
// #[derive_Anything].
148-
("custom_derive", "1.0.0", None, Active),
156+
("custom_derive", "1.0.0", Some(29644), Active),
149157

150158
// Allows the use of rustc_* attributes; RFC 572
151-
("rustc_attrs", "1.0.0", None, Active),
159+
("rustc_attrs", "1.0.0", Some(29642), Active),
152160

153161
// Allows the use of #[allow_internal_unstable]. This is an
154162
// attribute on macro_rules! and can't use the attribute handling
155163
// below (it has to be checked before expansion possibly makes
156164
// macros disappear).
165+
//
166+
// rustc internal
157167
("allow_internal_unstable", "1.0.0", None, Active),
158168

159169
// #23121. Array patterns have some hazards yet.
160-
("slice_patterns", "1.0.0", None, Active),
170+
("slice_patterns", "1.0.0", Some(23121), Active),
161171

162172
// Allows use of unary negate on unsigned integers, e.g. -e for e: u8
163-
("negate_unsigned", "1.0.0", None, Active),
173+
("negate_unsigned", "1.0.0", Some(29645), Active),
164174

165175
// Allows the definition of associated constants in `trait` or `impl`
166176
// blocks.
167-
("associated_consts", "1.0.0", None, Active),
177+
("associated_consts", "1.0.0", Some(29646), Active),
168178

169179
// Allows the definition of `const fn` functions.
170-
("const_fn", "1.2.0", None, Active),
180+
("const_fn", "1.2.0", Some(24111), Active),
171181

172182
// Allows using #[prelude_import] on glob `use` items.
183+
//
184+
// rustc internal
173185
("prelude_import", "1.2.0", None, Active),
174186

175187
// Allows the definition recursive static items.
176-
("static_recursion", "1.3.0", None, Active),
188+
("static_recursion", "1.3.0", Some(29719), Active),
177189

178190
// Allows default type parameters to influence type inference.
179-
("default_type_parameter_fallback", "1.3.0", None, Active),
191+
("default_type_parameter_fallback", "1.3.0", Some(27336), Active),
180192

181193
// Allows associated type defaults
182-
("associated_type_defaults", "1.2.0", None, Active),
183-
// Allows macros to appear in the type position.
194+
("associated_type_defaults", "1.2.0", Some(29661), Active),
184195

196+
// Allows macros to appear in the type position.
185197
("type_macros", "1.3.0", Some(27336), Active),
186198

187199
// allow `repr(simd)`, and importing the various simd intrinsics
188200
("repr_simd", "1.4.0", Some(27731), Active),
189201

190202
// Allows cfg(target_feature = "...").
191-
("cfg_target_feature", "1.4.0", None, Active),
203+
("cfg_target_feature", "1.4.0", Some(29717), Active),
192204

193205
// allow `extern "platform-intrinsic" { ... }`
194206
("platform_intrinsics", "1.4.0", Some(27731), Active),
195207

196208
// allow `#[unwind]`
209+
// rust runtime internal
197210
("unwind_attributes", "1.4.0", None, Active),
198211

199212
// allow empty structs and enum variants with braces
200-
("braced_empty_structs", "1.5.0", None, Active),
213+
("braced_empty_structs", "1.5.0", Some(29720), Active),
201214

202215
// allow overloading augmented assignment operations like `a += b`
203-
("augmented_assignments", "1.5.0", None, Active),
216+
("augmented_assignments", "1.5.0", Some(28235), Active),
204217

205218
// allow `#[no_debug]`
206-
("no_debug", "1.5.0", None, Active),
219+
("no_debug", "1.5.0", Some(29721), Active),
207220

208221
// allow `#[omit_gdb_pretty_printer_section]`
222+
// rustc internal.
209223
("omit_gdb_pretty_printer_section", "1.5.0", None, Active),
210224

211225
// Allows cfg(target_vendor = "...").
212-
("cfg_target_vendor", "1.5.0", None, Active),
226+
("cfg_target_vendor", "1.5.0", Some(29718), Active),
213227
];
214228
// (changing above list without updating src/doc/reference.md makes @cmr sad)
215229

0 commit comments

Comments
 (0)