Rollup merge of #99435 - CAD97:revert-dollar-dollar-crate, r=Mark-Simulacrum
Revert "Stabilize $$ in Rust 1.63.0" This mechanically reverts commit 9edaa76adce4de737db54194eb13d6c298827b37, the one commit from #95860. https://github.com/rust-lang/rust/issues/99035; the behavior of `$$crate` is potentially unexpected and not ready to be stabilized. https://github.com/rust-lang/rust/pull/99193 attempts to forbid `$$crate` without also destabilizing `$$` more generally. `@rustbot` modify labels +T-compiler +T-lang +P-medium +beta-nominated +relnotes (applying the labels I think are accurate from the issue and alternative partial revert) cc `@Mark-Simulacrum`
This commit is contained in:
commit
19932a5533
@ -234,6 +234,8 @@ fn parse_tree(
|
||||
sess,
|
||||
&Token { kind: token::Dollar, span },
|
||||
);
|
||||
} else {
|
||||
maybe_emit_macro_metavar_expr_feature(features, sess, span);
|
||||
}
|
||||
TokenTree::token(token::Dollar, span)
|
||||
}
|
||||
|
@ -1,12 +0,0 @@
|
||||
// check-pass
|
||||
|
||||
macro_rules! dollar_dollar {
|
||||
() => {
|
||||
macro_rules! bar {
|
||||
( $$( $$any:tt )* ) => { $$( $$any )* };
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
fn main() {
|
||||
}
|
@ -5,6 +5,18 @@ 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()} )*
|
@ -1,5 +1,5 @@
|
||||
error[E0658]: meta-variable expressions are unstable
|
||||
--> $DIR/required-features.rs:3:10
|
||||
--> $DIR/required-feature.rs:3:10
|
||||
|
|
||||
LL | ${ count(e) }
|
||||
| ^^^^^^^^^^^^
|
||||
@ -8,7 +8,43 @@ LL | ${ count(e) }
|
||||
= help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable
|
||||
|
||||
error[E0658]: meta-variable expressions are unstable
|
||||
--> $DIR/required-features.rs:10:13
|
||||
--> $DIR/required-feature.rs:11:16
|
||||
|
|
||||
LL | ( $$( $$any:tt )* ) => { $$( $$any )* };
|
||||
| ^
|
||||
|
|
||||
= note: see issue #83527 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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
|
||||
|
|
||||
LL | $( ${ignore(e)} ${index()} )*
|
||||
| ^^^^^^^^^^^
|
||||
@ -17,7 +53,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-features.rs:10:26
|
||||
--> $DIR/required-feature.rs:22:26
|
||||
|
|
||||
LL | $( ${ignore(e)} ${index()} )*
|
||||
| ^^^^^^^^^
|
||||
@ -26,7 +62,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-features.rs:18:19
|
||||
--> $DIR/required-feature.rs:30:19
|
||||
|
|
||||
LL | 0 $( + 1 ${ignore(i)} )*
|
||||
| ^^^^^^^^^^^
|
||||
@ -35,7 +71,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-features.rs:25:13
|
||||
--> $DIR/required-feature.rs:37:13
|
||||
|
|
||||
LL | $( ${ignore(e)} ${length()} )*
|
||||
| ^^^^^^^^^^^
|
||||
@ -44,7 +80,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-features.rs:25:26
|
||||
--> $DIR/required-feature.rs:37:26
|
||||
|
|
||||
LL | $( ${ignore(e)} ${length()} )*
|
||||
| ^^^^^^^^^^
|
||||
@ -52,6 +88,6 @@ LL | $( ${ignore(e)} ${length()} )*
|
||||
= note: see issue #83527 <https://github.com/rust-lang/rust/issues/83527> for more information
|
||||
= help: add `#![feature(macro_metavar_expr)]` to the crate attributes to enable
|
||||
|
||||
error: aborting due to 6 previous errors
|
||||
error: aborting due to 10 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
Loading…
x
Reference in New Issue
Block a user