@@ -268,7 +268,7 @@ fn clean_poly_trait_ref_with_constraints<'tcx>(
268268 )
269269}
270270
271- fn clean_lifetime ( lifetime : & hir:: Lifetime , cx : & mut DocContext < ' _ > ) -> Lifetime {
271+ fn clean_lifetime ( lifetime : & hir:: Lifetime , cx : & DocContext < ' _ > ) -> Lifetime {
272272 if let Some (
273273 rbv:: ResolvedArg :: EarlyBound ( did)
274274 | rbv:: ResolvedArg :: LateBound ( _, _, did)
@@ -362,9 +362,9 @@ pub(crate) fn clean_predicate<'tcx>(
362362 let bound_predicate = predicate. kind ( ) ;
363363 match bound_predicate. skip_binder ( ) {
364364 ty:: ClauseKind :: Trait ( pred) => clean_poly_trait_predicate ( bound_predicate. rebind ( pred) , cx) ,
365- ty:: ClauseKind :: RegionOutlives ( pred) => clean_region_outlives_predicate ( pred) ,
365+ ty:: ClauseKind :: RegionOutlives ( pred) => Some ( clean_region_outlives_predicate ( pred) ) ,
366366 ty:: ClauseKind :: TypeOutlives ( pred) => {
367- clean_type_outlives_predicate ( bound_predicate. rebind ( pred) , cx)
367+ Some ( clean_type_outlives_predicate ( bound_predicate. rebind ( pred) , cx) )
368368 }
369369 ty:: ClauseKind :: Projection ( pred) => {
370370 Some ( clean_projection_predicate ( bound_predicate. rebind ( pred) , cx) )
@@ -396,32 +396,30 @@ fn clean_poly_trait_predicate<'tcx>(
396396 } )
397397}
398398
399- fn clean_region_outlives_predicate (
400- pred : ty:: RegionOutlivesPredicate < ' _ > ,
401- ) -> Option < WherePredicate > {
399+ fn clean_region_outlives_predicate ( pred : ty:: RegionOutlivesPredicate < ' _ > ) -> WherePredicate {
402400 let ty:: OutlivesPredicate ( a, b) = pred;
403401
404- Some ( WherePredicate :: RegionPredicate {
402+ WherePredicate :: RegionPredicate {
405403 lifetime : clean_middle_region ( a) . expect ( "failed to clean lifetime" ) ,
406404 bounds : vec ! [ GenericBound :: Outlives (
407405 clean_middle_region( b) . expect( "failed to clean bounds" ) ,
408406 ) ] ,
409- } )
407+ }
410408}
411409
412410fn clean_type_outlives_predicate < ' tcx > (
413411 pred : ty:: Binder < ' tcx , ty:: TypeOutlivesPredicate < ' tcx > > ,
414412 cx : & mut DocContext < ' tcx > ,
415- ) -> Option < WherePredicate > {
413+ ) -> WherePredicate {
416414 let ty:: OutlivesPredicate ( ty, lt) = pred. skip_binder ( ) ;
417415
418- Some ( WherePredicate :: BoundPredicate {
416+ WherePredicate :: BoundPredicate {
419417 ty : clean_middle_ty ( pred. rebind ( ty) , cx, None , None ) ,
420418 bounds : vec ! [ GenericBound :: Outlives (
421419 clean_middle_region( lt) . expect( "failed to clean lifetimes" ) ,
422420 ) ] ,
423421 bound_params : Vec :: new ( ) ,
424- } )
422+ }
425423}
426424
427425fn clean_middle_term < ' tcx > (
@@ -1860,7 +1858,7 @@ pub(crate) fn clean_ty<'tcx>(ty: &hir::Ty<'tcx>, cx: &mut DocContext<'tcx>) -> T
18601858
18611859/// Returns `None` if the type could not be normalized
18621860fn normalize < ' tcx > (
1863- cx : & mut DocContext < ' tcx > ,
1861+ cx : & DocContext < ' tcx > ,
18641862 ty : ty:: Binder < ' tcx , Ty < ' tcx > > ,
18651863) -> Option < ty:: Binder < ' tcx , Ty < ' tcx > > > {
18661864 // HACK: low-churn fix for #79459 while we wait for a trait normalization fix
0 commit comments