diff options
| author | Noah Lev <camelidcamel@gmail.com> | 2021-11-07 09:06:50 -0800 |
|---|---|---|
| committer | Noah Lev <camelidcamel@gmail.com> | 2021-11-07 09:06:50 -0800 |
| commit | 750568d49c75441374a4862cf590cd5bb9547456 (patch) | |
| tree | 26d05e1a7d7d11c6a9f3a4b4d114447000ce3b5e | |
| parent | 120ef3630751e0329f0f0a41a36b17958b720b6e (diff) | |
| download | rust-750568d49c75441374a4862cf590cd5bb9547456.tar.gz rust-750568d49c75441374a4862cf590cd5bb9547456.zip | |
Remove Clean impl for `Option<T>`
| -rw-r--r-- | src/librustdoc/clean/inline.rs | 2 | ||||
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 14 |
2 files changed, 5 insertions, 11 deletions
diff --git a/src/librustdoc/clean/inline.rs b/src/librustdoc/clean/inline.rs index 940fd3d87ef..89335821dd6 100644 --- a/src/librustdoc/clean/inline.rs +++ b/src/librustdoc/clean/inline.rs @@ -448,7 +448,7 @@ crate fn build_impl( ), }; let polarity = tcx.impl_polarity(did); - let trait_ = associated_trait.clean(cx); + let trait_ = associated_trait.map(|t| t.clean(cx)); if trait_.as_ref().map(|t| t.def_id()) == tcx.lang_items().deref_trait() { super::build_deref_target_impls(cx, &trait_items, ret); } diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index a1653cdf622..756c8d37ab8 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -80,12 +80,6 @@ impl<T: Clean<U>, U> Clean<U> for Rc<T> { } } -impl<T: Clean<U>, U> Clean<Option<U>> for Option<T> { - fn clean(&self, cx: &mut DocContext<'_>) -> Option<U> { - self.as_ref().map(|v| v.clean(cx)) - } -} - impl Clean<Item> for doctree::Module<'_> { fn clean(&self, cx: &mut DocContext<'_>) -> Item { let mut items: Vec<Item> = vec![]; @@ -460,7 +454,7 @@ impl Clean<GenericParamDef> for hir::GenericParam<'_> { GenericParamDefKind::Type { did: cx.tcx.hir().local_def_id(self.hir_id).to_def_id(), bounds: self.bounds.clean(cx), - default: default.clean(cx).map(Box::new), + default: default.map(|t| t.clean(cx)).map(Box::new), synthetic, }, ), @@ -935,7 +929,7 @@ impl Clean<Item> for hir::TraitItem<'_> { TyMethodItem(t) } hir::TraitItemKind::Type(bounds, ref default) => { - AssocTypeItem(bounds.clean(cx), default.clean(cx)) + AssocTypeItem(bounds.clean(cx), default.map(|t| t.clean(cx))) } }; let what_rustc_thinks = @@ -1127,7 +1121,7 @@ impl Clean<Item> for ty::AssocItem { None }; - AssocTypeItem(bounds, ty.clean(cx)) + AssocTypeItem(bounds, ty.map(|t| t.clean(cx))) } else { // FIXME: when could this happen? Associated items in inherent impls? let type_ = tcx.type_of(self.def_id).clean(cx); @@ -1859,7 +1853,7 @@ impl Clean<Item> for hir::Variant<'_> { fn clean_impl(impl_: &hir::Impl<'_>, hir_id: hir::HirId, cx: &mut DocContext<'_>) -> Vec<Item> { let tcx = cx.tcx; let mut ret = Vec::new(); - let trait_ = impl_.of_trait.clean(cx); + let trait_ = impl_.of_trait.as_ref().map(|t| t.clean(cx)); let items = impl_.items.iter().map(|ii| tcx.hir().impl_item(ii.id).clean(cx)).collect::<Vec<_>>(); let def_id = tcx.hir().local_def_id(hir_id); |
