@@ -1342,7 +1342,7 @@ where
13421342 ) -> U {
13431343 self . delegate . enter_forall ( value, |value| {
13441344 let u = self . delegate . universe ( ) ;
1345- let assumptions = if self . assumptions_on_binders ( ) {
1345+ let assumptions = if self . cx ( ) . assumptions_on_binders ( ) {
13461346 self . region_assumptions_for_placeholders_in_universe ( value. clone ( ) , u, param_env)
13471347 } else {
13481348 None
@@ -1379,10 +1379,6 @@ where
13791379 args
13801380 }
13811381
1382- pub ( super ) fn assumptions_on_binders ( & self ) -> bool {
1383- self . delegate . assumptions_on_binders ( )
1384- }
1385-
13861382 pub ( super ) fn register_solver_region_constraint ( & self , c : RegionConstraint < I > ) {
13871383 self . delegate . register_solver_region_constraint ( c) ;
13881384 }
@@ -1578,7 +1574,7 @@ where
15781574 previous call to `try_evaluate_added_goals!`"
15791575 ) ;
15801576
1581- let goals_certainty = match self . delegate . assumptions_on_binders ( ) {
1577+ let goals_certainty = match self . delegate . cx ( ) . assumptions_on_binders ( ) {
15821578 true => {
15831579 let certainty = self . eagerly_handle_placeholders ( ) ?;
15841580 certainty. and ( goals_certainty)
@@ -1707,15 +1703,18 @@ where
17071703 // region constraints from an ambiguous nested goal. This is tested in both
17081704 // `tests/ui/higher-ranked/leak-check/leak-check-in-selection-5-ambig.rs` and
17091705 // `tests/ui/higher-ranked/leak-check/leak-check-in-selection-6-ambig-unify.rs`.
1710- let region_constraints = match self . assumptions_on_binders ( ) {
1711- true if let Certainty :: Yes = certainty => {
1712- ExternalRegionConstraints :: NextGen ( self . delegate . get_solver_region_constraint ( ) )
1713- }
1714- true => ExternalRegionConstraints :: NextGen ( RegionConstraint :: new_true ( ) ) ,
1715- false if let Certainty :: Yes = certainty => {
1716- ExternalRegionConstraints :: Old ( self . delegate . make_deduplicated_region_constraints ( ) )
1717- }
1718- false => ExternalRegionConstraints :: Old ( vec ! [ ] ) ,
1706+ let region_constraints = if self . cx ( ) . assumptions_on_binders ( ) {
1707+ ExternalRegionConstraints :: NextGen ( if let Certainty :: Yes = certainty {
1708+ self . delegate . get_solver_region_constraint ( )
1709+ } else {
1710+ RegionConstraint :: new_true ( )
1711+ } )
1712+ } else {
1713+ ExternalRegionConstraints :: Old ( if let Certainty :: Yes = certainty {
1714+ self . delegate . make_deduplicated_region_constraints ( )
1715+ } else {
1716+ vec ! [ ]
1717+ } )
17191718 } ;
17201719
17211720 // We only return *newly defined* opaque types from canonical queries.
0 commit comments