//@ run-pass | |
#![allow(unused)] | |
struct A(u32); | |
pub fn main() { | |
// Bindings are lowered in the order they appear syntactically, so this works. | |
let x @ (A(a) | A(a)) = A(10); | |
assert!(x.0 == 10); | |
assert!(a == 10); | |
// This also works. | |
let (x @ A(a) | x @ A(a)) = A(10); | |
assert!(x.0 == 10); | |
assert!(a == 10); | |
} |