Rollup merge of #93354 - sunfishcode:sunfishcode/document-borrowedfd-toowned, r=joshtriplett
Add documentation about `BorrowedFd::to_owned`. Following up on #88564, this adds documentation explaining why `BorrowedFd::to_owned` returns another `BorrowedFd` rather than an `OwnedFd`. And similar for `BorrowedHandle` and `BorrowedSocket`. r? `````@joshtriplett`````
This commit is contained in:
commit
bc1a8905d6
3 changed files with 12 additions and 0 deletions
|
@ -21,6 +21,10 @@ use crate::sys_common::{AsInner, FromInner, IntoInner};
|
|||
/// descriptor, so it can be used in FFI in places where a file descriptor is
|
||||
/// passed as an argument, it is not captured or consumed, and it never has the
|
||||
/// value `-1`.
|
||||
///
|
||||
/// This type's `.to_owned()` implementation returns another `BorrowedFd`
|
||||
/// rather than an `OwnedFd`. It just makes a trivial copy of the raw file
|
||||
/// descriptor, which is then borrowed under the same lifetime.
|
||||
#[derive(Copy, Clone)]
|
||||
#[repr(transparent)]
|
||||
#[rustc_layout_scalar_valid_range_start(0)]
|
||||
|
|
|
@ -28,6 +28,10 @@ use crate::sys_common::{AsInner, FromInner, IntoInner};
|
|||
/// And, it *may* have the value `NULL` (0), which can occur when consoles are
|
||||
/// detached from processes, or when `windows_subsystem` is used.
|
||||
///
|
||||
/// This type's `.to_owned()` implementation returns another `BorrowedHandle`
|
||||
/// rather than an `OwnedHandle`. It just makes a trivial copy of the raw
|
||||
/// handle, which is then borrowed under the same lifetime.
|
||||
///
|
||||
/// [here]: https://devblogs.microsoft.com/oldnewthing/20040302-00/?p=40443
|
||||
#[derive(Copy, Clone)]
|
||||
#[repr(transparent)]
|
||||
|
|
|
@ -21,6 +21,10 @@ use crate::sys::cvt;
|
|||
/// so it can be used in FFI in places where a socket is passed as an argument,
|
||||
/// it is not captured or consumed, and it never has the value
|
||||
/// `INVALID_SOCKET`.
|
||||
///
|
||||
/// This type's `.to_owned()` implementation returns another `BorrowedSocket`
|
||||
/// rather than an `OwnedSocket`. It just makes a trivial copy of the raw
|
||||
/// socket, which is then borrowed under the same lifetime.
|
||||
#[derive(Copy, Clone)]
|
||||
#[repr(transparent)]
|
||||
#[rustc_layout_scalar_valid_range_start(0)]
|
||||
|
|
Loading…
Add table
Reference in a new issue