[−][src]Trait tap::TapResultOps
Tap operations for Result
.
Required methods
fn tap_ok<R, F: FnOnce(&mut T) -> R>(self, f: F) -> Self
Executes a closure if the value is Result::Ok(T)
.
Examples
let mut foo = 0; let res: Result<u32, u32> = Ok(4); assert_eq!(res.tap_ok(|&mut v| foo += v), Ok(4)); assert_eq!(foo, 4);
let mut foo = 0; let res: Result<u32, u32> = Err(4); assert_eq!(res.tap_ok(|&mut v| foo += v), Err(4)); assert_eq!(foo, 0);
fn tap_err<R, F: FnOnce(&mut E) -> R>(self, f: F) -> Self
Executes a closure if the value is Result::Err(E)
.
Examples
let mut foo = 0; let res: Result<u32, u32> = Ok(4); assert_eq!(res.tap_err(|&mut v| foo += v), Ok(4)); assert_eq!(foo, 0);
let mut foo = 0; let res: Result<u32, u32> = Err(4); assert_eq!(res.tap_err(|&mut v| foo += v), Err(4)); assert_eq!(foo, 4);