| fn main() {} |
| |
| macro_rules! expand_to_enum { |
| () => { |
| enum BadE {} |
| //~^ ERROR enum is not supported in `trait`s or `impl`s |
| //~| ERROR enum is not supported in `trait`s or `impl`s |
| //~| ERROR enum is not supported in `extern` blocks |
| }; |
| } |
| |
| macro_rules! mac_impl { |
| ($($i:item)*) => { |
| struct S; |
| impl S { $($i)* } |
| } |
| } |
| |
| mac_impl! { |
| struct BadS; //~ ERROR struct is not supported in `trait`s or `impl`s |
| expand_to_enum!(); |
| } |
| |
| macro_rules! mac_trait { |
| ($($i:item)*) => { |
| trait T { $($i)* } |
| } |
| } |
| |
| mac_trait! { |
| struct BadS; //~ ERROR struct is not supported in `trait`s or `impl`s |
| expand_to_enum!(); |
| } |
| |
| macro_rules! mac_extern { |
| ($($i:item)*) => { |
| extern "C" { $($i)* } |
| } |
| } |
| |
| mac_extern! { |
| struct BadS; //~ ERROR struct is not supported in `extern` blocks |
| expand_to_enum!(); |
| } |