Add test that expr_2021 only works on 2024 edition
Co-authored-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
This commit is contained in:
parent
ef6478ba5f
commit
65da4adfcd
13
tests/ui/macros/expr_2021_old_edition.rs
Normal file
13
tests/ui/macros/expr_2021_old_edition.rs
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
//@ compile-flags: --edition=2021
|
||||||
|
|
||||||
|
// This test ensures that expr_2021 is not allowed on pre-2024 editions
|
||||||
|
|
||||||
|
macro_rules! m {
|
||||||
|
($e:expr_2021) => { //~ ERROR: invalid fragment specifier `expr_2021`
|
||||||
|
$e
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
m!(()); //~ ERROR: no rules expected the token `(`
|
||||||
|
}
|
25
tests/ui/macros/expr_2021_old_edition.stderr
Normal file
25
tests/ui/macros/expr_2021_old_edition.stderr
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
error: invalid fragment specifier `expr_2021`
|
||||||
|
--> $DIR/expr_2021_old_edition.rs:6:6
|
||||||
|
|
|
||||||
|
LL | ($e:expr_2021) => {
|
||||||
|
| ^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= help: valid fragment specifiers are `ident`, `block`, `stmt`, `expr`, `pat`, `ty`, `lifetime`, `literal`, `path`, `meta`, `tt`, `item` and `vis`
|
||||||
|
|
||||||
|
error: no rules expected the token `(`
|
||||||
|
--> $DIR/expr_2021_old_edition.rs:12:8
|
||||||
|
|
|
||||||
|
LL | macro_rules! m {
|
||||||
|
| -------------- when calling this macro
|
||||||
|
...
|
||||||
|
LL | m!(());
|
||||||
|
| ^ no rules expected this token in macro call
|
||||||
|
|
|
||||||
|
note: while trying to match meta-variable `$e:ident`
|
||||||
|
--> $DIR/expr_2021_old_edition.rs:6:6
|
||||||
|
|
|
||||||
|
LL | ($e:expr_2021) => {
|
||||||
|
| ^^^^^^^^^^^^
|
||||||
|
|
||||||
|
error: aborting due to 2 previous errors
|
||||||
|
|
Loading…
Reference in New Issue
Block a user