2019-04-22 02:40:08 -05:00
|
|
|
error[E0502]: cannot borrow `*ptr` as immutable because it is also borrowed as mutable
|
|
|
|
--> $DIR/borrowck-closures-use-after-free.rs:22:8
|
2018-08-08 07:28:26 -05:00
|
|
|
|
|
|
|
|
LL | let mut test = |foo: &Foo| {
|
|
|
|
| ----------- mutable borrow occurs here
|
2021-08-24 19:39:40 -05:00
|
|
|
LL | ptr = Box::new(Foo { x: ptr.x + 1 });
|
2021-03-17 01:51:27 -05:00
|
|
|
| --- first borrow occurs due to use of `ptr` in closure
|
2018-08-08 07:28:26 -05:00
|
|
|
LL | };
|
2019-03-09 06:03:44 -06:00
|
|
|
LL | test(&*ptr);
|
2019-04-22 02:40:08 -05:00
|
|
|
| ---- ^^^^^ immutable borrow occurs here
|
|
|
|
| |
|
|
|
|
| mutable borrow later used by call
|
2018-08-08 07:28:26 -05:00
|
|
|
|
|
|
|
error: aborting due to previous error
|
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0502`.
|