Skip to content

Commit 61c0b12

Browse files
remove Clean trait implementation for hir::WherePredicate
1 parent 71edb31 commit 61c0b12

File tree

1 file changed

+41
-36
lines changed

1 file changed

+41
-36
lines changed

src/librustdoc/clean/mod.rs

Lines changed: 41 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -266,44 +266,45 @@ pub(crate) fn clean_middle_region<'tcx>(region: ty::Region<'tcx>) -> Option<Life
266266
}
267267
}
268268

269-
impl<'tcx> Clean<'tcx, Option<WherePredicate>> for hir::WherePredicate<'tcx> {
270-
fn clean(&self, cx: &mut DocContext<'tcx>) -> Option<WherePredicate> {
271-
if !self.in_where_clause() {
272-
return None;
273-
}
274-
Some(match *self {
275-
hir::WherePredicate::BoundPredicate(ref wbp) => {
276-
let bound_params = wbp
277-
.bound_generic_params
278-
.iter()
279-
.map(|param| {
280-
// Higher-ranked params must be lifetimes.
281-
// Higher-ranked lifetimes can't have bounds.
282-
assert_matches!(
283-
param,
284-
hir::GenericParam { kind: hir::GenericParamKind::Lifetime { .. }, .. }
285-
);
286-
Lifetime(param.name.ident().name)
287-
})
288-
.collect();
289-
WherePredicate::BoundPredicate {
290-
ty: clean_ty(wbp.bounded_ty, cx),
291-
bounds: wbp.bounds.iter().filter_map(|x| clean_generic_bound(x, cx)).collect(),
292-
bound_params,
293-
}
269+
fn clean_where_predicate<'tcx>(
270+
predicate: &hir::WherePredicate<'tcx>,
271+
cx: &mut DocContext<'tcx>,
272+
) -> Option<WherePredicate> {
273+
if !predicate.in_where_clause() {
274+
return None;
275+
}
276+
Some(match *predicate {
277+
hir::WherePredicate::BoundPredicate(ref wbp) => {
278+
let bound_params = wbp
279+
.bound_generic_params
280+
.iter()
281+
.map(|param| {
282+
// Higher-ranked params must be lifetimes.
283+
// Higher-ranked lifetimes can't have bounds.
284+
assert_matches!(
285+
param,
286+
hir::GenericParam { kind: hir::GenericParamKind::Lifetime { .. }, .. }
287+
);
288+
Lifetime(param.name.ident().name)
289+
})
290+
.collect();
291+
WherePredicate::BoundPredicate {
292+
ty: clean_ty(wbp.bounded_ty, cx),
293+
bounds: wbp.bounds.iter().filter_map(|x| clean_generic_bound(x, cx)).collect(),
294+
bound_params,
294295
}
296+
}
295297

296-
hir::WherePredicate::RegionPredicate(ref wrp) => WherePredicate::RegionPredicate {
297-
lifetime: clean_lifetime(wrp.lifetime, cx),
298-
bounds: wrp.bounds.iter().filter_map(|x| clean_generic_bound(x, cx)).collect(),
299-
},
298+
hir::WherePredicate::RegionPredicate(ref wrp) => WherePredicate::RegionPredicate {
299+
lifetime: clean_lifetime(wrp.lifetime, cx),
300+
bounds: wrp.bounds.iter().filter_map(|x| clean_generic_bound(x, cx)).collect(),
301+
},
300302

301-
hir::WherePredicate::EqPredicate(ref wrp) => WherePredicate::EqPredicate {
302-
lhs: clean_ty(wrp.lhs_ty, cx),
303-
rhs: clean_ty(wrp.rhs_ty, cx).into(),
304-
},
305-
})
306-
}
303+
hir::WherePredicate::EqPredicate(ref wrp) => WherePredicate::EqPredicate {
304+
lhs: clean_ty(wrp.lhs_ty, cx),
305+
rhs: clean_ty(wrp.rhs_ty, cx).into(),
306+
},
307+
})
307308
}
308309

309310
impl<'tcx> Clean<'tcx, Option<WherePredicate>> for ty::Predicate<'tcx> {
@@ -601,7 +602,11 @@ impl<'tcx> Clean<'tcx, Generics> for hir::Generics<'tcx> {
601602

602603
let mut generics = Generics {
603604
params,
604-
where_predicates: self.predicates.iter().filter_map(|x| x.clean(cx)).collect(),
605+
where_predicates: self
606+
.predicates
607+
.iter()
608+
.filter_map(|x| clean_where_predicate(x, cx))
609+
.collect(),
605610
};
606611

607612
// Some duplicates are generated for ?Sized bounds between type params and where

0 commit comments

Comments
 (0)