// 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` | |
}; | |
} |