diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
commit | 64d98f8ee037282c35007b64c2649055c56af1db (patch) | |
tree | 5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /tests/ui/infinite | |
parent | Adding debian version 1.67.1+dfsg1-1. (diff) | |
download | rustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | tests/ui/infinite/infinite-autoderef.rs (renamed from src/test/ui/infinite/infinite-autoderef.rs) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-autoderef.stderr (renamed from src/test/ui/infinite/infinite-autoderef.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-instantiation.polonius.stderr (renamed from src/test/ui/infinite/infinite-instantiation.polonius.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-instantiation.rs (renamed from src/test/ui/infinite/infinite-instantiation.rs) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-instantiation.stderr (renamed from src/test/ui/infinite/infinite-instantiation.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-macro-expansion.rs (renamed from src/test/ui/infinite/infinite-macro-expansion.rs) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-macro-expansion.stderr (renamed from src/test/ui/infinite/infinite-macro-expansion.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-recursion-const-fn.rs (renamed from src/test/ui/infinite/infinite-recursion-const-fn.rs) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-recursion-const-fn.stderr (renamed from src/test/ui/infinite/infinite-recursion-const-fn.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-struct.rs (renamed from src/test/ui/infinite/infinite-struct.rs) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-struct.stderr (renamed from src/test/ui/infinite/infinite-struct.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-tag-type-recursion.rs (renamed from src/test/ui/infinite/infinite-tag-type-recursion.rs) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-tag-type-recursion.stderr (renamed from src/test/ui/infinite/infinite-tag-type-recursion.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-trait-alias-recursion.rs (renamed from src/test/ui/infinite/infinite-trait-alias-recursion.rs) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-trait-alias-recursion.stderr (renamed from src/test/ui/infinite/infinite-trait-alias-recursion.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-type-alias-mutual-recursion.rs (renamed from src/test/ui/infinite/infinite-type-alias-mutual-recursion.rs) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-type-alias-mutual-recursion.stderr (renamed from src/test/ui/infinite/infinite-type-alias-mutual-recursion.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-vec-type-recursion.rs (renamed from src/test/ui/infinite/infinite-vec-type-recursion.rs) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/infinite-vec-type-recursion.stderr (renamed from src/test/ui/infinite/infinite-vec-type-recursion.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/infinite/issue-41731-infinite-macro-print.rs | 15 | ||||
-rw-r--r-- | tests/ui/infinite/issue-41731-infinite-macro-print.stderr | 38 | ||||
-rw-r--r-- | tests/ui/infinite/issue-41731-infinite-macro-println.rs | 15 | ||||
-rw-r--r-- | tests/ui/infinite/issue-41731-infinite-macro-println.stderr | 38 |
23 files changed, 106 insertions, 0 deletions
diff --git a/src/test/ui/infinite/infinite-autoderef.rs b/tests/ui/infinite/infinite-autoderef.rs index cbbe1f81d..cbbe1f81d 100644 --- a/src/test/ui/infinite/infinite-autoderef.rs +++ b/tests/ui/infinite/infinite-autoderef.rs diff --git a/src/test/ui/infinite/infinite-autoderef.stderr b/tests/ui/infinite/infinite-autoderef.stderr index 51b61e3a6..51b61e3a6 100644 --- a/src/test/ui/infinite/infinite-autoderef.stderr +++ b/tests/ui/infinite/infinite-autoderef.stderr diff --git a/src/test/ui/infinite/infinite-instantiation.polonius.stderr b/tests/ui/infinite/infinite-instantiation.polonius.stderr index 29eb8c481..29eb8c481 100644 --- a/src/test/ui/infinite/infinite-instantiation.polonius.stderr +++ b/tests/ui/infinite/infinite-instantiation.polonius.stderr diff --git a/src/test/ui/infinite/infinite-instantiation.rs b/tests/ui/infinite/infinite-instantiation.rs index 9b9f332ca..9b9f332ca 100644 --- a/src/test/ui/infinite/infinite-instantiation.rs +++ b/tests/ui/infinite/infinite-instantiation.rs diff --git a/src/test/ui/infinite/infinite-instantiation.stderr b/tests/ui/infinite/infinite-instantiation.stderr index 951e0f587..951e0f587 100644 --- a/src/test/ui/infinite/infinite-instantiation.stderr +++ b/tests/ui/infinite/infinite-instantiation.stderr diff --git a/src/test/ui/infinite/infinite-macro-expansion.rs b/tests/ui/infinite/infinite-macro-expansion.rs index 6ea0bc73d..6ea0bc73d 100644 --- a/src/test/ui/infinite/infinite-macro-expansion.rs +++ b/tests/ui/infinite/infinite-macro-expansion.rs diff --git a/src/test/ui/infinite/infinite-macro-expansion.stderr b/tests/ui/infinite/infinite-macro-expansion.stderr index 15654dfaf..15654dfaf 100644 --- a/src/test/ui/infinite/infinite-macro-expansion.stderr +++ b/tests/ui/infinite/infinite-macro-expansion.stderr diff --git a/src/test/ui/infinite/infinite-recursion-const-fn.rs b/tests/ui/infinite/infinite-recursion-const-fn.rs index 420915311..420915311 100644 --- a/src/test/ui/infinite/infinite-recursion-const-fn.rs +++ b/tests/ui/infinite/infinite-recursion-const-fn.rs diff --git a/src/test/ui/infinite/infinite-recursion-const-fn.stderr b/tests/ui/infinite/infinite-recursion-const-fn.stderr index 53b603a47..53b603a47 100644 --- a/src/test/ui/infinite/infinite-recursion-const-fn.stderr +++ b/tests/ui/infinite/infinite-recursion-const-fn.stderr diff --git a/src/test/ui/infinite/infinite-struct.rs b/tests/ui/infinite/infinite-struct.rs index f08e10f6b..f08e10f6b 100644 --- a/src/test/ui/infinite/infinite-struct.rs +++ b/tests/ui/infinite/infinite-struct.rs diff --git a/src/test/ui/infinite/infinite-struct.stderr b/tests/ui/infinite/infinite-struct.stderr index b6c72b1de..b6c72b1de 100644 --- a/src/test/ui/infinite/infinite-struct.stderr +++ b/tests/ui/infinite/infinite-struct.stderr diff --git a/src/test/ui/infinite/infinite-tag-type-recursion.rs b/tests/ui/infinite/infinite-tag-type-recursion.rs index 87a9e08dd..87a9e08dd 100644 --- a/src/test/ui/infinite/infinite-tag-type-recursion.rs +++ b/tests/ui/infinite/infinite-tag-type-recursion.rs diff --git a/src/test/ui/infinite/infinite-tag-type-recursion.stderr b/tests/ui/infinite/infinite-tag-type-recursion.stderr index 513bbfc1b..513bbfc1b 100644 --- a/src/test/ui/infinite/infinite-tag-type-recursion.stderr +++ b/tests/ui/infinite/infinite-tag-type-recursion.stderr diff --git a/src/test/ui/infinite/infinite-trait-alias-recursion.rs b/tests/ui/infinite/infinite-trait-alias-recursion.rs index ec86744e6..ec86744e6 100644 --- a/src/test/ui/infinite/infinite-trait-alias-recursion.rs +++ b/tests/ui/infinite/infinite-trait-alias-recursion.rs diff --git a/src/test/ui/infinite/infinite-trait-alias-recursion.stderr b/tests/ui/infinite/infinite-trait-alias-recursion.stderr index b925b3b01..b925b3b01 100644 --- a/src/test/ui/infinite/infinite-trait-alias-recursion.stderr +++ b/tests/ui/infinite/infinite-trait-alias-recursion.stderr diff --git a/src/test/ui/infinite/infinite-type-alias-mutual-recursion.rs b/tests/ui/infinite/infinite-type-alias-mutual-recursion.rs index 5381eedcf..5381eedcf 100644 --- a/src/test/ui/infinite/infinite-type-alias-mutual-recursion.rs +++ b/tests/ui/infinite/infinite-type-alias-mutual-recursion.rs diff --git a/src/test/ui/infinite/infinite-type-alias-mutual-recursion.stderr b/tests/ui/infinite/infinite-type-alias-mutual-recursion.stderr index 7f82b2944..7f82b2944 100644 --- a/src/test/ui/infinite/infinite-type-alias-mutual-recursion.stderr +++ b/tests/ui/infinite/infinite-type-alias-mutual-recursion.stderr diff --git a/src/test/ui/infinite/infinite-vec-type-recursion.rs b/tests/ui/infinite/infinite-vec-type-recursion.rs index 356818225..356818225 100644 --- a/src/test/ui/infinite/infinite-vec-type-recursion.rs +++ b/tests/ui/infinite/infinite-vec-type-recursion.rs diff --git a/src/test/ui/infinite/infinite-vec-type-recursion.stderr b/tests/ui/infinite/infinite-vec-type-recursion.stderr index 1e487a5b1..1e487a5b1 100644 --- a/src/test/ui/infinite/infinite-vec-type-recursion.stderr +++ b/tests/ui/infinite/infinite-vec-type-recursion.stderr diff --git a/tests/ui/infinite/issue-41731-infinite-macro-print.rs b/tests/ui/infinite/issue-41731-infinite-macro-print.rs new file mode 100644 index 000000000..d52e6e7e9 --- /dev/null +++ b/tests/ui/infinite/issue-41731-infinite-macro-print.rs @@ -0,0 +1,15 @@ +// compile-flags: -Z trace-macros + +#![recursion_limit = "5"] + +fn main() { + macro_rules! stack { + ($overflow:expr) => { + print!(stack!($overflow)); + //~^ ERROR recursion limit reached while expanding + //~| ERROR format argument must be a string literal + }; + } + + stack!("overflow"); +} diff --git a/tests/ui/infinite/issue-41731-infinite-macro-print.stderr b/tests/ui/infinite/issue-41731-infinite-macro-print.stderr new file mode 100644 index 000000000..e30b2039d --- /dev/null +++ b/tests/ui/infinite/issue-41731-infinite-macro-print.stderr @@ -0,0 +1,38 @@ +error: recursion limit reached while expanding `$crate::format_args!` + --> $DIR/issue-41731-infinite-macro-print.rs:14:5 + | +LL | stack!("overflow"); + | ^^^^^^^^^^^^^^^^^^ + | + = help: consider increasing the recursion limit by adding a `#![recursion_limit = "10"]` attribute to your crate (`issue_41731_infinite_macro_print`) + = 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) + +note: trace_macro + --> $DIR/issue-41731-infinite-macro-print.rs:14:5 + | +LL | stack!("overflow"); + | ^^^^^^^^^^^^^^^^^^ + | + = note: expanding `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: expanding `print! { stack! ("overflow") }` + = note: to `{ $crate :: io :: _print($crate :: format_args! (stack! ("overflow"))) ; }` + +error: format argument must be a string literal + --> $DIR/issue-41731-infinite-macro-print.rs:14:5 + | +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)); + | +++++ + +error: aborting due to 2 previous errors + diff --git a/tests/ui/infinite/issue-41731-infinite-macro-println.rs b/tests/ui/infinite/issue-41731-infinite-macro-println.rs new file mode 100644 index 000000000..3c2b7ee02 --- /dev/null +++ b/tests/ui/infinite/issue-41731-infinite-macro-println.rs @@ -0,0 +1,15 @@ +// compile-flags: -Z trace-macros + +#![recursion_limit = "5"] + +fn main() { + macro_rules! stack { + ($overflow:expr) => { + println!(stack!($overflow)); + //~^ ERROR recursion limit reached while expanding + //~| ERROR format argument must be a string literal + }; + } + + stack!("overflow"); +} diff --git a/tests/ui/infinite/issue-41731-infinite-macro-println.stderr b/tests/ui/infinite/issue-41731-infinite-macro-println.stderr new file mode 100644 index 000000000..66b466daf --- /dev/null +++ b/tests/ui/infinite/issue-41731-infinite-macro-println.stderr @@ -0,0 +1,38 @@ +error: recursion limit reached while expanding `$crate::format_args_nl!` + --> $DIR/issue-41731-infinite-macro-println.rs:14:5 + | +LL | stack!("overflow"); + | ^^^^^^^^^^^^^^^^^^ + | + = help: consider increasing the recursion limit by adding a `#![recursion_limit = "10"]` attribute to your crate (`issue_41731_infinite_macro_println`) + = 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) + +note: trace_macro + --> $DIR/issue-41731-infinite-macro-println.rs:14:5 + | +LL | stack!("overflow"); + | ^^^^^^^^^^^^^^^^^^ + | + = note: expanding `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: expanding `println! { stack! ("overflow") }` + = note: to `{ $crate :: io :: _print($crate :: format_args_nl! (stack! ("overflow"))) ; }` + +error: format argument must be a string literal + --> $DIR/issue-41731-infinite-macro-println.rs:14:5 + | +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)); + | +++++ + +error: aborting due to 2 previous errors + |