12 impl<U, V> Try for MyResult<U, V> {
16 fn from_ok(u: U) -> MyResult<U, V> {
20 fn from_error(e: V) -> MyResult<U, V> {
24 fn into_result(self) -> Result<U, V> {
26 MyResult::Awesome(u) => Ok(u),
27 MyResult::Terrible(e) => Err(e),
32 fn f(x: i32) -> Result<i32, String> {
41 fn g(x: i32) -> MyResult<i32, String> {
43 MyResult::Terrible("Hello".to_owned())
46 fn h() -> MyResult<i32, String> {
47 let a: Result<i32, &'static str> = Err("Hello");
52 fn i() -> MyResult<i32, String> {
53 let a: MyResult<i32, &'static str> = MyResult::Terrible("Hello");
59 assert!(f(0) == Ok(42));
60 assert!(f(10) == Err("Hello".to_owned()));