| // test for https://github.com/rust-lang/rust/issues/29723 | |
| #![feature(if_let_guard)] | |
| fn main() { | |
| let s = String::new(); | |
| let _s = match 0 { | |
| 0 if { drop(s); false } => String::from("oops"), | |
| _ => { | |
| // This should trigger an error, | |
| // s could have been moved from. | |
| s | |
| //~^ ERROR use of moved value: `s` | |
| } | |
| }; | |
| let s = String::new(); | |
| let _s = match 0 { | |
| 0 if let Some(()) = { drop(s); None } => String::from("oops"), | |
| _ => s //~ ERROR use of moved value: `s` | |
| }; | |
| } |