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,47 +470,44 @@ 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>,
ty::GenericParamDefKind::Lifetime => { ) -> GenericParamDef {
(self.name, GenericParamDefKind::Lifetime { outlives: vec![] }) let (name, kind) = match def.kind {
} ty::GenericParamDefKind::Lifetime => {
ty::GenericParamDefKind::Type { has_default, synthetic, .. } => { (def.name, GenericParamDefKind::Lifetime { outlives: vec![] })
let default = if has_default { }
Some(clean_middle_ty(cx.tcx.type_of(self.def_id), cx, Some(self.def_id))) ty::GenericParamDefKind::Type { has_default, synthetic, .. } => {
} else { let default = if has_default {
None Some(clean_middle_ty(cx.tcx.type_of(def.def_id), cx, Some(def.def_id)))
}; } else {
( None
self.name, };
GenericParamDefKind::Type { (
did: self.def_id, def.name,
bounds: vec![], // These are filled in from the where-clauses. GenericParamDefKind::Type {
default: default.map(Box::new), did: def.def_id,
synthetic, bounds: vec![], // These are filled in from the where-clauses.
}, default: default.map(Box::new),
) synthetic,
}
ty::GenericParamDefKind::Const { has_default } => (
self.name,
GenericParamDefKind::Const {
did: self.def_id,
ty: Box::new(clean_middle_ty(
cx.tcx.type_of(self.def_id),
cx,
Some(self.def_id),
)),
default: match has_default {
true => Some(Box::new(cx.tcx.const_param_default(self.def_id).to_string())),
false => None,
},
}, },
), )
}; }
ty::GenericParamDefKind::Const { has_default } => (
def.name,
GenericParamDefKind::Const {
did: def.def_id,
ty: Box::new(clean_middle_ty(cx.tcx.type_of(def.def_id), cx, Some(def.def_id))),
default: match has_default {
true => Some(Box::new(cx.tcx.const_param_default(def.def_id).to_string())),
false => None,
},
},
),
};
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>>();