Skip to content

Commit 5f64201

Browse files
committed
Auto merge of #29725 - aturon:lang-features, r=huonw
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 r? @huonw
2 parents 3519eff + dacab06 commit 5f64201

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)