# Trait std::io::IsTerminal

1.70.0 · source ·

    pub trait IsTerminal: Sealed {
        // Required method
        fn is_terminal(&self) -> bool;
    }

Expand description

Trait to determine if a descriptor/handle refers to a terminal/tty.

## Required Methods§

source

#### fn is_terminal(&self) -> bool

Returns `true` if the descriptor/handle refers to a terminal/tty.

On platforms where Rust does not know how to detect a terminal yet, this will return `false`. This will also return `false` if an unexpected error occurred, such as from passing an invalid file descriptor.

##### Platform-specific behavior

On Windows, in addition to detecting consoles, this currently uses some heuristics to detect older msys/cygwin/mingw pseudo-terminals based on device name: devices with names starting with `msys-` or `cygwin-` and ending in `-pty` will be considered terminals. Note that this may change in the future.

## Implementors§

source§

### impl IsTerminal for File

source§

### impl IsTerminal for BorrowedFd<'_>

source§

### impl IsTerminal for OwnedFd

source§

### impl IsTerminal for BorrowedHandle<'_>

Available on Windows only.
source§

### impl IsTerminal for OwnedHandle

Available on Windows only.
source§

### impl IsTerminal for Stderr

source§

### impl IsTerminal for StderrLock<'_>

source§

### impl IsTerminal for Stdin

source§

### impl IsTerminal for StdinLock<'_>

source§

### impl IsTerminal for Stdout

source§

### impl IsTerminal for StdoutLock<'_>