2019-04-22 02:40:08 -05:00
|
|
|
error[E0502]: cannot borrow `*ptr` as immutable because it is also borrowed as mutable
|
|
|
|
--> $DIR/issue-11192.rs:20:10
|
2018-07-15 16:11:54 -05:00
|
|
|
|
|
|
|
|
LL | let mut test = |foo: &Foo| {
|
|
|
|
| ----------- mutable borrow occurs here
|
|
|
|
LL | println!("access {}", foo.x);
|
2022-07-06 21:36:10 -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-07-15 16:11:54 -05:00
|
|
|
...
|
|
|
|
LL | test(&*ptr);
|
2019-04-22 02:40:08 -05:00
|
|
|
| ---- ^^^^^ immutable borrow occurs here
|
|
|
|
| |
|
|
|
|
| mutable borrow later used by call
|
2018-07-15 16:11:54 -05:00
|
|
|
|
|
|
|
error: aborting due to previous error
|
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0502`.
|