Rollup merge of #125314 - jdonszelmann:global-registration-feature-gate, r=pnkfelix

Add an experimental feature gate for global registration

See #125119 for the tracking issue.
This commit is contained in:
Matthias Krüger 2024-05-20 18:13:49 +02:00 committed by GitHub
commit a79737c3f0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 20 additions and 0 deletions

View File

@ -560,6 +560,7 @@ macro_rules! gate_all {
gate_all!(postfix_match, "postfix match is experimental");
gate_all!(mut_ref, "mutable by-reference bindings are experimental");
gate_all!(precise_capturing, "precise captures on `impl Trait` are experimental");
gate_all!(global_registration, "global registration is experimental");
if !visitor.features.never_patterns {
if let Some(spans) = spans.get(&sym::never_patterns) {

View File

@ -489,6 +489,8 @@ pub fn internal(&self, feature: Symbol) -> bool {
(incomplete, generic_const_exprs, "1.56.0", Some(76560)),
/// Allows generic parameters and where-clauses on free & associated const items.
(incomplete, generic_const_items, "1.73.0", Some(113521)),
/// Allows registering static items globally, possibly across crates, to iterate over at runtime.
(unstable, global_registration, "CURRENT_RUSTC_VERSION", Some(125119)),
/// Allows using `..=X` as a patterns in slices.
(unstable, half_open_range_patterns_in_slices, "1.66.0", Some(67264)),
/// Allows `if let` guard in match arms.

View File

@ -930,6 +930,7 @@
global_alloc_ty,
global_allocator,
global_asm,
global_registration,
globs,
gt,
half_open_range_patterns,

View File

@ -0,0 +1,3 @@
todo!(); //~ ERROR
fn main() {}

View File

@ -0,0 +1,13 @@
error: expected one of `!` or `::`, found `(`
--> $DIR/feature-gate-global-registration.rs:1:1
|
LL | todo!();
| ^^^^^^^
| |
| expected one of `!` or `::`
| in this macro invocation
|
= note: this error originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 1 previous error