about summary refs log tree commit diff
path: root/tests/ui/match/issue-42679.rs
blob: d41ed43a65f17bc4fa4e80af34125dd116f76a42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//@ run-pass
#![feature(box_patterns)]

#[derive(Debug, PartialEq)]
enum Test {
    Foo(usize),
    Bar(isize),
}

fn main() {
    let a = Box::new(Test::Foo(10));
    let b = Box::new(Test::Bar(-20));
    match (a, b) {
        (_, box Test::Foo(_)) => unreachable!(),
        (box Test::Foo(x), b) => {
            assert_eq!(x, 10);
            assert_eq!(b, Box::new(Test::Bar(-20)));
        },
        _ => unreachable!(),
    }
}