| // Check that or patterns are lowered correctly in `for` loops. | |
| //@ run-pass | |
| fn main() { | |
| let v = vec![Ok(2), Err(3), Ok(5)]; | |
| let mut w = Vec::new(); | |
| for &(Ok(i) | Err(i)) in &v { | |
| w.push(i); | |
| } | |
| let mut u = Vec::new(); | |
| for Ok(i) | Err(i) in v { | |
| u.push(i); | |
| } | |
| assert_eq!(w, [2, 3, 5]); | |
| assert_eq!(u, [2, 3, 5]); | |
| } |