Skip to content

Commit

Permalink
tests: adds cargo fix tests
Browse files Browse the repository at this point in the history
Co-Developed-by: Eric Holk
Signed-off-by: Vincenzo Palazzo <[email protected]>
  • Loading branch information
vincenzopalazzo committed Jul 9, 2024
1 parent 25637e2 commit 568e78f
Show file tree
Hide file tree
Showing 6 changed files with 91 additions and 3 deletions.
24 changes: 24 additions & 0 deletions tests/ui/macros/expr_2021_cargo_fix_edition.fixed
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
//@ run-rustfix
//@ check-pass
//@ compile-flags: --edition=2021
#![allow(incomplete_features)]
#![feature(expr_fragment_specifier_2024)]
#![warn(edition_2024_expr_fragment_specifier)]

macro_rules! m {
($e:expr_2021) => { //~ WARN: the `expr` fragment specifier will accept more expressions in the 2024 edition
//~^ WARN: this changes meaning in Rust 2024
$e
};
($($i:expr_2021)*) => { }; //~ WARN: the `expr` fragment specifier will accept more expressions in the 2024 edition
//~^ WARN: this changes meaning in Rust 2024
}

macro_rules! test {
(expr) => {}
}

fn main() {
m!(());
test!(expr);
}
24 changes: 24 additions & 0 deletions tests/ui/macros/expr_2021_cargo_fix_edition.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
//@ run-rustfix
//@ check-pass
//@ compile-flags: --edition=2021
#![allow(incomplete_features)]
#![feature(expr_fragment_specifier_2024)]
#![warn(edition_2024_expr_fragment_specifier)]

macro_rules! m {
($e:expr) => { //~ WARN: the `expr` fragment specifier will accept more expressions in the 2024 edition
//~^ WARN: this changes meaning in Rust 2024
$e
};
($($i:expr)*) => { }; //~ WARN: the `expr` fragment specifier will accept more expressions in the 2024 edition
//~^ WARN: this changes meaning in Rust 2024
}

macro_rules! test {
(expr) => {}
}

fn main() {
m!(());
test!(expr);
}
33 changes: 33 additions & 0 deletions tests/ui/macros/expr_2021_cargo_fix_edition.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
--> $DIR/expr_2021_cargo_fix_edition.rs:9:9
|
LL | ($e:expr) => {
| ^^^^
|
= warning: this changes meaning in Rust 2024
= note: for more information, see Migration Guide <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/macro-fragment-specifiers.html>
note: the lint level is defined here
--> $DIR/expr_2021_cargo_fix_edition.rs:6:9
|
LL | #![warn(edition_2024_expr_fragment_specifier)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: to keep the existing behavior, use the `expr_2021` fragment specifier
|
LL | ($e:expr_2021) => {
| ~~~~~~~~~

warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
--> $DIR/expr_2021_cargo_fix_edition.rs:13:11
|
LL | ($($i:expr)*) => { };
| ^^^^
|
= warning: this changes meaning in Rust 2024
= note: for more information, see Migration Guide <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/macro-fragment-specifiers.html>
help: to keep the existing behavior, use the `expr_2021` fragment specifier
|
LL | ($($i:expr_2021)*) => { };
| ~~~~~~~~~

warning: 2 warnings emitted

4 changes: 2 additions & 2 deletions tests/ui/macros/expr_2021_inline_const.edi2021.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error: no rules expected the token `const`
--> $DIR/expr_2021_inline_const.rs:21:12
--> $DIR/expr_2021_inline_const.rs:26:12
|
LL | macro_rules! m2021 {
| ------------------ when calling this macro
Expand All @@ -14,7 +14,7 @@ LL | ($e:expr_2021) => {
| ^^^^^^^^^^^^

error: no rules expected the token `const`
--> $DIR/expr_2021_inline_const.rs:22:12
--> $DIR/expr_2021_inline_const.rs:27:12
|
LL | macro_rules! m2024 {
| ------------------ when calling this macro
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/macros/expr_2021_inline_const.edi2024.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error: no rules expected the token `const`
--> $DIR/expr_2021_inline_const.rs:21:12
--> $DIR/expr_2021_inline_const.rs:26:12
|
LL | macro_rules! m2021 {
| ------------------ when calling this macro
Expand Down
7 changes: 7 additions & 0 deletions tests/ui/macros/expr_2021_inline_const.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,14 @@ macro_rules! m2024 {
$e
};
}

macro_rules! test {
(expr) => {}
}

fn main() {
m2021!(const { 1 }); //~ ERROR: no rules expected the token `const`
m2024!(const { 1 }); //[edi2021]~ ERROR: no rules expected the token `const`

test!(expr);
}

0 comments on commit 568e78f

Please sign in to comment.