diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2023-02-12 14:55:38 +0400 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2023-02-13 00:51:29 +0400 |
| commit | efbf6547cfeb579c0fbed4306086708d31f7a59d (patch) | |
| tree | 34425444d4d6d2d9aab99bbd3184d9908c6e6c71 /compiler/rustc_resolve/src | |
| parent | 00cf19a75a7055171a4ffc8cc557ff63953c9754 (diff) | |
| download | rust-efbf6547cfeb579c0fbed4306086708d31f7a59d.tar.gz rust-efbf6547cfeb579c0fbed4306086708d31f7a59d.zip | |
resolve: Fix doc links referring to other crates when documenting proc macro crates directly
Diffstat (limited to 'compiler/rustc_resolve/src')
| -rw-r--r-- | compiler/rustc_resolve/src/late.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_resolve/src/late.rs b/compiler/rustc_resolve/src/late.rs index bd74a010fa3..7dc9e6ad4b0 100644 --- a/compiler/rustc_resolve/src/late.rs +++ b/compiler/rustc_resolve/src/late.rs @@ -4206,7 +4206,8 @@ impl<'a: 'ast, 'b, 'ast> LateResolutionVisitor<'a, 'b, 'ast> { if let Some(res) = res && let Some(def_id) = res.opt_def_id() && !def_id.is_local() - && self.r.session.crate_types().contains(&CrateType::ProcMacro) { + && self.r.session.crate_types().contains(&CrateType::ProcMacro) + && matches!(self.r.session.opts.resolve_doc_links, ResolveDocLinks::ExportedMetadata) { // Encoding foreign def ids in proc macro crate metadata will ICE. return None; } @@ -4276,6 +4277,10 @@ impl<'a: 'ast, 'b, 'ast> LateResolutionVisitor<'a, 'b, 'ast> { .filter_map(|tr| { if !tr.def_id.is_local() && self.r.session.crate_types().contains(&CrateType::ProcMacro) + && matches!( + self.r.session.opts.resolve_doc_links, + ResolveDocLinks::ExportedMetadata + ) { // Encoding foreign def ids in proc macro crate metadata will ICE. return None; |
