Fix macro infinite recursion test to not trigger warning about semicolon in expr

The test cases for issue 41731 are about infinite macro recursion that
incorporates `print!` and `println!`. However, they also included
trailing semicolons despite expanding to expressions; that isn't what
these particular test cases are designed to test.

Eliminate the trailing semicolons, to simplify future work on removing
this special case. Every *other* macro that expands to a semicolon in an
expression is a test case for that specifically.
This commit is contained in:
Josh Triplett 2025-08-10 14:04:07 -07:00
parent ca77504943
commit 0885f660a5
4 changed files with 8 additions and 8 deletions

View File

@ -5,7 +5,7 @@
fn main() {
macro_rules! stack {
($overflow:expr) => {
print!(stack!($overflow));
print!(stack!($overflow))
//~^ ERROR recursion limit reached while expanding
//~| ERROR format argument must be a string literal
};

View File

@ -14,11 +14,11 @@ LL | stack!("overflow");
| ^^^^^^^^^^^^^^^^^^
|
= note: expanding `stack! { "overflow" }`
= note: to `print! (stack! ("overflow"));`
= note: to `print! (stack! ("overflow"))`
= note: expanding `print! { stack! ("overflow") }`
= note: to `{ $crate :: io :: _print($crate :: format_args! (stack! ("overflow"))); }`
= note: expanding `stack! { "overflow" }`
= note: to `print! (stack! ("overflow"));`
= note: to `print! (stack! ("overflow"))`
= note: expanding `print! { stack! ("overflow") }`
= note: to `{ $crate :: io :: _print($crate :: format_args! (stack! ("overflow"))); }`
@ -31,7 +31,7 @@ LL | stack!("overflow");
= note: this error originates in the macro `print` which comes from the expansion of the macro `stack` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you might be missing a string literal to format with
|
LL | print!("{}", stack!($overflow));
LL | print!("{}", stack!($overflow))
| +++++
error: aborting due to 2 previous errors

View File

@ -5,7 +5,7 @@
fn main() {
macro_rules! stack {
($overflow:expr) => {
println!(stack!($overflow));
println!(stack!($overflow))
//~^ ERROR recursion limit reached while expanding
//~| ERROR format argument must be a string literal
};

View File

@ -14,11 +14,11 @@ LL | stack!("overflow");
| ^^^^^^^^^^^^^^^^^^
|
= note: expanding `stack! { "overflow" }`
= note: to `println! (stack! ("overflow"));`
= note: to `println! (stack! ("overflow"))`
= note: expanding `println! { stack! ("overflow") }`
= note: to `{ $crate :: io :: _print($crate :: format_args_nl! (stack! ("overflow"))); }`
= note: expanding `stack! { "overflow" }`
= note: to `println! (stack! ("overflow"));`
= note: to `println! (stack! ("overflow"))`
= note: expanding `println! { stack! ("overflow") }`
= note: to `{ $crate :: io :: _print($crate :: format_args_nl! (stack! ("overflow"))); }`
@ -31,7 +31,7 @@ LL | stack!("overflow");
= note: this error originates in the macro `println` which comes from the expansion of the macro `stack` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you might be missing a string literal to format with
|
LL | println!("{}", stack!($overflow));
LL | println!("{}", stack!($overflow))
| +++++
error: aborting due to 2 previous errors