diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-07-16 00:10:34 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-07-18 13:42:45 +0300 |
| commit | 1b4fbfca4181c6779b75a4a1dc6c8fd538d6edcc (patch) | |
| tree | c9d6cda8313c88b941b4225e1abfbc5c1fdacfca /src/librustdoc/passes | |
| parent | a7726ce08680c8c0789286f799be13c5b0ad9a01 (diff) | |
| download | rust-1b4fbfca4181c6779b75a4a1dc6c8fd538d6edcc.tar.gz rust-1b4fbfca4181c6779b75a4a1dc6c8fd538d6edcc.zip | |
resolve: Support resolving macro paths without macro kind restrictions
Diffstat (limited to 'src/librustdoc/passes')
| -rw-r--r-- | src/librustdoc/passes/collect_intra_doc_links.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs index c527ed02bc0..04de3374d05 100644 --- a/src/librustdoc/passes/collect_intra_doc_links.rs +++ b/src/librustdoc/passes/collect_intra_doc_links.rs @@ -6,6 +6,7 @@ use rustc::lint as lint; use rustc::ty; use syntax; use syntax::ast::{self, Ident}; +use syntax::ext::base::SyntaxExtensionKind; use syntax::feature_gate::UnstableFeatures; use syntax::symbol::Symbol; use syntax_pos::DUMMY_SP; @@ -425,12 +426,10 @@ impl<'a, 'tcx> DocFolder for LinkCollector<'a, 'tcx> { /// Resolves a string as a macro. fn macro_resolve(cx: &DocContext<'_>, path_str: &str) -> Option<Res> { - use syntax::ext::base::{MacroKind, SyntaxExtensionKind}; - let segment = ast::PathSegment::from_ident(Ident::from_str(path_str)); - let path = ast::Path { segments: vec![segment], span: DUMMY_SP }; + let path = ast::Path::from_ident(Ident::from_str(path_str)); cx.enter_resolver(|resolver| { if let Ok((Some(ext), res)) = resolver.resolve_macro_path( - &path, MacroKind::Bang, &resolver.dummy_parent_scope(), false, false + &path, None, &resolver.dummy_parent_scope(), false, false ) { if let SyntaxExtensionKind::LegacyBang { .. } = ext.kind { return Some(res.map_id(|_| panic!("unexpected id"))); |
