#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::io; use std::fs::File; use std::io::prelude::*; enum MyError { FileWriteError, } impl From for MyError { fn from(e: io::Error) -> MyError { MyError::FileWriteError } } fn write_to_file_question() -> Result<(), MyError> { let mut file = File::create("my_best_friends.txt")?; file.write_all(b"This is a list of my best friends.")?; Ok(()) } fn write_to_file_using_try() -> Result<(), MyError> { let mut file = r#try!(File::create("my_best_friends.txt")); r#try!(file.write_all(b"This is a list of my best friends.")); Ok(()) } fn write_to_file_using_match() -> Result<(), MyError> { let mut file = r#try!(File::create("my_best_friends.txt")); match file.write_all(b"This is a list of my best friends.") { Ok(v) => v, Err(e) => return Err(From::from(e)), } Ok(()) } fn main() {}