From 9edaa76adce4de737db54194eb13d6c298827b37 Mon Sep 17 00:00:00 2001 From: Caio Date: Tue, 7 Jun 2022 21:50:45 -0300 Subject: [PATCH] Stabilize $$ in Rust 1.63.0 --- compiler/rustc_expand/src/mbe/quoted.rs | 2 - .../rfc-3086-metavar-expr/allowed-features.rs | 12 +++++ ...quired-feature.rs => required-features.rs} | 12 ----- ...eature.stderr => required-features.stderr} | 50 +++---------------- 4 files changed, 19 insertions(+), 57 deletions(-) create mode 100644 src/test/ui/macros/rfc-3086-metavar-expr/allowed-features.rs rename src/test/ui/macros/rfc-3086-metavar-expr/{required-feature.rs => required-features.rs} (65%) rename src/test/ui/macros/rfc-3086-metavar-expr/{required-feature.stderr => required-features.stderr} (52%) diff --git a/compiler/rustc_expand/src/mbe/quoted.rs b/compiler/rustc_expand/src/mbe/quoted.rs index 707cb73f097f8..d4b8563a03666 100644 --- a/compiler/rustc_expand/src/mbe/quoted.rs +++ b/compiler/rustc_expand/src/mbe/quoted.rs @@ -234,8 +234,6 @@ fn parse_tree( sess, &Token { kind: token::Dollar, span }, ); - } else { - maybe_emit_macro_metavar_expr_feature(features, sess, span); } TokenTree::token(token::Dollar, span) } diff --git a/src/test/ui/macros/rfc-3086-metavar-expr/allowed-features.rs b/src/test/ui/macros/rfc-3086-metavar-expr/allowed-features.rs new file mode 100644 index 0000000000000..c248c46f52cd3 --- /dev/null +++ b/src/test/ui/macros/rfc-3086-metavar-expr/allowed-features.rs @@ -0,0 +1,12 @@ +// check-pass + +macro_rules! dollar_dollar { + () => { + macro_rules! bar { + ( $$( $$any:tt )* ) => { $$( $$any )* }; + } + }; +} + +fn main() { +} diff --git a/src/test/ui/macros/rfc-3086-metavar-expr/required-feature.rs b/src/test/ui/macros/rfc-3086-metavar-expr/required-features.rs similarity index 65% rename from src/test/ui/macros/rfc-3086-metavar-expr/required-feature.rs rename to src/test/ui/macros/rfc-3086-metavar-expr/required-features.rs index b4fef11f1e29a..cce3e578aeafe 100644 --- a/src/test/ui/macros/rfc-3086-metavar-expr/required-feature.rs +++ b/src/test/ui/macros/rfc-3086-metavar-expr/required-features.rs @@ -5,18 +5,6 @@ macro_rules! count { }; } -macro_rules! dollar_dollar { - () => { - macro_rules! bar { - ( $$( $$any:tt )* ) => { $$( $$any )* }; - //~^ ERROR meta-variable expressions are unstable - //~| ERROR meta-variable expressions are unstable - //~| ERROR meta-variable expressions are unstable - //~| ERROR meta-variable expressions are unstable - } - }; -} - macro_rules! index { ( $( $e:stmt ),* ) => { $( ${ignore(e)} ${index()} )* diff --git a/src/test/ui/macros/rfc-3086-metavar-expr/required-feature.stderr b/src/test/ui/macros/rfc-3086-metavar-expr/required-features.stderr similarity index 52% rename from src/test/ui/macros/rfc-3086-metavar-expr/required-feature.stderr rename to src/test/ui/macros/rfc-3086-metavar-expr/required-features.stderr index ecf598b104d05..5efd3b10442d1 100644 --- a/src/test/ui/macros/rfc-3086-metavar-expr/required-feature.stderr +++ b/src/test/ui/macros/rfc-3086-metavar-expr/required-features.stderr @@ -1,5 +1,5 @@ error[E0658]: meta-variable expressions are unstable - --> $DIR/required-feature.rs:3:10 + --> $DIR/required-features.rs:3:10 | LL | ${ count(e) } | ^^^^^^^^^^^^ @@ -8,43 +8,7 @@ LL | ${ count(e) } = help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable error[E0658]: meta-variable expressions are unstable - --> $DIR/required-feature.rs:11:16 - | -LL | ( $$( $$any:tt )* ) => { $$( $$any )* }; - | ^ - | - = note: see issue #83527 for more information - = help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable - -error[E0658]: meta-variable expressions are unstable - --> $DIR/required-feature.rs:11:20 - | -LL | ( $$( $$any:tt )* ) => { $$( $$any )* }; - | ^ - | - = note: see issue #83527 for more information - = help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable - -error[E0658]: meta-variable expressions are unstable - --> $DIR/required-feature.rs:11:39 - | -LL | ( $$( $$any:tt )* ) => { $$( $$any )* }; - | ^ - | - = note: see issue #83527 for more information - = help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable - -error[E0658]: meta-variable expressions are unstable - --> $DIR/required-feature.rs:11:43 - | -LL | ( $$( $$any:tt )* ) => { $$( $$any )* }; - | ^ - | - = note: see issue #83527 for more information - = help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable - -error[E0658]: meta-variable expressions are unstable - --> $DIR/required-feature.rs:22:13 + --> $DIR/required-features.rs:10:13 | LL | $( ${ignore(e)} ${index()} )* | ^^^^^^^^^^^ @@ -53,7 +17,7 @@ LL | $( ${ignore(e)} ${index()} )* = help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable error[E0658]: meta-variable expressions are unstable - --> $DIR/required-feature.rs:22:26 + --> $DIR/required-features.rs:10:26 | LL | $( ${ignore(e)} ${index()} )* | ^^^^^^^^^ @@ -62,7 +26,7 @@ LL | $( ${ignore(e)} ${index()} )* = help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable error[E0658]: meta-variable expressions are unstable - --> $DIR/required-feature.rs:30:19 + --> $DIR/required-features.rs:18:19 | LL | 0 $( + 1 ${ignore(i)} )* | ^^^^^^^^^^^ @@ -71,7 +35,7 @@ LL | 0 $( + 1 ${ignore(i)} )* = help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable error[E0658]: meta-variable expressions are unstable - --> $DIR/required-feature.rs:37:13 + --> $DIR/required-features.rs:25:13 | LL | $( ${ignore(e)} ${length()} )* | ^^^^^^^^^^^ @@ -80,7 +44,7 @@ LL | $( ${ignore(e)} ${length()} )* = help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable error[E0658]: meta-variable expressions are unstable - --> $DIR/required-feature.rs:37:26 + --> $DIR/required-features.rs:25:26 | LL | $( ${ignore(e)} ${length()} )* | ^^^^^^^^^^ @@ -88,6 +52,6 @@ LL | $( ${ignore(e)} ${length()} )* = note: see issue #83527 for more information = help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable -error: aborting due to 10 previous errors +error: aborting due to 6 previous errors For more information about this error, try `rustc --explain E0658`.