rust/tests/ui/parser/issues/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs
2023-01-11 09:32:08 +00:00

45 lines
881 B
Rust

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!();
}