summaryrefslogtreecommitdiffstats
path: root/src/test/ui/match/issue-42679.rs
blob: 46a0bd35d6ada6a8ec036267cdf6c9cbed3272a9 (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!(),
    }
}