summary refs log tree commit diff
path: root/src/test/ui/borrowck/borrowck-closures-use-after-free.stderr
blob: b41a4a0c6768c1e46a9af4daae72468bd43667ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
error[E0502]: cannot borrow `*ptr` as immutable because `ptr` is also borrowed as mutable
  --> $DIR/borrowck-closures-use-after-free.rs:22:9
   |
LL |   let mut test = |foo: &Foo| {
   |                  ----------- mutable borrow occurs here
LL |     ptr = box Foo { x: ptr.x + 1 };
   |     --- previous borrow occurs due to use of `ptr` in closure
LL |   };
LL |   test(&*ptr); //~ ERROR cannot borrow `*ptr`
   |         ^^^^ immutable borrow occurs here
LL | }
   | - mutable borrow ends here

error: aborting due to previous error

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