rust/tests/ui/pattern/issue-6449.rs
Lukas Wirth eae7fe1bdb Use non-2015 edition paths in tests that do not test for their resolution
This allows for testing these tests on editions other than 2015
2025-06-03 13:35:31 +02:00

45 lines
1.2 KiB
Rust

//@ run-pass
#![allow(dead_code)]
enum Foo {
Bar(isize),
Baz,
}
enum Other {
Other1(Foo),
Other2(Foo, Foo),
}
fn main() {
match Foo::Baz {
crate::Foo::Bar(3) => panic!(),
crate::Foo::Bar(_) if false => panic!(),
crate::Foo::Bar(..) if false => panic!(),
crate::Foo::Bar(_n) => panic!(),
crate::Foo::Baz => {}
}
match Foo::Bar(3) {
crate::Foo::Bar(3) => {}
crate::Foo::Bar(_) if false => panic!(),
crate::Foo::Bar(..) if false => panic!(),
crate::Foo::Bar(_n) => panic!(),
crate::Foo::Baz => panic!(),
}
match Foo::Bar(4) {
crate::Foo::Bar(3) => panic!(),
crate::Foo::Bar(_) if false => panic!(),
crate::Foo::Bar(..) if false => panic!(),
crate::Foo::Bar(n) => assert_eq!(n, 4),
crate::Foo::Baz => panic!(),
}
match Other::Other1(Foo::Baz) {
crate::Other::Other1(crate::Foo::Baz) => {}
crate::Other::Other1(crate::Foo::Bar(_)) => {}
crate::Other::Other2(crate::Foo::Baz, crate::Foo::Bar(_)) => {}
crate::Other::Other2(crate::Foo::Bar(..), crate::Foo::Baz) => {}
crate::Other::Other2(..) => {}
}
}