@@ -364,11 +364,12 @@ impl<'a, 'gcx, 'tcx> ExprUseVisitor<'a, 'gcx, 'tcx> {
364
364
}
365
365
366
366
fn mutate_expr ( & mut self ,
367
+ span : Span ,
367
368
assignment_expr : & hir:: Expr ,
368
369
expr : & hir:: Expr ,
369
370
mode : MutateMode ) {
370
371
let cmt = return_if_err ! ( self . mc. cat_expr( expr) ) ;
371
- self . delegate . mutate ( assignment_expr. id , assignment_expr . span , & cmt, mode) ;
372
+ self . delegate . mutate ( assignment_expr. id , span, & cmt, mode) ;
372
373
self . walk_expr ( expr) ;
373
374
}
374
375
@@ -472,12 +473,16 @@ impl<'a, 'gcx, 'tcx> ExprUseVisitor<'a, 'gcx, 'tcx> {
472
473
if o. is_indirect {
473
474
self . consume_expr ( output) ;
474
475
} else {
475
- self . mutate_expr ( expr, output,
476
- if o. is_rw {
477
- MutateMode :: WriteAndRead
478
- } else {
479
- MutateMode :: JustWrite
480
- } ) ;
476
+ self . mutate_expr (
477
+ output. span ,
478
+ expr,
479
+ output,
480
+ if o. is_rw {
481
+ MutateMode :: WriteAndRead
482
+ } else {
483
+ MutateMode :: JustWrite
484
+ } ,
485
+ ) ;
481
486
}
482
487
}
483
488
self . consume_exprs ( inputs) ;
@@ -515,7 +520,7 @@ impl<'a, 'gcx, 'tcx> ExprUseVisitor<'a, 'gcx, 'tcx> {
515
520
}
516
521
517
522
hir:: ExprKind :: Assign ( ref lhs, ref rhs) => {
518
- self . mutate_expr ( expr, & lhs, MutateMode :: JustWrite ) ;
523
+ self . mutate_expr ( expr. span , expr , & lhs, MutateMode :: JustWrite ) ;
519
524
self . consume_expr ( & rhs) ;
520
525
}
521
526
@@ -527,7 +532,7 @@ impl<'a, 'gcx, 'tcx> ExprUseVisitor<'a, 'gcx, 'tcx> {
527
532
if self . mc . tables . is_method_call ( expr) {
528
533
self . consume_expr ( lhs) ;
529
534
} else {
530
- self . mutate_expr ( expr, & lhs, MutateMode :: WriteAndRead ) ;
535
+ self . mutate_expr ( expr. span , expr , & lhs, MutateMode :: WriteAndRead ) ;
531
536
}
532
537
self . consume_expr ( & rhs) ;
533
538
}
0 commit comments