diff --git a/src/libcore/either.rs b/src/libcore/either.rs index 6b327b919e5..5e9ccd84195 100644 --- a/src/libcore/either.rs +++ b/src/libcore/either.rs @@ -150,6 +150,23 @@ pub pure fn unwrap_right(eith: Either) -> U { } impl Either { + #[inline(always)] + fn either(&self, f_left: fn(&T) -> V, f_right: fn(&U) -> V) -> V { + either(f_left, f_right, self) + } + + #[inline(always)] + fn flip(self) -> Either { flip(self) } + + #[inline(always)] + fn to_result(self) -> Result { to_result(self) } + + #[inline(always)] + fn is_left(&self) -> bool { is_left(self) } + + #[inline(always)] + fn is_right(&self) -> bool { is_right(self) } + #[inline(always)] fn unwrap_left(self) -> T { unwrap_left(self) }