blob: 28bac3c016839f8fe34682a78510e3eaee8a90cc [file] [log] [blame] [edit]
//@ check-pass
struct Foo<const N: usize>;
fn bindingp() {
match Foo {
mut x @ Foo::<3> => {
let ref mut _x @ Foo::<3> = x;
}
}
}
struct Bar<const N: usize> {
field: Foo<N>,
}
fn structp() {
match todo!() {
Bar::<3> {
field: Foo::<3>,
} => (),
}
}
struct Baz<const N: usize>(Foo<N>);
fn tuplestructp() {
match Baz(Foo) {
Baz::<3>(Foo::<3>) => (),
}
}
impl<const N: usize> Baz<N> {
const ASSOC: usize = 3;
}
fn pathp() {
match 3 {
Baz::<3>::ASSOC => (),
_ => (),
}
}
fn main() {}