FromRawFd in std::os::fd - Rust
Description: A trait to express the ability to construct an object from a raw file descriptor.

## FromRawFd

# Trait FromRawFd

1.66.0 · Source

    pub trait FromRawFd {
        // Required method
        unsafe fn from_raw_fd(fd: RawFd) -> Self;
    }

Available on Unix or HermitCore or `target_os=trusty` or WASI or `target_os=motor` only.
Expand description

A trait to express the ability to construct an object from a raw file descriptor.

## Required Methods§

1.1.0 · Source

#### unsafe fn from_raw_fd(fd: RawFd) -> Self

Constructs a new instance of `Self` from the given raw file descriptor.

This function is typically used to consume ownership of the specified file descriptor. When used in this way, the returned object will take responsibility for closing it when the object goes out of scope.

However, consuming ownership is not strictly required. Use a `From<OwnedFd>::from` implementation for an API which strictly consumes ownership.

##### §Safety

The `fd` passed in must be an owned file descriptor; in particular, it must be open.

##### §Example

    use std::fs::File;
    #[cfg(any(unix, target_os = "wasi"))]
    use std::os::fd::{FromRawFd, IntoRawFd, RawFd};

    let f = File::open("foo.txt")?;
    let raw_fd: RawFd = f.into_raw_fd();
    // SAFETY: no other functions should call `from_raw_fd`, so there
    // is only one owner for the file descriptor.
    let f = unsafe { File::from_raw_fd(raw_fd) };

## Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

## Implementors§

1.1.0 · Source§

### impl FromRawFd for File

Available on non-`target_os=trusty` only.
1.87.0 · Source§

### impl FromRawFd for PipeReader

Available on non-`target_os=trusty` only.
1.87.0 · Source§

### impl FromRawFd for PipeWriter

Available on non-`target_os=trusty` only.
1.1.0 · Source§

### impl FromRawFd for TcpListener

Available on non-`target_os=trusty` only.
1.1.0 · Source§

### impl FromRawFd for TcpStream

Available on non-`target_os=trusty` only.
1.1.0 · Source§

### impl FromRawFd for UdpSocket

Available on non-`target_os=trusty` only.
1.63.0 · Source§

### impl FromRawFd for OwnedFd

1.48.0 · Source§

### impl FromRawFd for RawFd