diff options
| author | Trevor Gross <t.gross35@gmail.com> | 2024-09-24 19:47:51 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-24 19:47:51 -0400 |
| commit | 147aa8611aa0077d96f8db414f068f9997cb497c (patch) | |
| tree | 76f26f28505337bc1524c9c2fe0b1e389382e168 /library/std/src | |
| parent | 9bdef3c92800c5fb9992a6a7bf348719cc54d6fa (diff) | |
| parent | 46fd76e9a5687dc7ac6bfad1c715ceaef9e8cf29 (diff) | |
| download | rust-147aa8611aa0077d96f8db414f068f9997cb497c.tar.gz rust-147aa8611aa0077d96f8db414f068f9997cb497c.zip | |
Rollup merge of #130789 - aviramha:add_inprogress, r=Noratrieb
add InProgress ErrorKind gated behind io_error_inprogress feature Follow up on https://github.com/rust-lang/libs-team/issues/92#issuecomment-2371666560
Diffstat (limited to 'library/std/src')
| -rw-r--r-- | library/std/src/io/error.rs | 6 | ||||
| -rw-r--r-- | library/std/src/io/error/repr_bitpacked.rs | 1 | ||||
| -rw-r--r-- | library/std/src/sys/pal/unix/mod.rs | 1 |
3 files changed, 8 insertions, 0 deletions
diff --git a/library/std/src/io/error.rs b/library/std/src/io/error.rs index 6ecd9469c17..795cc64e957 100644 --- a/library/std/src/io/error.rs +++ b/library/std/src/io/error.rs @@ -400,6 +400,11 @@ pub enum ErrorKind { #[stable(feature = "out_of_memory_error", since = "1.54.0")] OutOfMemory, + /// The operation was partially successful and needs to be checked + /// later on due to not blocking. + #[unstable(feature = "io_error_inprogress", issue = "none")] + InProgress, + // "Unusual" error kinds which do not correspond simply to (sets // of) OS error codes, should be added just above this comment. // `Other` and `Uncategorized` should remain at the end: @@ -449,6 +454,7 @@ impl ErrorKind { FilesystemQuotaExceeded => "filesystem quota exceeded", HostUnreachable => "host unreachable", Interrupted => "operation interrupted", + InProgress => "in progress", InvalidData => "invalid data", InvalidFilename => "invalid filename", InvalidInput => "invalid input parameter", diff --git a/library/std/src/io/error/repr_bitpacked.rs b/library/std/src/io/error/repr_bitpacked.rs index 9d3ade46bd9..80ba8455df3 100644 --- a/library/std/src/io/error/repr_bitpacked.rs +++ b/library/std/src/io/error/repr_bitpacked.rs @@ -348,6 +348,7 @@ fn kind_from_prim(ek: u32) -> Option<ErrorKind> { UnexpectedEof, Unsupported, OutOfMemory, + InProgress, Uncategorized, }) } diff --git a/library/std/src/sys/pal/unix/mod.rs b/library/std/src/sys/pal/unix/mod.rs index 1c9159e5fba..0d63b1119d5 100644 --- a/library/std/src/sys/pal/unix/mod.rs +++ b/library/std/src/sys/pal/unix/mod.rs @@ -279,6 +279,7 @@ pub fn decode_error_kind(errno: i32) -> ErrorKind { libc::ETIMEDOUT => TimedOut, libc::ETXTBSY => ExecutableFileBusy, libc::EXDEV => CrossesDevices, + libc::EINPROGRESS => InProgress, libc::EACCES | libc::EPERM => PermissionDenied, |
