summaryrefslogtreecommitdiffstats
path: root/src/test/ui/feature-gates/issue-43106-gating-of-macro_use.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/feature-gates/issue-43106-gating-of-macro_use.rs')
-rw-r--r--src/test/ui/feature-gates/issue-43106-gating-of-macro_use.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/ui/feature-gates/issue-43106-gating-of-macro_use.rs b/src/test/ui/feature-gates/issue-43106-gating-of-macro_use.rs
new file mode 100644
index 000000000..6a7ef7939
--- /dev/null
+++ b/src/test/ui/feature-gates/issue-43106-gating-of-macro_use.rs
@@ -0,0 +1,25 @@
+// This is just a check-list of the cases where feeding arguments to
+// `#[macro_use]` is rejected. (The cases where no error is emitted
+// corresponds to cases where the attribute is currently unused, so we
+// get that warning; see issue-43106-gating-of-builtin-attrs.rs
+
+#![macro_use(my_macro)]
+//~^ ERROR arguments to `macro_use` are not allowed here
+
+#[macro_use(my_macro)]
+//~^ ERROR arguments to `macro_use` are not allowed here
+mod macro_escape {
+ mod inner { #![macro_use(my_macro)] }
+ //~^ ERROR arguments to `macro_use` are not allowed here
+
+ #[macro_use = "2700"] struct S;
+ //~^ ERROR malformed `macro_use` attribute
+
+ #[macro_use] fn f() { }
+
+ #[macro_use] type T = S;
+
+ #[macro_use] impl S { }
+}
+
+fn main() { }