| error[E0505]: cannot move out of `t0` because it is borrowed |
| --> $DIR/borrowck-move-mut-base-ptr.rs:10:14 |
| | |
| LL | fn foo(t0: &mut isize) { |
| | -- binding `t0` declared here |
| LL | let p: &isize = &*t0; // Freezes `*t0` |
| | ---- borrow of `*t0` occurs here |
| LL | let t1 = t0; |
| | ^^ move out of `t0` occurs here |
| LL | *t1 = 22; |
| LL | p.use_ref(); |
| | - borrow later used here |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL - let p: &isize = &*t0; // Freezes `*t0` |
| LL + let p: &isize = &t0.clone(); // Freezes `*t0` |
| | |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0505`. |