about summary refs log tree commit diff
path: root/library/std/src/sys/solid
diff options
context:
space:
mode:
authorTomoaki Kawada <kawada@kmckk.co.jp>2023-08-23 19:06:43 +0900
committerTomoaki Kawada <kawada@kmckk.co.jp>2023-11-08 10:51:59 +0900
commit46bc247bd145f3357acb07b7f146ec9514e0a193 (patch)
treeff6c576800877b1e6d312abbf2bec4f1ebaeba56 /library/std/src/sys/solid
parent6d1e4ddf0354e51e3520abfbd32a394f497d3f3b (diff)
downloadrust-46bc247bd145f3357acb07b7f146ec9514e0a193.tar.gz
rust-46bc247bd145f3357acb07b7f146ec9514e0a193.zip
kmc-solid: Implement `{From,Into}Inner<OwnedFd>` for `Socket`
Diffstat (limited to 'library/std/src/sys/solid')
-rw-r--r--library/std/src/sys/solid/net.rs25
1 files changed, 23 insertions, 2 deletions
diff --git a/library/std/src/sys/solid/net.rs b/library/std/src/sys/solid/net.rs
index 1a7f9e347d0..a768e2406c8 100644
--- a/library/std/src/sys/solid/net.rs
+++ b/library/std/src/sys/solid/net.rs
@@ -5,10 +5,10 @@ use crate::{
     io::{self, BorrowedBuf, BorrowedCursor, ErrorKind, IoSlice, IoSliceMut},
     mem,
     net::{Shutdown, SocketAddr},
-    os::solid::io::{AsRawFd, FromRawFd, IntoRawFd, OwnedFd},
+    os::solid::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd},
     ptr, str,
     sys_common::net::{getsockopt, setsockopt, sockaddr_to_addr},
-    sys_common::IntoInner,
+    sys_common::{FromInner, IntoInner},
     time::Duration,
 };
 
@@ -392,6 +392,27 @@ impl Socket {
     }
 }
 
+impl FromInner<OwnedFd> for Socket {
+    #[inline]
+    fn from_inner(sock: OwnedFd) -> Socket {
+        Socket(sock)
+    }
+}
+
+impl IntoInner<OwnedFd> for Socket {
+    #[inline]
+    fn into_inner(self) -> OwnedFd {
+        self.0
+    }
+}
+
+impl AsFd for Socket {
+    #[inline]
+    fn as_fd(&self) -> BorrowedFd<'_> {
+        self.0.as_fd()
+    }
+}
+
 impl AsRawFd for Socket {
     #[inline]
     fn as_raw_fd(&self) -> c_int {