rust/tests/ui/borrowck/move-in-pattern.rs

25 lines
406 B
Rust

//@ run-rustfix
// Issue #63988
#[derive(Debug)]
struct S;
fn foo(_: Option<S>) {}
enum E {
V {
s: S,
}
}
fn bar(_: E) {}
fn main() {
let s = Some(S);
if let Some(x) = s {
let _ = x;
}
foo(s); //~ ERROR use of partially moved value: `s`
let e = E::V { s: S };
let E::V { s: x } = e;
let _ = x;
bar(e); //~ ERROR use of partially moved value: `e`
}