|
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