about summary refs log tree commit diff
path: root/src/libstd/sys/unix/ext/io.rs
diff options
context:
space:
mode:
authorCody P Schafer <dev@codyps.com>2017-04-03 10:14:10 -0400
committerCody P Schafer <dev@codyps.com>2017-04-03 10:17:59 -0400
commit9c1b7ae3f37a34a39f837ad8ae90da3fad052798 (patch)
tree231d9d6d939be979ef64f6d06d6a15c22bde5bbe /src/libstd/sys/unix/ext/io.rs
parent5309a3e31d88def1f3ea966162ed4f81f161d500 (diff)
downloadrust-9c1b7ae3f37a34a39f837ad8ae90da3fad052798.tar.gz
rust-9c1b7ae3f37a34a39f837ad8ae90da3fad052798.zip
Revert "Implement AsRawFd/IntoRawFd for RawFd"
This reverts commit 2cf686f2cdd6446a3cd47df0305ead40fabe85df (#40842)

RawFd is a type alias for c_int, which is itself a type alias for i32.
As a result, adding AsRawFd and IntoRawFd impls for RawFd actually adds
them for i32.

As a result, the reverted commit makes this valid:

```
use std::os::unix::io::AsRawFd;

fn arf<T: AsRawFd>(_: T) {}

fn main() {
    arf(32i32)
}
```

Implimenting AsRawFd and IntoRawFd for i32 breaks the promises of both
those traits that their methods return a valid RawFd.

r? @aturon
cc @Mic92 @kamalmarhubi
Diffstat (limited to 'src/libstd/sys/unix/ext/io.rs')
-rw-r--r--src/libstd/sys/unix/ext/io.rs15
1 files changed, 0 insertions, 15 deletions
diff --git a/src/libstd/sys/unix/ext/io.rs b/src/libstd/sys/unix/ext/io.rs
index 75aa72e3cff..296235e173d 100644
--- a/src/libstd/sys/unix/ext/io.rs
+++ b/src/libstd/sys/unix/ext/io.rs
@@ -73,13 +73,6 @@ pub trait IntoRawFd {
 }
 
 #[stable(feature = "rust1", since = "1.0.0")]
-impl AsRawFd for RawFd {
-    fn as_raw_fd(&self) -> RawFd {
-        *self
-    }
-}
-
-#[stable(feature = "rust1", since = "1.0.0")]
 impl AsRawFd for fs::File {
     fn as_raw_fd(&self) -> RawFd {
         self.as_inner().fd().raw()
@@ -91,14 +84,6 @@ impl FromRawFd for fs::File {
         fs::File::from_inner(sys::fs::File::from_inner(fd))
     }
 }
-
-#[stable(feature = "into_raw_os", since = "1.4.0")]
-impl IntoRawFd for RawFd {
-    fn into_raw_fd(self) -> RawFd {
-        self
-    }
-}
-
 #[stable(feature = "into_raw_os", since = "1.4.0")]
 impl IntoRawFd for fs::File {
     fn into_raw_fd(self) -> RawFd {