diff options
| author | Aviram Hassan <aviramyhassan@gmail.com> | 2024-09-24 18:52:54 +0300 |
|---|---|---|
| committer | Aviram Hassan <aviramyhassan@gmail.com> | 2024-09-24 20:49:56 +0300 |
| commit | 46fd76e9a5687dc7ac6bfad1c715ceaef9e8cf29 (patch) | |
| tree | c600488eb83274f95c1d478fe66fea6a1da5f427 | |
| parent | 4cbfcf1b7f16245176488e581f57b39a7e32bc31 (diff) | |
| download | rust-46fd76e9a5687dc7ac6bfad1c715ceaef9e8cf29.tar.gz rust-46fd76e9a5687dc7ac6bfad1c715ceaef9e8cf29.zip | |
add InProgress ErrorKind gated behind io_error_inprogress feature
Co-authored-by: David Tolnay <dtolnay@gmail.com> Co-authored-by: nora <48135649+Noratrieb@users.noreply.github.com>
| -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, |
