diff options
Diffstat (limited to 'src/test/ui/macros/macro-at-most-once-rep-2015-rpass.rs')
-rw-r--r-- | src/test/ui/macros/macro-at-most-once-rep-2015-rpass.rs | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/src/test/ui/macros/macro-at-most-once-rep-2015-rpass.rs b/src/test/ui/macros/macro-at-most-once-rep-2015-rpass.rs deleted file mode 100644 index 66597c0ac..000000000 --- a/src/test/ui/macros/macro-at-most-once-rep-2015-rpass.rs +++ /dev/null @@ -1,50 +0,0 @@ -// run-pass - -#![allow(unused_mut)] - -// Check that when `?` is followed by what looks like a Kleene operator (?, +, and *) -// then that `?` is not interpreted as a separator. In other words, `$(pat)?+` matches `pat +` -// or `+` but does not match `pat` or `pat ? pat`. - -// edition:2015 - -macro_rules! foo { - // Check for `?`. - ($($a:ident)? ? $num:expr) => { - foo!($($a)? ; $num); - }; - // Check for `+`. - ($($a:ident)? + $num:expr) => { - foo!($($a)? ; $num); - }; - // Check for `*`. - ($($a:ident)? * $num:expr) => { - foo!($($a)? ; $num); - }; - // Check for `;`, not a kleene operator. - ($($a:ident)? ; $num:expr) => { - let mut x = 0; - - $( - x += $a; - )? - - assert_eq!(x, $num); - }; -} - -pub fn main() { - let a = 1; - - // Accept 0 repetitions. - foo!( ; 0); - foo!( + 0); - foo!( * 0); - foo!( ? 0); - - // Accept 1 repetition. - foo!(a ; 1); - foo!(a + 1); - foo!(a * 1); - foo!(a ? 1); -} |