]> git.lizzy.rs Git - rust.git/blob - tests/ui/macros/macro-input-future-proofing.rs
Move /src/test to /tests
[rust.git] / tests / ui / macros / macro-input-future-proofing.rs
1 #![allow(unused_macros)]
2
3 macro_rules! errors_everywhere {
4     ($ty:ty <) => (); //~ ERROR `$ty:ty` is followed by `<`, which is not allowed for `ty`
5     ($ty:ty < foo ,) => (); //~ ERROR `$ty:ty` is followed by `<`, which is not allowed for `ty`
6     ($ty:ty , ) => ();
7     ( ( $ty:ty ) ) => ();
8     ( { $ty:ty } ) => ();
9     ( [ $ty:ty ] ) => ();
10     ($bl:block < ) => ();
11     ($pa:pat >) => (); //~ ERROR `$pa:pat` is followed by `>`, which is not allowed for `pat`
12     ($pa:pat , ) => ();
13     ($pa:pat $pb:pat $ty:ty ,) => ();
14     //~^ ERROR `$pa:pat` is followed by `$pb:pat`, which is not allowed
15     //~^^ ERROR `$pb:pat` is followed by `$ty:ty`, which is not allowed
16     ($($ty:ty)* -) => (); //~ ERROR `$ty:ty` is followed by `-`
17     ($($a:ty, $b:ty)* -) => (); //~ ERROR `$b:ty` is followed by `-`
18     ($($ty:ty)-+) => (); //~ ERROR `$ty:ty` is followed by `-`, which is not allowed for `ty`
19     ( $($a:expr)* $($b:tt)* ) => { };
20     //~^ ERROR `$a:expr` is followed by `$b:tt`, which is not allowed for `expr` fragments
21 }
22
23 fn main() { }