[−][src]Crate io_enum
#[derive(Read, Write, Seek, BufRead)] for enums.
Examples
use io_enum::*; use std::{ fs::File, io::{self, Write}, path::Path, }; #[derive(Read, Write, Seek, BufRead)] enum Either<A, B> { A(A), B(B), } fn foo(path: Option<&Path>) -> impl Write { if let Some(path) = path { Either::A(File::open(path).unwrap()) } else { Either::B(io::stdout()) } }
See auto_enums crate for how to automate patterns like this.
Supported traits
Derive Macros
BufRead | |
Read | |
Seek | |
Write |