exhaustive_items.fixed 1.1 KB
Newer Older
M
Manish Goregaokar 已提交
1 2
// run-rustfix

M
Manish Goregaokar 已提交
3
#![deny(clippy::exhaustive_enums, clippy::exhaustive_structs)]
M
Manish Goregaokar 已提交
4 5 6 7 8 9
#![allow(unused)]

fn main() {
    // nop
}

M
Manish Goregaokar 已提交
10 11
pub mod enums {
    #[non_exhaustive]
12
    pub enum Exhaustive {
M
Manish Goregaokar 已提交
13 14 15 16 17
        Foo,
        Bar,
        Baz,
        Quux(String),
    }
M
Manish Goregaokar 已提交
18

M
Manish Goregaokar 已提交
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
    // no warning, already non_exhaustive
    #[non_exhaustive]
    pub enum NonExhaustive {
        Foo,
        Bar,
        Baz,
        Quux(String),
    }

    // no warning, private
    enum ExhaustivePrivate {
        Foo,
        Bar,
        Baz,
        Quux(String),
    }
35

M
Manish Goregaokar 已提交
36 37 38 39 40 41 42 43
    // no warning, private
    #[non_exhaustive]
    enum NonExhaustivePrivate {
        Foo,
        Bar,
        Baz,
        Quux(String),
    }
44 45
}

M
Manish Goregaokar 已提交
46 47
pub mod structs {
    #[non_exhaustive]
48
    pub struct Exhaustive {
M
Manish Goregaokar 已提交
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
        foo: u8,
        bar: String,
    }

    // no warning, already non_exhaustive
    #[non_exhaustive]
    pub struct NonExhaustive {
        foo: u8,
        bar: String,
    }

    // no warning, private
    struct ExhaustivePrivate {
        foo: u8,
        bar: String,
    }

    // no warning, private
    #[non_exhaustive]
    struct NonExhaustivePrivate {
        foo: u8,
        bar: String,
    }
M
Manish Goregaokar 已提交
72
}