diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/match/issue-42679.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/ui/match/issue-42679.rs b/src/test/ui/match/issue-42679.rs new file mode 100644 index 000000000..596309f25 --- /dev/null +++ b/src/test/ui/match/issue-42679.rs @@ -0,0 +1,22 @@ +// run-pass +#![feature(box_syntax)] +#![feature(box_patterns)] + +#[derive(Debug, PartialEq)] +enum Test { + Foo(usize), + Bar(isize), +} + +fn main() { + let a = box Test::Foo(10); + let b = box Test::Bar(-20); + match (a, b) { + (_, box Test::Foo(_)) => unreachable!(), + (box Test::Foo(x), b) => { + assert_eq!(x, 10); + assert_eq!(b, box Test::Bar(-20)); + }, + _ => unreachable!(), + } +} |