From 3a7fd1a82f55c3a066554ea3aca342da11493a8f Mon Sep 17 00:00:00 2001 From: Alex Saveau Date: Fri, 15 Apr 2022 20:02:05 -0700 Subject: [PATCH 1/3] Implement From for FromBytesWithNulError Signed-off-by: Alex Saveau --- library/std/src/error.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/library/std/src/error.rs b/library/std/src/error.rs index 3f85c2095cbd4..8e204cbd8f6ba 100644 --- a/library/std/src/error.rs +++ b/library/std/src/error.rs @@ -637,6 +637,14 @@ impl Error for core::ffi::FromBytesWithNulError { } } +#[unstable(feature = "todo", issue = "none")] +impl From for io::Error { + /// Converts a [`NulError`] into an [`io::Error`]. + fn from(e: core::ffi::FromBytesWithNulError) -> io::Error { + io::Error::new(io::ErrorKind::InvalidInput, e) + } +} + #[unstable(feature = "cstr_from_bytes_until_nul", issue = "95027")] impl Error for core::ffi::FromBytesUntilNulError {} From 105267537a13e1d31c0801ccbce2446f19d1ce97 Mon Sep 17 00:00:00 2001 From: Alex Saveau Date: Fri, 15 Apr 2022 20:22:16 -0700 Subject: [PATCH 2/3] Make linter happy Signed-off-by: Alex Saveau --- library/std/src/error.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/std/src/error.rs b/library/std/src/error.rs index 8e204cbd8f6ba..c8ecd764c842d 100644 --- a/library/std/src/error.rs +++ b/library/std/src/error.rs @@ -639,7 +639,7 @@ impl Error for core::ffi::FromBytesWithNulError { #[unstable(feature = "todo", issue = "none")] impl From for io::Error { - /// Converts a [`NulError`] into an [`io::Error`]. + /// Converts a [`NulError`](core::ffi::FromBytesWithNulError) into an [`io::Error`]. fn from(e: core::ffi::FromBytesWithNulError) -> io::Error { io::Error::new(io::ErrorKind::InvalidInput, e) } From 794c1e663b840e1373be5375511552bfe9890871 Mon Sep 17 00:00:00 2001 From: Alex Saveau Date: Mon, 18 Apr 2022 22:36:39 -0700 Subject: [PATCH 3/3] Update library/std/src/error.rs Co-authored-by: Josh Triplett --- library/std/src/error.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/std/src/error.rs b/library/std/src/error.rs index c8ecd764c842d..eec817f1687e4 100644 --- a/library/std/src/error.rs +++ b/library/std/src/error.rs @@ -637,7 +637,7 @@ impl Error for core::ffi::FromBytesWithNulError { } } -#[unstable(feature = "todo", issue = "none")] +#[stable(feature = "io_error_from_frombyteswithnulerror", since = "1.62.0")] impl From for io::Error { /// Converts a [`NulError`](core::ffi::FromBytesWithNulError) into an [`io::Error`]. fn from(e: core::ffi::FromBytesWithNulError) -> io::Error {