diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-07-31 23:39:43 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-31 23:39:43 +0200 |
| commit | 0c3989e556b882622aa326cecd267e1306807776 (patch) | |
| tree | ca713b775c201c73729a96465378b14bc5709b31 | |
| parent | 549463f11427bcec19465e6f37f97d6dc686fb2e (diff) | |
| parent | fc1c858a48c212c657d59d09a604481c17369e6b (diff) | |
| download | rust-0c3989e556b882622aa326cecd267e1306807776.tar.gz rust-0c3989e556b882622aa326cecd267e1306807776.zip | |
Rollup merge of #99980 - GuillaumeGomez:rm-clean-impls, r=Dylan-DPC
Remove more Clean trait implementations This time as well it allowed to remove a function. Follow-up of https://github.com/rust-lang/rust/pull/99638. r? `@notriddle`
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 4067cf8441b..5071581e5dc 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -1019,7 +1019,7 @@ impl<'tcx> Clean<'tcx, bool> for hir::IsAuto { impl<'tcx> Clean<'tcx, Path> for hir::TraitRef<'tcx> { fn clean(&self, cx: &mut DocContext<'tcx>) -> Path { - let path = self.path.clean(cx); + let path = clean_path(self.path, cx); register_res(cx, path.res); path } @@ -1344,7 +1344,7 @@ fn clean_qpath<'tcx>(hir_ty: &hir::Ty<'tcx>, cx: &mut DocContext<'tcx>) -> Type if let Some(expanded) = maybe_expand_private_type_alias(cx, path) { expanded } else { - let path = path.clean(cx); + let path = clean_path(path, cx); resolve_type(cx, path) } } @@ -1380,7 +1380,7 @@ fn clean_qpath<'tcx>(hir_ty: &hir::Ty<'tcx>, cx: &mut DocContext<'tcx>) -> Type ty::Error(_) => return Type::Infer, _ => bug!("clean: expected associated type, found `{:?}`", ty), }; - let trait_ = hir::Path { span, res, segments: &[] }.clean(cx); + let trait_ = clean_path(&hir::Path { span, res, segments: &[] }, cx); register_res(cx, trait_.res); let self_def_id = res.opt_def_id(); let self_type = clean_ty(qself, cx); @@ -1857,10 +1857,8 @@ fn clean_variant_data<'tcx>( } } -impl<'tcx> Clean<'tcx, Path> for hir::Path<'tcx> { - fn clean(&self, cx: &mut DocContext<'tcx>) -> Path { - Path { res: self.res, segments: self.segments.iter().map(|x| x.clean(cx)).collect() } - } +fn clean_path<'tcx>(path: &hir::Path<'tcx>, cx: &mut DocContext<'tcx>) -> Path { + Path { res: path.res, segments: path.segments.iter().map(|x| x.clean(cx)).collect() } } impl<'tcx> Clean<'tcx, GenericArgs> for hir::GenericArgs<'tcx> { @@ -1886,7 +1884,8 @@ impl<'tcx> Clean<'tcx, GenericArgs> for hir::GenericArgs<'tcx> { }) .collect::<Vec<_>>() .into(); - let bindings = self.bindings.iter().map(|x| x.clean(cx)).collect::<Vec<_>>().into(); + let bindings = + self.bindings.iter().map(|x| clean_type_binding(x, cx)).collect::<Vec<_>>().into(); GenericArgs::AngleBracketed { args, bindings } } } @@ -2172,7 +2171,7 @@ fn clean_use_statement<'tcx>( // Also check whether imports were asked to be inlined, in case we're trying to re-export a // crate in Rust 2018+ - let path = path.clean(cx); + let path = clean_path(path, cx); let inner = if kind == hir::UseKind::Glob { if !denied { let mut visited = FxHashSet::default(); @@ -2252,24 +2251,19 @@ fn clean_maybe_renamed_foreign_item<'tcx>( }) } -impl<'tcx> Clean<'tcx, TypeBinding> for hir::TypeBinding<'tcx> { - fn clean(&self, cx: &mut DocContext<'tcx>) -> TypeBinding { - TypeBinding { - assoc: PathSegment { name: self.ident.name, args: self.gen_args.clean(cx) }, - kind: self.kind.clean(cx), - } - } -} - -impl<'tcx> Clean<'tcx, TypeBindingKind> for hir::TypeBindingKind<'tcx> { - fn clean(&self, cx: &mut DocContext<'tcx>) -> TypeBindingKind { - match *self { +fn clean_type_binding<'tcx>( + type_binding: &hir::TypeBinding<'tcx>, + cx: &mut DocContext<'tcx>, +) -> TypeBinding { + TypeBinding { + assoc: PathSegment { name: type_binding.ident.name, args: type_binding.gen_args.clean(cx) }, + kind: match type_binding.kind { hir::TypeBindingKind::Equality { ref term } => { TypeBindingKind::Equality { term: clean_hir_term(term, cx) } } hir::TypeBindingKind::Constraint { bounds } => TypeBindingKind::Constraint { bounds: bounds.iter().filter_map(|b| b.clean(cx)).collect(), }, - } + }, } } |
