| error[E0382]: borrow of partially moved value: `val` |
| --> $DIR/move-deref-coercion.rs:25:5 |
| | |
| LL | let _val = val.first; |
| | --------- value partially moved here |
| LL | val.inner; |
| | ^^^^^^^^^ value borrowed here after partial move |
| | |
| = note: partial move occurs because `val.first` has type `NotCopy`, which does not implement the `Copy` trait |
| = note: borrow occurs due to deref coercion to `NotCopy` |
| note: deref defined here |
| --> $DIR/move-deref-coercion.rs:17:5 |
| | |
| LL | type Target = NotCopy; |
| | ^^^^^^^^^^^ |
| |
| error[E0382]: borrow of partially moved value: `val` |
| --> $DIR/move-deref-coercion.rs:30:5 |
| | |
| LL | let _val = val.first; |
| | --------- value partially moved here |
| LL | val.inner_method(); |
| | ^^^^^^^^^^^^^^^^^^ value borrowed here after partial move |
| | |
| = note: partial move occurs because `val.first` has type `NotCopy`, which does not implement the `Copy` trait |
| = note: borrow occurs due to deref coercion to `NotCopy` |
| note: deref defined here |
| --> $DIR/move-deref-coercion.rs:17:5 |
| | |
| LL | type Target = NotCopy; |
| | ^^^^^^^^^^^ |
| |
| error: aborting due to 2 previous errors |
| |
| For more information about this error, try `rustc --explain E0382`. |