Add ErrorKind::OutOfMemory

This commit is contained in:
Kornel 2021-04-30 12:15:38 +01:00
parent 6d4e3c1ed6
commit 541c8d898e
4 changed files with 10 additions and 2 deletions

View File

@ -186,6 +186,11 @@ pub enum ErrorKind {
/// This means that the operation can never succeed. /// This means that the operation can never succeed.
#[stable(feature = "unsupported_error", since = "1.53.0")] #[stable(feature = "unsupported_error", since = "1.53.0")]
Unsupported, Unsupported,
/// An operation could not be completed, because it failed
/// to allocate enough memory.
#[stable(feature = "out_of_memory_error", since = "1.53.0")]
OutOfMemory,
} }
impl ErrorKind { impl ErrorKind {
@ -210,6 +215,7 @@ impl ErrorKind {
ErrorKind::Other => "other os error", ErrorKind::Other => "other os error",
ErrorKind::UnexpectedEof => "unexpected end of file", ErrorKind::UnexpectedEof => "unexpected end of file",
ErrorKind::Unsupported => "unsupported", ErrorKind::Unsupported => "unsupported",
ErrorKind::OutOfMemory => "out of memory",
} }
} }
} }

View File

@ -77,7 +77,7 @@ fn main() {
let error_kind = ErrorKind::NotFound; let error_kind = ErrorKind::NotFound;
match error_kind { match error_kind {
ErrorKind::NotFound => {}, ErrorKind::NotFound => {},
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::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 | _ => {},
} }
match error_kind { match error_kind {
ErrorKind::NotFound => {}, ErrorKind::NotFound => {},
@ -99,6 +99,7 @@ fn main() {
ErrorKind::Other => {}, ErrorKind::Other => {},
ErrorKind::UnexpectedEof => {}, ErrorKind::UnexpectedEof => {},
ErrorKind::Unsupported => {}, ErrorKind::Unsupported => {},
ErrorKind::OutOfMemory => {},
_ => {}, _ => {},
} }
} }

View File

@ -99,6 +99,7 @@ fn main() {
ErrorKind::Other => {}, ErrorKind::Other => {},
ErrorKind::UnexpectedEof => {}, ErrorKind::UnexpectedEof => {},
ErrorKind::Unsupported => {}, ErrorKind::Unsupported => {},
ErrorKind::OutOfMemory => {},
_ => {}, _ => {},
} }
} }

View File

@ -32,7 +32,7 @@ error: wildcard matches known variants and will also match future added variants
--> $DIR/wildcard_enum_match_arm.rs:80:9 --> $DIR/wildcard_enum_match_arm.rs:80:9
| |
LL | _ => {}, LL | _ => {},
| ^ help: try this: `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 | _` | ^ help: try this: `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 | _`
error: aborting due to 5 previous errors error: aborting due to 5 previous errors