about summary refs log tree commit diff
path: root/compiler/rustc_passes/src/check_attr.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-08-08 02:27:38 +0000
committerbors <bors@rust-lang.org>2023-08-08 02:27:38 +0000
commit8e7fd551311d424e4e63fa45906a2a928fce96a7 (patch)
treed3afa2d901c697b08d0039dee07833fd15f48e47 /compiler/rustc_passes/src/check_attr.rs
parent443c3161dd04f4c1b656a626f9079921bee9c326 (diff)
parent07b2c971a1f9a2db803bb93e6751f8a451fc664d (diff)
downloadrust-8e7fd551311d424e4e63fa45906a2a928fce96a7.tar.gz
rust-8e7fd551311d424e4e63fa45906a2a928fce96a7.zip
Auto merge of #114604 - matthiaskrgr:rollup-o1jltfn, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #114376 (Avoid exporting __rust_alloc_error_handler_should_panic more than once.)
 - #114413 (Warn when #[macro_export] is applied on decl macros)
 - #114497 (Revert #98333 "Re-enable atomic loads and stores for all RISC-V targets")
 - #114500 (Remove arm crypto target feature)
 - #114566 (Store the laziness of type aliases in their `DefKind`)
 - #114594 (Structurally normalize weak and inherent in new solver)
 - #114596 (Rename method in `opt-dist`)

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_passes/src/check_attr.rs')
-rw-r--r--compiler/rustc_passes/src/check_attr.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/compiler/rustc_passes/src/check_attr.rs b/compiler/rustc_passes/src/check_attr.rs
index cbb030958c6..4f9b362e237 100644
--- a/compiler/rustc_passes/src/check_attr.rs
+++ b/compiler/rustc_passes/src/check_attr.rs
@@ -2133,6 +2133,20 @@ impl CheckAttrVisitor<'_> {
                     );
                 }
             }
+        } else {
+            // special case when `#[macro_export]` is applied to a macro 2.0
+            let (macro_definition, _) =
+                self.tcx.hir().find(hir_id).unwrap().expect_item().expect_macro();
+            let is_decl_macro = !macro_definition.macro_rules;
+
+            if is_decl_macro {
+                self.tcx.emit_spanned_lint(
+                    UNUSED_ATTRIBUTES,
+                    hir_id,
+                    attr.span,
+                    errors::MacroExport::OnDeclMacro,
+                );
+            }
         }
     }