rustdoc: remove Clean trait impl for ty::GenericParamDef

This commit is contained in:
Michael Howell 2022-07-27 11:13:39 -07:00
parent 3ea9916625
commit 2f03cbdc8e

View File

@ -470,22 +470,24 @@ fn projection_to_path_segment<'tcx>(
} }
} }
impl<'tcx> Clean<'tcx, GenericParamDef> for ty::GenericParamDef { fn clean_generic_param_def<'tcx>(
fn clean(&self, cx: &mut DocContext<'tcx>) -> GenericParamDef { def: &ty::GenericParamDef,
let (name, kind) = match self.kind { cx: &mut DocContext<'tcx>,
) -> GenericParamDef {
let (name, kind) = match def.kind {
ty::GenericParamDefKind::Lifetime => { ty::GenericParamDefKind::Lifetime => {
(self.name, GenericParamDefKind::Lifetime { outlives: vec![] }) (def.name, GenericParamDefKind::Lifetime { outlives: vec![] })
} }
ty::GenericParamDefKind::Type { has_default, synthetic, .. } => { ty::GenericParamDefKind::Type { has_default, synthetic, .. } => {
let default = if has_default { let default = if has_default {
Some(clean_middle_ty(cx.tcx.type_of(self.def_id), cx, Some(self.def_id))) Some(clean_middle_ty(cx.tcx.type_of(def.def_id), cx, Some(def.def_id)))
} else { } else {
None None
}; };
( (
self.name, def.name,
GenericParamDefKind::Type { GenericParamDefKind::Type {
did: self.def_id, did: def.def_id,
bounds: vec![], // These are filled in from the where-clauses. bounds: vec![], // These are filled in from the where-clauses.
default: default.map(Box::new), default: default.map(Box::new),
synthetic, synthetic,
@ -493,16 +495,12 @@ fn clean(&self, cx: &mut DocContext<'tcx>) -> GenericParamDef {
) )
} }
ty::GenericParamDefKind::Const { has_default } => ( ty::GenericParamDefKind::Const { has_default } => (
self.name, def.name,
GenericParamDefKind::Const { GenericParamDefKind::Const {
did: self.def_id, did: def.def_id,
ty: Box::new(clean_middle_ty( ty: Box::new(clean_middle_ty(cx.tcx.type_of(def.def_id), cx, Some(def.def_id))),
cx.tcx.type_of(self.def_id),
cx,
Some(self.def_id),
)),
default: match has_default { default: match has_default {
true => Some(Box::new(cx.tcx.const_param_default(self.def_id).to_string())), true => Some(Box::new(cx.tcx.const_param_default(def.def_id).to_string())),
false => None, false => None,
}, },
}, },
@ -510,7 +508,6 @@ fn clean(&self, cx: &mut DocContext<'tcx>) -> GenericParamDef {
}; };
GenericParamDef { name, kind } GenericParamDef { name, kind }
}
} }
fn clean_generic_param<'tcx>( fn clean_generic_param<'tcx>(
@ -668,7 +665,7 @@ fn clean_ty_generics<'tcx>(
.iter() .iter()
.filter_map(|param| match param.kind { .filter_map(|param| match param.kind {
ty::GenericParamDefKind::Lifetime if param.name == kw::UnderscoreLifetime => None, ty::GenericParamDefKind::Lifetime if param.name == kw::UnderscoreLifetime => None,
ty::GenericParamDefKind::Lifetime => Some(param.clean(cx)), ty::GenericParamDefKind::Lifetime => Some(clean_generic_param_def(param, cx)),
ty::GenericParamDefKind::Type { synthetic, .. } => { ty::GenericParamDefKind::Type { synthetic, .. } => {
if param.name == kw::SelfUpper { if param.name == kw::SelfUpper {
assert_eq!(param.index, 0); assert_eq!(param.index, 0);
@ -678,9 +675,9 @@ fn clean_ty_generics<'tcx>(
impl_trait.insert(param.index.into(), vec![]); impl_trait.insert(param.index.into(), vec![]);
return None; return None;
} }
Some(param.clean(cx)) Some(clean_generic_param_def(param, cx))
} }
ty::GenericParamDefKind::Const { .. } => Some(param.clean(cx)), ty::GenericParamDefKind::Const { .. } => Some(clean_generic_param_def(param, cx)),
}) })
.collect::<Vec<GenericParamDef>>(); .collect::<Vec<GenericParamDef>>();