17 lines
607 B
Plaintext
17 lines
607 B
Plaintext
|
error[E0502]: cannot borrow `*ptr` as immutable because `ptr` is also borrowed as mutable
|
||
|
--> $DIR/borrowck-closures-use-after-free.rs:32: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`.
|