]> git.lizzy.rs Git - rust.git/blobdiff - library/std/src/os/fd/owned.rs
Implement `AsFd` for `&T` and `&mut T`.
[rust.git] / library / std / src / os / fd / owned.rs
index b53c3e79b0fe6e7a9046a434ef3623ec313baa31..71c660e7186751be890291f7d5d1127a1d23b850 100644 (file)
@@ -200,6 +200,22 @@ pub trait AsFd {
     fn as_fd(&self) -> BorrowedFd<'_>;
 }
 
+#[unstable(feature = "io_safety", issue = "87074")]
+impl<T: AsFd> AsFd for &T {
+    #[inline]
+    fn as_fd(&self) -> BorrowedFd<'_> {
+        T::as_fd(self)
+    }
+}
+
+#[unstable(feature = "io_safety", issue = "87074")]
+impl<T: AsFd> AsFd for &mut T {
+    #[inline]
+    fn as_fd(&self) -> BorrowedFd<'_> {
+        T::as_fd(self)
+    }
+}
+
 #[unstable(feature = "io_safety", issue = "87074")]
 impl AsFd for BorrowedFd<'_> {
     #[inline]