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