Skip to content

Commit

Permalink
Fix Result::chain, Result::chain_err to not require Copy bounds.
Browse files Browse the repository at this point in the history
  • Loading branch information
Brian J. Burg committed Nov 13, 2012
1 parent a5718ba commit 37ed7fc
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/libcore/result.rs
Expand Up @@ -103,11 +103,11 @@ pub pure fn to_either<T: Copy, U: Copy>(res: &Result<U, T>)
* ok(parse_bytes(buf))
* }
*/
pub fn chain<T, U: Copy, V: Copy>(res: Result<T, V>, op: fn(t: T)
pub fn chain<T, U, V>(res: Result<T, V>, op: fn(t: T)
-> Result<U, V>) -> Result<U, V> {
match move res {
Ok(move t) => op(move t),
Err(move e) => Err(e)
Err(move e) => Err(move e)
}
}

Expand All @@ -119,13 +119,13 @@ pub fn chain<T, U: Copy, V: Copy>(res: Result<T, V>, 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<T: Copy, U: Copy, V: Copy>(
pub fn chain_err<T, U, V>(
res: Result<T, V>,
op: fn(t: V) -> Result<T, U>)
-> Result<T, U> {
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)
}
}

Expand Down

0 comments on commit 37ed7fc

Please sign in to comment.