import core::*; import result; fn op1() -> result::t { result::ok(666) } fn op2(&&i: int) -> result::t { result::ok(i as uint + 1u) } fn op3() -> result::t { result::err("sadface") } #[test] fn chain_success() { assert result::get(result::chain(op1(), op2)) == 667u; } #[test] fn chain_failure() { assert result::get_err(result::chain(op3(), op2)) == "sadface"; }