Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions compiler/rustc_ast_passes/src/feature_gate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -560,6 +560,7 @@ pub fn check_crate(krate: &ast::Crate, sess: &Session, features: &Features) {
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) {
Expand Down
2 changes: 2 additions & 0 deletions compiler/rustc_feature/src/unstable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -487,6 +487,8 @@ declare_features! (
(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 registring 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.
Expand Down
1 change: 1 addition & 0 deletions compiler/rustc_span/src/symbol.rs
Original file line number Diff line number Diff line change
Expand Up @@ -928,6 +928,7 @@ symbols! {
global_alloc_ty,
global_allocator,
global_asm,
global_registration,
globs,
gt,
half_open_range_patterns,
Expand Down
3 changes: 3 additions & 0 deletions tests/ui/feature-gates/feature-gate-global-registration.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
todo!(); //~ ERROR

fn main() {}
13 changes: 13 additions & 0 deletions tests/ui/feature-gates/feature-gate-global-registration.stderr
Original file line number Diff line number Diff line change
@@ -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