blob: 24626a3b68ae56b5c99450123ca9d6f89611e958 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
// 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() {}
|