summaryrefslogtreecommitdiffstats
path: root/tests/ui/closures/2229_closure_analysis/diagnostics/borrowck/borrowck-closures-mut-and-imm.stderr
blob: 5f1dae2972f9e6766ffef3e107c843d507dffb78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
error[E0502]: cannot borrow `p` as mutable because it is also borrowed as immutable
  --> $DIR/borrowck-closures-mut-and-imm.rs:17:14
   |
LL |     let c2 = || p.y * 5;
   |              -- --- first borrow occurs due to use of `p.y` in closure
   |              |
   |              immutable borrow occurs here
LL |     let c1 = || {
   |              ^^ mutable borrow occurs here
LL |
LL |         dbg!(&p);
   |               - second borrow occurs due to use of `p` in closure
LL |         p.x = 4;
   |         --- capture is mutable because of use here
LL |     };
LL |     drop(c2);
   |          -- immutable borrow later used here

error: aborting due to previous error

For more information about this error, try `rustc --explain E0502`.