diff options
| author | Justus K <justus.k@protonmail.com> | 2021-05-08 10:04:03 +0200 |
|---|---|---|
| committer | Justus K <justus.k@protonmail.com> | 2021-05-15 13:21:35 +0200 |
| commit | 67d8d18b230dda20758f3733ebce56fb09f0e093 (patch) | |
| tree | 687ee9c8ec660934d909363ba364e1c33e797353 /src/librustdoc/json | |
| parent | c6dd87a6b4a62cf5d2cb6207b1dcea652ea1aa60 (diff) | |
| download | rust-67d8d18b230dda20758f3733ebce56fb09f0e093.tar.gz rust-67d8d18b230dda20758f3733ebce56fb09f0e093.zip | |
Minimize amount of fake `DefId`s used in rustdoc
Diffstat (limited to 'src/librustdoc/json')
| -rw-r--r-- | src/librustdoc/json/conversions.rs | 5 | ||||
| -rw-r--r-- | src/librustdoc/json/mod.rs | 15 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/librustdoc/json/conversions.rs b/src/librustdoc/json/conversions.rs index d2349b42ae9..5ac43c73646 100644 --- a/src/librustdoc/json/conversions.rs +++ b/src/librustdoc/json/conversions.rs @@ -14,9 +14,8 @@ use rustc_span::Pos; use rustdoc_json_types::*; -use crate::clean; use crate::clean::utils::print_const_expr; -use crate::clean::FakeDefId; +use crate::clean::{self, FakeDefId}; use crate::formats::item_type::ItemType; use crate::json::JsonRenderer; use std::collections::HashSet; @@ -31,7 +30,7 @@ impl JsonRenderer<'_> { .into_iter() .flatten() .filter_map(|clean::ItemLink { link, did, .. }| { - did.map(|did| (link.clone(), from_def_id(did))) + did.map(|did| (link.clone(), from_def_id(did.into()))) }) .collect(); let docs = item.attrs.collapsed_doc_value(); diff --git a/src/librustdoc/json/mod.rs b/src/librustdoc/json/mod.rs index d56acad60c0..f8bd9710813 100644 --- a/src/librustdoc/json/mod.rs +++ b/src/librustdoc/json/mod.rs @@ -12,13 +12,14 @@ use std::path::PathBuf; use std::rc::Rc; use rustc_data_structures::fx::FxHashMap; +use rustc_hir::def_id::DefId; use rustc_middle::ty::TyCtxt; use rustc_session::Session; use rustdoc_json_types as types; use crate::clean; -use crate::clean::{ExternalCrate, FakeDefId}; +use crate::clean::ExternalCrate; use crate::config::RenderOptions; use crate::error::Error; use crate::formats::cache::Cache; @@ -42,7 +43,7 @@ impl JsonRenderer<'tcx> { self.tcx.sess } - fn get_trait_implementors(&mut self, id: FakeDefId) -> Vec<types::Id> { + fn get_trait_implementors(&mut self, id: DefId) -> Vec<types::Id> { Rc::clone(&self.cache) .implementors .get(&id) @@ -59,10 +60,10 @@ impl JsonRenderer<'tcx> { .unwrap_or_default() } - fn get_impls(&mut self, id: FakeDefId) -> Vec<types::Id> { + fn get_impls(&mut self, id: DefId) -> Vec<types::Id> { Rc::clone(&self.cache) .impls - .get(&id.expect_real()) + .get(&id) .map(|impls| { impls .iter() @@ -163,11 +164,11 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> { let id = item.def_id; if let Some(mut new_item) = self.convert_item(item) { if let types::ItemEnum::Trait(ref mut t) = new_item.inner { - t.implementors = self.get_trait_implementors(id) + t.implementors = self.get_trait_implementors(id.expect_real()) } else if let types::ItemEnum::Struct(ref mut s) = new_item.inner { - s.impls = self.get_impls(id) + s.impls = self.get_impls(id.expect_real()) } else if let types::ItemEnum::Enum(ref mut e) = new_item.inner { - e.impls = self.get_impls(id) + e.impls = self.get_impls(id.expect_real()) } let removed = self.index.borrow_mut().insert(from_def_id(id), new_item.clone()); |
