|
1 | 1 | // run-rustfix |
| 2 | +// aux-build:non-exhaustive-enum.rs |
2 | 3 |
|
3 | 4 | #![deny(clippy::wildcard_enum_match_arm)] |
4 | 5 | #![allow( |
|
11 | 12 | clippy::diverging_sub_expression |
12 | 13 | )] |
13 | 14 |
|
14 | | -use std::io::ErrorKind; |
| 15 | +extern crate non_exhaustive_enum; |
| 16 | + |
| 17 | +use non_exhaustive_enum::ErrorKind; |
15 | 18 |
|
16 | 19 | #[derive(Clone, Copy, Debug, Eq, PartialEq)] |
17 | 20 | enum Color { |
@@ -77,29 +80,25 @@ fn main() { |
77 | 80 | let error_kind = ErrorKind::NotFound; |
78 | 81 | match error_kind { |
79 | 82 | ErrorKind::NotFound => {}, |
80 | | - ErrorKind::PermissionDenied | ErrorKind::ConnectionRefused | ErrorKind::ConnectionReset | ErrorKind::ConnectionAborted | ErrorKind::NotConnected | ErrorKind::AddrInUse | ErrorKind::AddrNotAvailable | ErrorKind::BrokenPipe | ErrorKind::AlreadyExists | ErrorKind::WouldBlock | ErrorKind::InvalidInput | ErrorKind::InvalidData | ErrorKind::TimedOut | ErrorKind::WriteZero | ErrorKind::Interrupted | ErrorKind::Other | ErrorKind::UnexpectedEof | ErrorKind::Unsupported | ErrorKind::OutOfMemory | _ => {}, |
| 83 | + ErrorKind::PermissionDenied | _ => {}, |
81 | 84 | } |
82 | 85 | match error_kind { |
83 | 86 | ErrorKind::NotFound => {}, |
84 | 87 | ErrorKind::PermissionDenied => {}, |
85 | | - ErrorKind::ConnectionRefused => {}, |
86 | | - ErrorKind::ConnectionReset => {}, |
87 | | - ErrorKind::ConnectionAborted => {}, |
88 | | - ErrorKind::NotConnected => {}, |
89 | | - ErrorKind::AddrInUse => {}, |
90 | | - ErrorKind::AddrNotAvailable => {}, |
91 | | - ErrorKind::BrokenPipe => {}, |
92 | | - ErrorKind::AlreadyExists => {}, |
93 | | - ErrorKind::WouldBlock => {}, |
94 | | - ErrorKind::InvalidInput => {}, |
95 | | - ErrorKind::InvalidData => {}, |
96 | | - ErrorKind::TimedOut => {}, |
97 | | - ErrorKind::WriteZero => {}, |
98 | | - ErrorKind::Interrupted => {}, |
99 | | - ErrorKind::Other => {}, |
100 | | - ErrorKind::UnexpectedEof => {}, |
101 | | - ErrorKind::Unsupported => {}, |
102 | | - ErrorKind::OutOfMemory => {}, |
103 | 88 | _ => {}, |
104 | 89 | } |
| 90 | + |
| 91 | + { |
| 92 | + #![allow(clippy::manual_non_exhaustive)] |
| 93 | + pub enum Enum { |
| 94 | + A, |
| 95 | + B, |
| 96 | + #[doc(hidden)] |
| 97 | + __Private, |
| 98 | + } |
| 99 | + match Enum::A { |
| 100 | + Enum::A => (), |
| 101 | + Enum::B | _ => (), |
| 102 | + } |
| 103 | + } |
105 | 104 | } |
0 commit comments