about summary refs log tree commit diff
path: root/tests/ui/closures/2229_closure_analysis/match/issue-87097.rs
blob: 3b41665cb4a0b44060b4f65a5e1f80ccbb10df44 (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();
}