# Type Alias Result

1.0.0 · Source

    pub type Result<T> = Result<T, Error>;

Expand description

A specialized `Result` type for I/O operations.

This type is broadly used across `std::io` for any operation which may produce an error.

This typedef is generally used to avoid writing out `io::Error` directly and is otherwise a direct mapping to `Result`.

While usual Rust style is to import types directly, aliases of `Result` often are not, to make it easier to distinguish between them. `Result` is generally assumed to be `std::result::Result`, and so users of this alias will generally use `io::Result` instead of shadowing the prelude’s import of `std::result::Result`.

## §Examples

A convenience function that bubbles an `io::Result` to its caller:

    use std::io;

    fn get_string() -> io::Result<String> {
        let mut buffer = String::new();

        io::stdin().read_line(&mut buffer)?;

        Ok(buffer)
    }

## Aliased Type§

    pub enum Result<T> {
        Ok(T),
        Err(Error),
    }

## Variants§

§1.0.0

### Ok(T)

Contains the success value

§1.0.0

### Err(Error)

Contains the error value