@@ -905,8 +905,8 @@ impl<'t,'tcx,TYPER:Typer<'tcx>> MemCategorizationContext<'t,TYPER> {
905905 let base_cmt = match method_ty {
906906 Some ( method_ty) => {
907907 let ref_ty =
908- ty:: assert_no_late_bound_regions (
909- self . tcx ( ) , & ty:: ty_fn_ret ( method_ty) ) . unwrap ( ) ;
908+ ty:: no_late_bound_regions (
909+ self . tcx ( ) , & ty:: ty_fn_ret ( method_ty) ) . unwrap ( ) . unwrap ( ) ;
910910 self . cat_rvalue_node ( node. id ( ) , node. span ( ) , ref_ty)
911911 }
912912 None => base_cmt
@@ -996,7 +996,7 @@ impl<'t,'tcx,TYPER:Typer<'tcx>> MemCategorizationContext<'t,TYPER> {
996996
997997 // FIXME(#20649) -- why are we using the `self_ty` as the element type...?
998998 let self_ty = ty:: ty_fn_sig ( method_ty) . input ( 0 ) ;
999- ty:: assert_no_late_bound_regions ( self . tcx ( ) , & self_ty)
999+ ty:: no_late_bound_regions ( self . tcx ( ) , & self_ty) . unwrap ( )
10001000 }
10011001 None => {
10021002 match ty:: array_element_ty ( self . tcx ( ) , base_cmt. ty ) {
@@ -1336,8 +1336,9 @@ impl<'t,'tcx,TYPER:Typer<'tcx>> MemCategorizationContext<'t,TYPER> {
13361336 // types are generated by method resolution and always have
13371337 // all late-bound regions fully instantiated, so we just want
13381338 // to skip past the binder.
1339- ty:: assert_no_late_bound_regions ( self . tcx ( ) , & ty:: ty_fn_ret ( method_ty) )
1340- . unwrap ( ) // overloaded ops do not diverge, either
1339+ ty:: no_late_bound_regions ( self . tcx ( ) , & ty:: ty_fn_ret ( method_ty) )
1340+ . unwrap ( )
1341+ . unwrap ( ) // overloaded ops do not diverge, either
13411342 }
13421343}
13431344
0 commit comments