| macro_rules! m { | |
| ($pat: pat) => { | |
| trait Tr { | |
| fn trait_method($pat: u8); | |
| } | |
| type A = fn($pat: u8); | |
| extern "C" { | |
| fn foreign_fn($pat: u8); | |
| } | |
| }; | |
| } | |
| mod good_pat { | |
| m!(good_pat); // OK | |
| } | |
| mod bad_pat { | |
| m!((bad, pat)); | |
| //~^ ERROR patterns aren't allowed in function pointer types | |
| //~| ERROR patterns aren't allowed in foreign function declarations | |
| //~| ERROR patterns aren't allowed in functions without bodies | |
| } | |
| fn main() {} |