Skip to content

Commit b154234

Browse files
don't call get_macro on proc-macro stubs
1 parent 9690917 commit b154234

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/librustdoc/passes/collect_intra_doc_links.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -431,8 +431,12 @@ fn macro_resolve(cx: &DocContext, path_str: &str) -> Option<Def> {
431431
let parent_scope = resolver.dummy_parent_scope();
432432
if let Ok(def) = resolver.resolve_macro_to_def_inner(&path, MacroKind::Bang,
433433
&parent_scope, false, false) {
434-
if let SyntaxExtension::DeclMacro { .. } = *resolver.get_macro(def) {
435-
return Some(def);
434+
if let Def::Macro(_, MacroKind::ProcMacroStub) = def {
435+
// skip proc-macro stubs, they'll cause `get_macro` to crash
436+
} else {
437+
if let SyntaxExtension::DeclMacro { .. } = *resolver.get_macro(def) {
438+
return Some(def);
439+
}
436440
}
437441
}
438442
if let Some(def) = resolver.all_macros.get(&Symbol::intern(path_str)) {

0 commit comments

Comments
 (0)