diff options
Diffstat (limited to 'tests/ui/issues/issue-29723.rs')
-rw-r--r-- | tests/ui/issues/issue-29723.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/issues/issue-29723.rs b/tests/ui/issues/issue-29723.rs new file mode 100644 index 000000000..399e9ba0d --- /dev/null +++ b/tests/ui/issues/issue-29723.rs @@ -0,0 +1,22 @@ +// 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` + }; +} |