#[cfg(unix)]
use crate::os::unix::io::OwnedFd;
#[cfg(all(doc, unix))]
-use crate::os::unix::io::{AsFd, FromFd, IntoFd};
+use crate::os::unix::io::AsFd;
#[cfg(all(doc, target_os = "wasi"))]
-use crate::os::unix::io::{AsFd, FromFd, IntoFd};
+use crate::os::unix::io::AsFd;
#[cfg(target_os = "wasi")]
use crate::os::wasi::io::OwnedFd;
use crate::sys_common::{AsInner, IntoInner};
/// will take responsibility for closing it when the object goes out of
/// scope.
///
- /// However, consuming ownership is not strictly required. See
- /// [`FromFd::from_fd`] for an API which strictly consumes ownership.
+ /// However, consuming ownership is not strictly required. Use a
+ /// [`From<OwnedFd>::from`] implementation for an API which strictly
+ /// consumes ownership.
///
/// # Safety
///
/// file descriptor to the caller. When used in this way, callers are then the unique
/// owners of the file descriptor and must close it once it's no longer needed.
///
- /// However, transferring ownership is not strictly required. See
- /// [`IntoFd::into_fd`] for an API which strictly transfers ownership.
+ /// However, transferring ownership is not strictly required. Use a
+ /// [`Into<OwnedFd>::into`] implementation for an API which strictly
+ /// transfers ownership.
///
/// # Example
///
use crate::io;
use crate::net;
#[cfg(doc)]
-use crate::os::windows::io::{AsHandle, AsSocket, FromHandle, FromSocket, IntoHandle, IntoSocket};
+use crate::os::windows::io::{AsHandle, AsSocket};
use crate::os::windows::io::{OwnedHandle, OwnedSocket};
use crate::os::windows::raw;
use crate::sys;
/// will take responsibility for closing it when the object goes out of
/// scope.
///
- /// However, consuming ownership is not strictly required. See
- /// [`FromHandle::from_handle`] for an API which strictly consumes ownership.
+ /// However, consuming ownership is not strictly required. Use a
+ /// `From<OwnedHandle>::from` implementation for an API which strictly
+ /// consumes ownership.
///
/// # Safety
///
/// handle to the caller. When used in this way, callers are then the unique
/// owners of the handle and must close it once it's no longer needed.
///
- /// However, transferring ownership is not strictly required. See
- /// [`IntoHandle::into_handle`] for an API which strictly transfers ownership.
+ /// However, transferring ownership is not strictly required. Use a
+ /// `Into<OwnedHandle>::into` implementation for an API which strictly
+ /// transfers ownership.
#[stable(feature = "into_raw_os", since = "1.4.0")]
fn into_raw_handle(self) -> RawHandle;
}
/// will take responsibility for closing it when the object goes out of
/// scope.
///
- /// However, consuming ownership is not strictly required. See
- /// [`FromSocket::from_socket`] for an API which strictly consumes ownership.
+ /// However, consuming ownership is not strictly required. Use a
+ /// `From<OwnedSocket>::from` implementation for an API which strictly
+ /// consumes ownership.
///
/// # Safety
///
/// socket to the caller. When used in this way, callers are then the unique
/// owners of the socket and must close it once it's no longer needed.
///
- /// However, transferring ownership is not strictly required. See
- /// [`IntoSocket::into_socket`] for an API which strictly transfers ownership.
+ /// However, transferring ownership is not strictly required. Use a
+ /// `Into<OwnedSocket>::into` implementation for an API which strictly
+ /// transfers ownership.
#[stable(feature = "into_raw_os", since = "1.4.0")]
fn into_raw_socket(self) -> RawSocket;
}