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