summaryrefslogtreecommitdiffstats
path: root/src/test/ui/closures/2229_closure_analysis/match/issue-87097.rs
blob: 815fc0a719cfdebeaf4416daa990ffdb651d7f86 (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
// run-pass
// edition:2021

enum Variant {
    A,
    B, //~ WARNING: variant `B` is never constructed
}

struct A {
    field: Variant,
}

fn discriminant_is_a_ref() {
    let here = A { field: Variant::A };
    let out_ref = &here.field;

    || match out_ref { //~ WARNING: unused closure that must be used
        Variant::A => (),
        Variant::B => (),
    };
}

fn discriminant_is_a_field() {
    let here = A { field: Variant::A };

    || match here.field { //~ WARNING: unused closure that must be used
        Variant::A => (),
        Variant::B => (),
    };
}

fn main() {
    discriminant_is_a_ref();
    discriminant_is_a_field();
}