summaryrefslogtreecommitdiffstats
path: root/src/test/ui/let-else/let-else-bindings.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/let-else/let-else-bindings.rs')
-rw-r--r--src/test/ui/let-else/let-else-bindings.rs75
1 files changed, 0 insertions, 75 deletions
diff --git a/src/test/ui/let-else/let-else-bindings.rs b/src/test/ui/let-else/let-else-bindings.rs
deleted file mode 100644
index 7d2cad978..000000000
--- a/src/test/ui/let-else/let-else-bindings.rs
+++ /dev/null
@@ -1,75 +0,0 @@
-// run-pass
-// adapted from src/test/ui/binding/if-let.rs
-
-#![allow(dead_code)]
-
-fn none() -> bool {
- let None = Some("test") else {
- return true;
- };
- false
-}
-
-fn ok() -> bool {
- let Ok(()) = Err::<(),&'static str>("test") else {
- return true;
- };
- false
-}
-
-pub fn main() {
- let x = Some(3);
- let Some(y) = x else {
- panic!("let-else panicked");
- };
- assert_eq!(y, 3);
- let Some(_) = x else {
- panic!("bad match");
- };
- assert!(none());
- assert!(ok());
-
- assert!((|| {
- let 1 = 2 else {
- return true;
- };
- false
- })());
-
- enum Foo {
- One,
- Two(usize),
- Three(String, isize),
- }
-
- let foo = Foo::Three("three".to_string(), 42);
- let one = || {
- let Foo::One = foo else {
- return true;
- };
- false
- };
- assert!(one());
- let two = || {
- let Foo::Two(_x) = foo else {
- return true;
- };
- false
- };
- assert!(two());
- let three = || {
- let Foo::Three(s, _x) = foo else {
- return false;
- };
- s == "three"
- };
- assert!(three());
-
- let a@Foo::Two(_) = Foo::Two(42_usize) else {
- panic!("bad match")
- };
- let Foo::Two(b) = a else {
- panic!("panic in nested `if let`");
- };
- assert_eq!(b, 42_usize);
-}