diff options
| author | Nixon Enraght-Moony <nixon.emoony@gmail.com> | 2021-03-24 15:54:20 +0000 |
|---|---|---|
| committer | Nixon Enraght-Moony <nixon.emoony@gmail.com> | 2021-03-24 16:54:13 +0000 |
| commit | 9ba92972ed6a1a39afa5993da97e016eea907be2 (patch) | |
| tree | 5559412e5521051f794cf4254f9ec335b0e80810 /src/librustdoc/json | |
| parent | ce21447c01c8ea6ce4f4c9dd2c18266439200f1d (diff) | |
| download | rust-9ba92972ed6a1a39afa5993da97e016eea907be2.tar.gz rust-9ba92972ed6a1a39afa5993da97e016eea907be2.zip | |
Don't call `item` on modules for json renderer
Closes #80664
Diffstat (limited to 'src/librustdoc/json')
| -rw-r--r-- | src/librustdoc/json/conversions.rs | 3 | ||||
| -rw-r--r-- | src/librustdoc/json/mod.rs | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/librustdoc/json/conversions.rs b/src/librustdoc/json/conversions.rs index 073209c2468..6da0d881640 100644 --- a/src/librustdoc/json/conversions.rs +++ b/src/librustdoc/json/conversions.rs @@ -179,7 +179,8 @@ fn from_clean_item_kind(item: clean::ItemKind, tcx: TyCtxt<'_>, name: &Option<Sy bounds: g.into_iter().map(Into::into).collect(), default: t.map(Into::into), }, - StrippedItem(inner) => from_clean_item_kind(*inner, tcx, name), + // `convert_item` early returns `None` for striped items + StrippedItem(_) => unreachable!(), PrimitiveItem(_) | KeywordItem(_) => { panic!("{:?} is not supported for JSON output", item) } diff --git a/src/librustdoc/json/mod.rs b/src/librustdoc/json/mod.rs index a4cdad69865..5d9c598549e 100644 --- a/src/librustdoc/json/mod.rs +++ b/src/librustdoc/json/mod.rs @@ -129,6 +129,8 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> { "json" } + const RUN_ON_MODULE: bool = false; + fn init( krate: clean::Crate, options: RenderOptions, @@ -169,8 +171,10 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> { e.impls = self.get_impls(id) } let removed = self.index.borrow_mut().insert(from_def_id(id), new_item.clone()); + // FIXME(adotinthevoid): Currently, the index is duplicated. This is a sanity check - // to make sure the items are unique. + // to make sure the items are unique. The main place this happens is when an item, is + // reexported in more than one place. See `rustdoc-json/reexport/in_root_and_mod` if let Some(old_item) = removed { assert_eq!(old_item, new_item); } |
