From 1d34cdcac07b23dafa7826ecf73ce2008b4be479 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Wed, 15 Jun 2022 17:34:13 +0200 Subject: [PATCH] Diagnose unresolved attribute proc-macros --- crates/hir-def/src/nameres/collector.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/crates/hir-def/src/nameres/collector.rs b/crates/hir-def/src/nameres/collector.rs index 1c276e0d6f7..46f752f00a4 100644 --- a/crates/hir-def/src/nameres/collector.rs +++ b/crates/hir-def/src/nameres/collector.rs @@ -1138,7 +1138,19 @@ fn resolve_macros(&mut self) -> ReachedFixedPoint { let def = match resolver(path.clone()) { Some(def) if def.is_attribute() => def, - _ => return true, + _ => { + self.def_map.diagnostics.push(DefDiagnostic::unresolved_proc_macro( + directive.module_id, + MacroCallKind::Attr { + ast_id, + attr_args: Default::default(), + invoc_attr_index: attr.id.ast_index, + is_derive: false, + }, + self.proc_macro_err.clone(), + )); + return true; + } }; if matches!( def,