error: cannot move out of value because it is borrowed --> $DIR/bind-by-move-neither-can-live-while-the-other-survives-1.rs:15:14 | LL | Some(ref _y @ _z) => {} | ------^^^-- | | | | | value moved into `_z` here | value borrowed, by `_y`, here error: borrow of moved value --> $DIR/bind-by-move-neither-can-live-while-the-other-survives-1.rs:21:14 | LL | Some(_z @ ref _y) => {} | --^^^------ | | | | | value borrowed here after move | value moved into `_z` here | move occurs because `_z` has type `X` which does not implement the `Copy` trait error: cannot move out of value because it is borrowed --> $DIR/bind-by-move-neither-can-live-while-the-other-survives-1.rs:29:14 | LL | Some(ref mut _y @ _z) => {} | ----------^^^-- | | | | | value moved into `_z` here | value borrowed, by `_y`, here error: borrow of moved value --> $DIR/bind-by-move-neither-can-live-while-the-other-survives-1.rs:35:14 | LL | Some(_z @ ref mut _y) => {} | --^^^---------- | | | | | value borrowed here after move | value moved into `_z` here | move occurs because `_z` has type `X` which does not implement the `Copy` trait error[E0382]: borrow of moved value --> $DIR/bind-by-move-neither-can-live-while-the-other-survives-1.rs:21:19 | LL | Some(_z @ ref _y) => {} | -----^^^^^^ | | | | | value borrowed here after move | value moved here | = note: move occurs because value has type `X`, which does not implement the `Copy` trait error[E0382]: borrow of moved value --> $DIR/bind-by-move-neither-can-live-while-the-other-survives-1.rs:35:19 | LL | Some(_z @ ref mut _y) => {} | -----^^^^^^^^^^ | | | | | value borrowed here after move | value moved here | = note: move occurs because value has type `X`, which does not implement the `Copy` trait error: aborting due to 6 previous errors For more information about this error, try `rustc --explain E0382`.