@@ -639,25 +639,23 @@ fn check_loans_in_fn<'a>(fk: &visit::fn_kind,
639
639
span: span) {
640
640
let cap_vars = this. bccx. capture_map. get( & closure_id) ;
641
641
for cap_vars. iter( ) . advance |cap_var| {
642
+ let var_id = ast_util:: def_id_of_def( cap_var. def) . node;
643
+ let var_path = @LpVar ( var_id) ;
644
+ this. check_if_path_is_moved( closure_id, span,
645
+ MovedInCapture , var_path) ;
642
646
match cap_var. mode {
643
- moves : : CapRef | moves:: CapCopy => {
644
- let var_id = ast_util:: def_id_of_def( cap_var. def) . node;
645
- let lp = @LpVar ( var_id) ;
646
- this. check_if_path_is_moved( closure_id, span,
647
- MovedInCapture , lp) ;
648
- }
647
+ moves:: CapRef | moves:: CapCopy => { }
649
648
moves:: CapMove => {
650
- check_by_move_capture( this, closure_id, cap_var) ;
649
+ check_by_move_capture( this, closure_id, cap_var, var_path ) ;
651
650
}
652
651
}
653
652
}
654
653
return ;
655
654
656
655
fn check_by_move_capture( this: @mut CheckLoanCtxt ,
657
656
closure_id: ast:: node_id,
658
- cap_var: & moves:: CaptureVar ) {
659
- let var_id = ast_util:: def_id_of_def( cap_var. def) . node;
660
- let move_path = @LpVar ( var_id) ;
657
+ cap_var: & moves:: CaptureVar ,
658
+ move_path: @LoanPath ) {
661
659
let move_err = this. analyze_move_out_from( closure_id, move_path) ;
662
660
match move_err {
663
661
MoveOk => { }
0 commit comments