parse: test bad variants wrt. issue 48137.
This commit is contained in:
parent
fde5939d1c
commit
1c75f5aaa1
|
@ -0,0 +1,44 @@
|
|||
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!();
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
error: struct is not supported in `trait`s or `impl`s
|
||||
--> $DIR/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs:20:5
|
||||
|
|
||||
LL | struct BadS;
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: enum is not supported in `trait`s or `impl`s
|
||||
--> $DIR/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs:5:9
|
||||
|
|
||||
LL | enum BadE {}
|
||||
| ^^^^^^^^^
|
||||
...
|
||||
LL | expand_to_enum!();
|
||||
| ------------------ in this macro invocation
|
||||
|
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: struct is not supported in `trait`s or `impl`s
|
||||
--> $DIR/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs:31:5
|
||||
|
|
||||
LL | struct BadS;
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: enum is not supported in `trait`s or `impl`s
|
||||
--> $DIR/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs:5:9
|
||||
|
|
||||
LL | enum BadE {}
|
||||
| ^^^^^^^^^
|
||||
...
|
||||
LL | expand_to_enum!();
|
||||
| ------------------ in this macro invocation
|
||||
|
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: struct is not supported in `extern` blocks
|
||||
--> $DIR/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs:42:5
|
||||
|
|
||||
LL | struct BadS;
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: enum is not supported in `extern` blocks
|
||||
--> $DIR/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs:5:9
|
||||
|
|
||||
LL | enum BadE {}
|
||||
| ^^^^^^^^^
|
||||
...
|
||||
LL | expand_to_enum!();
|
||||
| ------------------ in this macro invocation
|
||||
|
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: aborting due to 6 previous errors
|
||||
|
Loading…
Reference in New Issue