about summary refs log tree commit diff
path: root/tests/ui/lint/inert-attr-macro.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/lint/inert-attr-macro.rs')
-rw-r--r--tests/ui/lint/inert-attr-macro.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/lint/inert-attr-macro.rs b/tests/ui/lint/inert-attr-macro.rs
new file mode 100644
index 00000000000..dc0bb8ac265
--- /dev/null
+++ b/tests/ui/lint/inert-attr-macro.rs
@@ -0,0 +1,20 @@
+// check-pass
+
+#![warn(unused)]
+
+macro_rules! foo {
+    () => {}
+}
+
+fn main() {
+    #[inline] foo!(); //~ WARN unused attribute `inline`
+
+    // This does nothing, since `#[allow(warnings)]` is itself
+    // an inert attribute on a macro call
+    #[allow(warnings)] #[inline] foo!(); //~ WARN unused attribute `allow`
+    //~^ WARN unused attribute `inline`
+
+    // This does work, since the attribute is on a parent
+    // of the macro invocation.
+    #[allow(warnings)] { #[inline] foo!(); }
+}