about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLukas Wirth <lukastw97@gmail.com>2025-01-24 13:13:48 +0000
committerGitHub <noreply@github.com>2025-01-24 13:13:48 +0000
commita365f732ea0be1283dd53f9022668b53fafd403f (patch)
treedee8ed5838215e60940580d8e4a2a4ba6a01e419
parent7ba18daca727a5eaa283ef044841eef0e7fd156d (diff)
parent27084a25a4830b27bef9933291df4e752a6ab27c (diff)
downloadrust-a365f732ea0be1283dd53f9022668b53fafd403f.tar.gz
rust-a365f732ea0be1283dd53f9022668b53fafd403f.zip
Merge pull request #19014 from darichey/fix-cfg-macro
Check cfg when collecting macro defs
-rw-r--r--src/tools/rust-analyzer/crates/hir-def/src/body/lower.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/hir-def/src/body/lower.rs b/src/tools/rust-analyzer/crates/hir-def/src/body/lower.rs
index 1327bb3ab59..16c7b5ca00a 100644
--- a/src/tools/rust-analyzer/crates/hir-def/src/body/lower.rs
+++ b/src/tools/rust-analyzer/crates/hir-def/src/body/lower.rs
@@ -1381,6 +1381,9 @@ impl ExprCollector<'_> {
                 }
             }
             ast::Stmt::Item(ast::Item::MacroDef(macro_)) => {
+                if self.check_cfg(&macro_).is_none() {
+                    return;
+                }
                 let Some(name) = macro_.name() else {
                     statements.push(Statement::Item(Item::Other));
                     return;
@@ -1390,6 +1393,9 @@ impl ExprCollector<'_> {
                 self.collect_macro_def(statements, macro_id);
             }
             ast::Stmt::Item(ast::Item::MacroRules(macro_)) => {
+                if self.check_cfg(&macro_).is_none() {
+                    return;
+                }
                 let Some(name) = macro_.name() else {
                     statements.push(Statement::Item(Item::Other));
                     return;