From 82f5928ca68acceb1d1bd9e2b09554744e4a1dfe Mon Sep 17 00:00:00 2001 From: Without Boats Date: Sun, 20 Sep 2020 13:21:42 +0200 Subject: [PATCH 1/4] Make RawFd implement the RawFd traits --- library/std/src/sys/unix/ext/io.rs | 19 +++++++++++++++++++ library/std/src/sys/vxworks/ext/io.rs | 20 ++++++++++++++++++++ library/std/src/sys/wasi/ext/io.rs | 20 ++++++++++++++++++++ 3 files changed, 59 insertions(+) diff --git a/library/std/src/sys/unix/ext/io.rs b/library/std/src/sys/unix/ext/io.rs index ec7a32b675c02..d9d1803314fb4 100644 --- a/library/std/src/sys/unix/ext/io.rs +++ b/library/std/src/sys/unix/ext/io.rs @@ -62,6 +62,25 @@ pub trait IntoRawFd { fn into_raw_fd(self) -> RawFd; } +#[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] +impl AsRawFd for RawFd { + fn as_raw_fd(&self) -> RawFd { + *self + } +} +#[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] +impl IntoRawFd for RawFd { + fn as_raw_fd(self) -> RawFd { + self + } +} +#[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] +impl FromRawFd for RawFd { + unsafe fn from_raw_fd(fd: RawFd) -> RawFd { + self + } +} + #[stable(feature = "rust1", since = "1.0.0")] impl AsRawFd for fs::File { fn as_raw_fd(&self) -> RawFd { diff --git a/library/std/src/sys/vxworks/ext/io.rs b/library/std/src/sys/vxworks/ext/io.rs index 25c6e26d96e91..2ee29a91a33ca 100644 --- a/library/std/src/sys/vxworks/ext/io.rs +++ b/library/std/src/sys/vxworks/ext/io.rs @@ -63,6 +63,26 @@ pub trait IntoRawFd { fn into_raw_fd(self) -> RawFd; } +#[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] +impl AsRawFd for RawFd { + fn as_raw_fd(&self) -> RawFd { + *self + } +} +#[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] +impl IntoRawFd for RawFd { + fn as_raw_fd(self) -> RawFd { + self + } +} +#[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] +impl FromRawFd for RawFd { + unsafe fn from_raw_fd(fd: RawFd) -> RawFd { + self + } +} + + #[stable(feature = "rust1", since = "1.0.0")] impl AsRawFd for fs::File { fn as_raw_fd(&self) -> RawFd { diff --git a/library/std/src/sys/wasi/ext/io.rs b/library/std/src/sys/wasi/ext/io.rs index 4e8fa65eb20f0..0a17c155c4f16 100644 --- a/library/std/src/sys/wasi/ext/io.rs +++ b/library/std/src/sys/wasi/ext/io.rs @@ -52,6 +52,26 @@ pub trait IntoRawFd { fn into_raw_fd(self) -> RawFd; } +#[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] +impl AsRawFd for RawFd { + fn as_raw_fd(&self) -> RawFd { + *self + } +} +#[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] +impl IntoRawFd for RawFd { + fn as_raw_fd(self) -> RawFd { + self + } +} +#[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] +impl FromRawFd for RawFd { + unsafe fn from_raw_fd(fd: RawFd) -> RawFd { + self + } +} + + impl AsRawFd for net::TcpStream { fn as_raw_fd(&self) -> RawFd { self.as_inner().fd().as_raw() From acc136ce0a665a32ddf1a16544b6f6d7a7153c30 Mon Sep 17 00:00:00 2001 From: Without Boats Date: Sun, 20 Sep 2020 13:32:49 +0200 Subject: [PATCH 2/4] fix typos --- library/std/src/sys/unix/ext/io.rs | 4 ++-- library/std/src/sys/vxworks/ext/io.rs | 4 ++-- library/std/src/sys/wasi/ext/io.rs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/library/std/src/sys/unix/ext/io.rs b/library/std/src/sys/unix/ext/io.rs index d9d1803314fb4..fbea1aa9f2abf 100644 --- a/library/std/src/sys/unix/ext/io.rs +++ b/library/std/src/sys/unix/ext/io.rs @@ -70,14 +70,14 @@ impl AsRawFd for RawFd { } #[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] impl IntoRawFd for RawFd { - fn as_raw_fd(self) -> RawFd { + fn into_raw_fd(self) -> RawFd { self } } #[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] impl FromRawFd for RawFd { unsafe fn from_raw_fd(fd: RawFd) -> RawFd { - self + fd } } diff --git a/library/std/src/sys/vxworks/ext/io.rs b/library/std/src/sys/vxworks/ext/io.rs index 2ee29a91a33ca..4a93c5db2f566 100644 --- a/library/std/src/sys/vxworks/ext/io.rs +++ b/library/std/src/sys/vxworks/ext/io.rs @@ -71,14 +71,14 @@ impl AsRawFd for RawFd { } #[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] impl IntoRawFd for RawFd { - fn as_raw_fd(self) -> RawFd { + fn into_raw_fd(self) -> RawFd { self } } #[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] impl FromRawFd for RawFd { unsafe fn from_raw_fd(fd: RawFd) -> RawFd { - self + fd } } diff --git a/library/std/src/sys/wasi/ext/io.rs b/library/std/src/sys/wasi/ext/io.rs index 0a17c155c4f16..9ffb58bb8079f 100644 --- a/library/std/src/sys/wasi/ext/io.rs +++ b/library/std/src/sys/wasi/ext/io.rs @@ -60,14 +60,14 @@ impl AsRawFd for RawFd { } #[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] impl IntoRawFd for RawFd { - fn as_raw_fd(self) -> RawFd { + fn into_raw_fd(self) -> RawFd { self } } #[stable(feature = "raw_fd_reflexive_traits", since = "1.48.0")] impl FromRawFd for RawFd { unsafe fn from_raw_fd(fd: RawFd) -> RawFd { - self + fd } } From 3fe279fc658450a3e3140f014554139493674217 Mon Sep 17 00:00:00 2001 From: Without Boats Date: Sun, 20 Sep 2020 14:04:23 +0200 Subject: [PATCH 3/4] spend another CI build to delete a double newline --- library/std/src/sys/wasi/ext/io.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/library/std/src/sys/wasi/ext/io.rs b/library/std/src/sys/wasi/ext/io.rs index 9ffb58bb8079f..661214e8f4cc3 100644 --- a/library/std/src/sys/wasi/ext/io.rs +++ b/library/std/src/sys/wasi/ext/io.rs @@ -71,7 +71,6 @@ impl FromRawFd for RawFd { } } - impl AsRawFd for net::TcpStream { fn as_raw_fd(&self) -> RawFd { self.as_inner().fd().as_raw() From 35b30e29bffe8c4aa896ce53ded67c54401f7643 Mon Sep 17 00:00:00 2001 From: Without Boats Date: Sun, 20 Sep 2020 14:38:59 +0200 Subject: [PATCH 4/4] try again to appease tidy --- library/std/src/sys/vxworks/ext/io.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/library/std/src/sys/vxworks/ext/io.rs b/library/std/src/sys/vxworks/ext/io.rs index 4a93c5db2f566..8b5a2d12af74f 100644 --- a/library/std/src/sys/vxworks/ext/io.rs +++ b/library/std/src/sys/vxworks/ext/io.rs @@ -82,7 +82,6 @@ impl FromRawFd for RawFd { } } - #[stable(feature = "rust1", since = "1.0.0")] impl AsRawFd for fs::File { fn as_raw_fd(&self) -> RawFd {