@@ -218,7 +218,7 @@ impl<'tcx> Inliner<'tcx> {
218218 // Normally, this shouldn't be required, but trait normalization failure can create a
219219 // validation ICE.
220220 let output_type = callee_body. return_ty ( ) ;
221- if !util:: is_subtype ( self . tcx , self . param_env , output_type, destination_ty) {
221+ if !util:: is_subtype ( self . tcx , self . param_env , output_type, destination_ty, true ) {
222222 trace ! ( ?output_type, ?destination_ty) ;
223223 return Err ( "failed to normalize return type" ) ;
224224 }
@@ -248,7 +248,7 @@ impl<'tcx> Inliner<'tcx> {
248248 self_arg_ty. into_iter ( ) . chain ( arg_tuple_tys) . zip ( callee_body. args_iter ( ) )
249249 {
250250 let input_type = callee_body. local_decls [ input] . ty ;
251- if !util:: is_subtype ( self . tcx , self . param_env , input_type, arg_ty) {
251+ if !util:: is_subtype ( self . tcx , self . param_env , input_type, arg_ty, true ) {
252252 trace ! ( ?arg_ty, ?input_type) ;
253253 return Err ( "failed to normalize tuple argument type" ) ;
254254 }
@@ -257,7 +257,7 @@ impl<'tcx> Inliner<'tcx> {
257257 for ( arg, input) in args. iter ( ) . zip ( callee_body. args_iter ( ) ) {
258258 let input_type = callee_body. local_decls [ input] . ty ;
259259 let arg_ty = arg. ty ( & caller_body. local_decls , self . tcx ) ;
260- if !util:: is_subtype ( self . tcx , self . param_env , input_type, arg_ty) {
260+ if !util:: is_subtype ( self . tcx , self . param_env , input_type, arg_ty, true ) {
261261 trace ! ( ?arg_ty, ?input_type) ;
262262 return Err ( "failed to normalize argument type" ) ;
263263 }
0 commit comments