@@ -973,23 +973,20 @@ impl<'tcx> RegionInferenceContext<'tcx> {
973973 propagated_outlives_requirements : & mut Vec < ClosureOutlivesRequirement < ' tcx > > ,
974974 ) -> bool {
975975 let tcx = infcx. tcx ;
976-
977- let TypeTest { generic_kind, lower_bound, span : _, verify_bound : _ } = type_test;
976+ let TypeTest { generic_kind, lower_bound, span : blame_span, ref verify_bound } = * type_test;
978977
979978 let generic_ty = generic_kind. to_ty ( tcx) ;
980979 let Some ( subject) = self . try_promote_type_test_subject ( infcx, generic_ty) else {
981980 return false ;
982981 } ;
983982
984- let r_scc = self . constraint_sccs . scc ( * lower_bound) ;
985-
983+ let r_scc = self . constraint_sccs . scc ( lower_bound) ;
986984 debug ! (
987985 "lower_bound = {:?} r_scc={:?} universe={:?}" ,
988986 lower_bound,
989987 r_scc,
990988 self . constraint_sccs. annotation( r_scc) . min_universe( )
991989 ) ;
992-
993990 // If the type test requires that `T: 'a` where `'a` is a
994991 // placeholder from another universe, that effectively requires
995992 // `T: 'static`, so we have to propagate that requirement.
@@ -1002,7 +999,7 @@ impl<'tcx> RegionInferenceContext<'tcx> {
1002999 propagated_outlives_requirements. push ( ClosureOutlivesRequirement {
10031000 subject,
10041001 outlived_free_region : static_r,
1005- blame_span : type_test . span ,
1002+ blame_span,
10061003 category : ConstraintCategory :: Boring ,
10071004 } ) ;
10081005
@@ -1029,12 +1026,12 @@ impl<'tcx> RegionInferenceContext<'tcx> {
10291026 // where `ur` is a local bound -- we are sometimes in a
10301027 // position to prove things that our caller cannot. See
10311028 // #53570 for an example.
1032- if self . eval_verify_bound ( infcx, generic_ty, ur, & type_test . verify_bound ) {
1029+ if self . eval_verify_bound ( infcx, generic_ty, ur, & verify_bound) {
10331030 continue ;
10341031 }
10351032
10361033 let non_local_ub = self . universal_region_relations . non_local_upper_bounds ( ur) ;
1037- debug ! ( "try_promote_type_test: non_local_ub={:?}" , non_local_ub) ;
1034+ debug ! ( ? non_local_ub) ;
10381035
10391036 // This is slightly too conservative. To show T: '1, given `'2: '1`
10401037 // and `'3: '1` we only need to prove that T: '2 *or* T: '3, but to
@@ -1047,10 +1044,10 @@ impl<'tcx> RegionInferenceContext<'tcx> {
10471044 let requirement = ClosureOutlivesRequirement {
10481045 subject,
10491046 outlived_free_region : upper_bound,
1050- blame_span : type_test . span ,
1047+ blame_span,
10511048 category : ConstraintCategory :: Boring ,
10521049 } ;
1053- debug ! ( "try_promote_type_test: pushing {:#?}" , requirement) ;
1050+ debug ! ( ?requirement , "adding closure requirement" ) ;
10541051 propagated_outlives_requirements. push ( requirement) ;
10551052 }
10561053 }
0 commit comments