Expand description

Provides a trait for std::io::Result that adds a method making it easy to tell the difference between a file not found and another error, since a common practice is to handle a file if it exists.

Examples

use io_result_optional::IoResultOptional;
use std::fs::File;

let config = File::open(".app.rc")
    .optional()?
    .map(readconfig)
    .unwrap_or_default();
use io_result_optional::IoResultOptional;
use std::fs::File;

if let Some(input) = File::open("data").optional()? {
    // The data exists, so handle it ...
    // If it doesn't exist, it is just ignored
    // If there is another error, this function returns it.
}

Traits

A trait for io::Result that adds a method making it easy to tell the difference between a file not found and another error, since a common practice is to handle a file if it exists.