2018-01-18 15:54:35 +00:00
|
|
|
// test for https://github.com/rust-lang/rust/issues/29723
|
|
|
|
|
2022-12-21 15:29:35 +00:00
|
|
|
#![feature(if_let_guard)]
|
|
|
|
|
2018-01-19 13:24:06 +00:00
|
|
|
fn main() {
|
2018-01-18 15:54:35 +00:00
|
|
|
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
|
2018-01-19 21:46:07 +00:00
|
|
|
//~^ ERROR use of moved value: `s`
|
2018-01-18 15:54:35 +00:00
|
|
|
}
|
|
|
|
};
|
2022-12-21 15:29:35 +00:00
|
|
|
|
|
|
|
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`
|
|
|
|
};
|
2018-01-18 15:54:35 +00:00
|
|
|
}
|