pub struct FdBorrowed<'fd> { /* private fields */ }std only.Expand description
📁 🍃
std
A borrowed file descriptor.
📍sys/os/fd re-exported from std::os::fd ::BorrowedFd as FdBorrowed
📜
A borrowed file descriptor.
This has a lifetime parameter to tie it to the lifetime of something that owns the file descriptor. For the duration of that lifetime, it is guaranteed that nobody will close the file descriptor.
This uses repr(transparent) and has the representation of a host file
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 does not have a ToOwned
implementation. Calling .to_owned() on a variable of this type will call
it on &BorrowedFd and use Clone::clone() like ToOwned does for all
types implementing Clone. The result will be descriptor borrowed under
the same lifetime.
To obtain an OwnedFd, you can use BorrowedFd::try_clone_to_owned
instead, but this is not supported on all platforms.
Implementations§
Source§impl BorrowedFd<'_>
impl BorrowedFd<'_>
1.63.0 (const: 1.63.0) · Sourcepub const unsafe fn borrow_raw(fd: i32) -> BorrowedFd<'_>
pub const unsafe fn borrow_raw(fd: i32) -> BorrowedFd<'_>
Source§impl BorrowedFd<'_>
impl BorrowedFd<'_>
Trait Implementations§
1.63.0 · Source§impl AsFd for BorrowedFd<'_>
impl AsFd for BorrowedFd<'_>
Source§fn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
1.63.0 · Source§impl AsRawFd for BorrowedFd<'_>
impl AsRawFd for BorrowedFd<'_>
1.63.0 · Source§impl<'fd> Clone for BorrowedFd<'fd>
impl<'fd> Clone for BorrowedFd<'fd>
Source§fn clone(&self) -> BorrowedFd<'fd>
fn clone(&self) -> BorrowedFd<'fd>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl<'fd> Copy for BorrowedFd<'fd>
1.63.0 · Source§impl Debug for BorrowedFd<'_>
impl Debug for BorrowedFd<'_>
1.70.0 · Source§impl IsTerminal for BorrowedFd<'_>
impl IsTerminal for BorrowedFd<'_>
Source§fn is_terminal(&self) -> bool
fn is_terminal(&self) -> bool
true if the descriptor/handle refers to a terminal/tty. Read moreAuto Trait Implementations§
impl<'fd> Freeze for BorrowedFd<'fd>
impl<'fd> RefUnwindSafe for BorrowedFd<'fd>
impl<'fd> Send for BorrowedFd<'fd>
impl<'fd> Sync for BorrowedFd<'fd>
impl<'fd> Unpin for BorrowedFd<'fd>
impl<'fd> UnsafeUnpin for BorrowedFd<'fd>
impl<'fd> UnwindSafe for BorrowedFd<'fd>
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
TypeId of Self using a custom hasher.Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§fn as_any_box(self: Box<Self>) -> Box<dyn Any>where
Self: Sized,
fn as_any_box(self: Box<Self>) -> Box<dyn Any>where
Self: Sized,
alloc only.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize
fn byte_align(&self) -> usize
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> MemExt for Twhere
T: ?Sized,
impl<T> MemExt for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of<T>() -> usize
fn mem_align_of<T>() -> usize
Source§fn mem_align_of_val(&self) -> usize
fn mem_align_of_val(&self) -> usize
Source§fn mem_size_of<T>() -> usize
fn mem_size_of<T>() -> usize
Source§fn mem_size_of_val(&self) -> usize
fn mem_size_of_val(&self) -> usize
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout only.T represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout only.T represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice only.