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