diff --git a/src/libcore/result.rs b/src/libcore/result.rs index 3015e893700..2df2974d0ba 100644 --- a/src/libcore/result.rs +++ b/src/libcore/result.rs @@ -103,11 +103,11 @@ pub pure fn to_either(res: &Result) * ok(parse_bytes(buf)) * } */ -pub fn chain(res: Result, op: fn(t: T) +pub fn chain(res: Result, op: fn(t: T) -> Result) -> Result { match move res { Ok(move t) => op(move t), - Err(move e) => Err(e) + Err(move e) => Err(move e) } } @@ -119,13 +119,13 @@ pub fn chain(res: Result, op: fn(t: T) * immediately returned. This function can be used to pass through a * successful result while handling an error. */ -pub fn chain_err( +pub fn chain_err( res: Result, op: fn(t: V) -> Result) -> Result { match move res { - Ok(move t) => Ok(t), - Err(move v) => op(v) + Ok(move t) => Ok(move t), + Err(move v) => op(move v) } }