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,