diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
commit | 218caa410aa38c29984be31a5229b9fa717560ee (patch) | |
tree | c54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/issues/issue-5067.rs | |
parent | Releasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/issues/issue-5067.rs')
-rw-r--r-- | src/test/ui/issues/issue-5067.rs | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/src/test/ui/issues/issue-5067.rs b/src/test/ui/issues/issue-5067.rs deleted file mode 100644 index 5857a0815..000000000 --- a/src/test/ui/issues/issue-5067.rs +++ /dev/null @@ -1,75 +0,0 @@ -#![allow(unused_macros)] - -// Tests that repetition matchers cannot match the empty token tree (since that would be -// ambiguous). - -// edition:2018 - -macro_rules! foo { - ( $()* ) => {}; - //~^ ERROR repetition matches empty token tree - ( $()+ ) => {}; - //~^ ERROR repetition matches empty token tree - ( $()? ) => {}; - //~^ ERROR repetition matches empty token tree - ( $(),* ) => {}; // PASS - ( $(),+ ) => {}; // PASS - // `?` cannot have a separator... - ( [$()*] ) => {}; - //~^ ERROR repetition matches empty token tree - ( [$()+] ) => {}; - //~^ ERROR repetition matches empty token tree - ( [$()?] ) => {}; - //~^ ERROR repetition matches empty token tree - ( [$(),*] ) => {}; // PASS - ( [$(),+] ) => {}; // PASS - // `?` cannot have a separator... - ( $($()* $(),* $(a)* $(a),* )* ) => {}; - //~^ ERROR repetition matches empty token tree - ( $($()* $(),* $(a)* $(a),* )+ ) => {}; - //~^ ERROR repetition matches empty token tree - ( $($()* $(),* $(a)* $(a),* )? ) => {}; - //~^ ERROR repetition matches empty token tree - ( $($()? $(),* $(a)? $(a),* )* ) => {}; - //~^ ERROR repetition matches empty token tree - ( $($()? $(),* $(a)? $(a),* )+ ) => {}; - //~^ ERROR repetition matches empty token tree - ( $($()? $(),* $(a)? $(a),* )? ) => {}; - //~^ ERROR repetition matches empty token tree - ( $(a $(),* $(a)* $(a),* )* ) => {}; // PASS - ( $($(a)+ $(),* $(a)* $(a),* )+ ) => {}; // PASS - ( $($(a)+ $(),* $(a)* $(a),* )? ) => {}; // PASS - - ( $(a $(),* $(a)? $(a),* )* ) => {}; // PASS - ( $($(a)+ $(),* $(a)? $(a),* )+ ) => {}; // PASS - ( $($(a)+ $(),* $(a)? $(a),* )? ) => {}; // PASS - - ( $(a $()+)* ) => {}; - //~^ ERROR repetition matches empty token tree - ( $(a $()*)+ ) => {}; - //~^ ERROR repetition matches empty token tree - ( $(a $()+)? ) => {}; - //~^ ERROR repetition matches empty token tree - ( $(a $()?)+ ) => {}; - //~^ ERROR repetition matches empty token tree -} - -// Original Issue - -macro_rules! make_vec { - (a $e1:expr $($(, a $e2:expr)*)*) => ([$e1 $($(, $e2)*)*]); - //~^ ERROR repetition matches empty token tree -} - -fn main() { - let _ = make_vec![a 1, a 2, a 3]; -} - -// Minified Issue - -macro_rules! m { - ( $()* ) => {}; - //~^ ERROR repetition matches empty token tree -} - -m!(); |