about summary refs log tree commit diff
path: root/src/test/ui/parser/issues/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs
diff options
context:
space:
mode:
authorBadel2 <2badel2@gmail.com>2021-11-20 14:28:33 +0100
committerBadel2 <2badel2@gmail.com>2021-11-20 14:52:21 +0100
commit8c8914ecaba0ae97970d129cf9f2301944c26dff (patch)
treef0dcd821282e3f1faf7404b1dbffff8be6c47a74 /src/test/ui/parser/issues/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs
parent77a105c91f5aff0d6749210cc18bc8970881c3c4 (diff)
downloadrust-8c8914ecaba0ae97970d129cf9f2301944c26dff.tar.gz
rust-8c8914ecaba0ae97970d129cf9f2301944c26dff.zip
Move parser tests to parser/issues subdirectory
Because the parser directory has already reached the 1000 file limit.
Diffstat (limited to 'src/test/ui/parser/issues/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs')
-rw-r--r--src/test/ui/parser/issues/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/test/ui/parser/issues/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs b/src/test/ui/parser/issues/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs
new file mode 100644
index 00000000000..48a679b2d09
--- /dev/null
+++ b/src/test/ui/parser/issues/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs
@@ -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!();
+}