error[E0658]: binding by-move and by-ref in the same pattern is unstable --> $DIR/feature-gate-move_ref_pattern.rs:8:15 | LL | Some((y, ref z)) => {} | ^ ----- by-ref pattern here | | | by-move pattern here | = note: see issue #68354 for more information = help: add `#![feature(move_ref_pattern)]` to the crate attributes to enable error[E0658]: binding by-move and by-ref in the same pattern is unstable --> $DIR/feature-gate-move_ref_pattern.rs:13:17 | LL | let (ref a, b) = tup.clone(); | ----- ^ by-move pattern here | | | by-ref pattern here | = note: see issue #68354 for more information = help: add `#![feature(move_ref_pattern)]` to the crate attributes to enable error[E0658]: binding by-move and by-ref in the same pattern is unstable --> $DIR/feature-gate-move_ref_pattern.rs:16:13 | LL | let (a, mut b) = &tup; | - ^^^^^ by-move pattern here | | | by-ref pattern here | = note: see issue #68354 for more information = help: add `#![feature(move_ref_pattern)]` to the crate attributes to enable error[E0658]: binding by-move and by-ref in the same pattern is unstable --> $DIR/feature-gate-move_ref_pattern.rs:20:10 | LL | let (mut a, b) = &mut tup; | ^^^^^ - by-ref pattern here | | | by-move pattern here | = note: see issue #68354 for more information = help: add `#![feature(move_ref_pattern)]` to the crate attributes to enable error[E0507]: cannot move out of a shared reference --> $DIR/feature-gate-move_ref_pattern.rs:16:22 | LL | let (a, mut b) = &tup; | ----- ^^^^ | | | data moved here | move occurs because `b` has type `main::X`, which does not implement the `Copy` trait error[E0507]: cannot move out of a mutable reference --> $DIR/feature-gate-move_ref_pattern.rs:20:22 | LL | let (mut a, b) = &mut tup; | ----- ^^^^^^^^ | | | data moved here | move occurs because `a` has type `main::X`, which does not implement the `Copy` trait error: aborting due to 6 previous errors Some errors have detailed explanations: E0507, E0658. For more information about an error, try `rustc --explain E0507`.