| // 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(ref x) = s { | |
| let _ = x; | |
| } | |
| foo(s); //~ ERROR use of partially moved value: `s` | |
| let e = E::V { s: S }; | |
| let E::V { s: ref x } = e; | |
| let _ = x; | |
| bar(e); //~ ERROR use of partially moved value: `e` | |
| } |