@@ -222,7 +222,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
222222 let ty = ensure_sufficient_stack ( || match & expr. kind {
223223 hir:: ExprKind :: Path (
224224 qpath @ ( hir:: QPath :: Resolved ( ..) | hir:: QPath :: TypeRelative ( ..) ) ,
225- ) => self . check_expr_path ( qpath, expr, args, call) ,
225+ ) => self . check_expr_path ( qpath, expr, Some ( args) , call) ,
226226 _ => self . check_expr_kind ( expr, expected) ,
227227 } ) ;
228228 let ty = self . resolve_vars_if_possible ( ty) ;
@@ -289,7 +289,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
289289 ExprKind :: Path ( QPath :: LangItem ( lang_item, _) ) => {
290290 self . check_lang_item_path ( lang_item, expr)
291291 }
292- ExprKind :: Path ( ref qpath) => self . check_expr_path ( qpath, expr, & [ ] , None ) ,
292+ ExprKind :: Path ( ref qpath) => self . check_expr_path ( qpath, expr, None , None ) ,
293293 ExprKind :: InlineAsm ( asm) => {
294294 // We defer some asm checks as we may not have resolved the input and output types yet (they may still be infer vars).
295295 self . deferred_asm_checks . borrow_mut ( ) . push ( ( asm, expr. hir_id ) ) ;
@@ -501,7 +501,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
501501 & self ,
502502 qpath : & ' tcx hir:: QPath < ' tcx > ,
503503 expr : & ' tcx hir:: Expr < ' tcx > ,
504- args : & ' tcx [ hir:: Expr < ' tcx > ] ,
504+ args : Option < & ' tcx [ hir:: Expr < ' tcx > ] > ,
505505 call : Option < & ' tcx hir:: Expr < ' tcx > > ,
506506 ) -> Ty < ' tcx > {
507507 let tcx = self . tcx ;
@@ -563,7 +563,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
563563 // We just want to check sizedness, so instead of introducing
564564 // placeholder lifetimes with probing, we just replace higher lifetimes
565565 // with fresh vars.
566- let span = args. get ( i ) . map ( |a| a . span ) . unwrap_or ( expr. span ) ;
566+ let span = args. and_then ( |args| args . get ( i ) ) . map_or ( expr. span , |arg| arg . span ) ;
567567 let input = self . instantiate_binder_with_fresh_vars (
568568 span,
569569 infer:: BoundRegionConversionTime :: FnCall ,
0 commit comments