about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-02-04 13:35:37 -0800
committerbors <bors@rust-lang.org>2013-02-04 13:35:37 -0800
commiteb28ce01ed9ac27dfb568feff7c9d669eece1980 (patch)
tree23d6f90fd57a8ad0f5ad4a42ca3575cbe7be778e
parente08a805b306398b316a489f76960569ac19b25b2 (diff)
parent159568eab51313490ca9faabd67b0e05bc129460 (diff)
downloadrust-eb28ce01ed9ac27dfb568feff7c9d669eece1980.tar.gz
rust-eb28ce01ed9ac27dfb568feff7c9d669eece1980.zip
automated merge
-rw-r--r--src/libcore/either.rs17
-rw-r--r--src/libcore/prelude.rs35
2 files changed, 33 insertions, 19 deletions
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
@@ -151,6 +151,23 @@ pub pure fn unwrap_right<T,U>(eith: Either<T,U>) -> U {
 
 impl<T, U> Either<T, U> {
     #[inline(always)]
+    fn either<V>(&self, f_left: fn(&T) -> V, f_right: fn(&U) -> V) -> V {
+        either(f_left, f_right, self)
+    }
+
+    #[inline(always)]
+    fn flip(self) -> Either<U, T> { flip(self) }
+
+    #[inline(always)]
+    fn to_result(self) -> Result<U, T> { 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) }
 
     #[inline(always)]
diff --git a/src/libcore/prelude.rs b/src/libcore/prelude.rs
index 6bd319a15d2..4e6f209e79e 100644
--- a/src/libcore/prelude.rs
+++ b/src/libcore/prelude.rs
@@ -12,40 +12,37 @@
 
 /* Reexported core operators */
 
+pub use either::{Either, Left, Right};
 pub use kinds::{Const, Copy, Owned, Durable};
-pub use ops::{Drop};
 pub use ops::{Add, Sub, Mul, Div, Modulo, Neg, Not};
 pub use ops::{BitAnd, BitOr, BitXor};
+pub use ops::{Drop};
 pub use ops::{Shl, Shr, Index};
 pub use option::{Option, Some, None};
 pub use result::{Result, Ok, Err};
 
 /* Reexported types and traits */
 
-pub use path::Path;
+pub use clone::Clone;
+pub use cmp::{Eq, Ord};
+pub use container::{Container, Mutable, Map, Set};
+pub use hash::Hash;
+pub use iter::{BaseIter, ExtendedIter, EqIter, CopyableIter};
+pub use iter::{CopyableOrderedIter, CopyableNonstrictIter, Times};
+pub use num::Num;
 pub use path::GenericPath;
-pub use path::WindowsPath;
+pub use path::Path;
 pub use path::PosixPath;
-
-pub use tuple::{CopyableTuple, ImmutableTuple, ExtendedTupleOps};
+pub use path::WindowsPath;
+pub use pipes::{GenericChan, GenericPort};
+pub use ptr::Ptr;
 pub use str::{StrSlice, Trimmable};
-pub use container::{Container, Mutable};
+pub use to_bytes::IterBytes;
+pub use to_str::ToStr;
+pub use tuple::{CopyableTuple, ImmutableTuple, ExtendedTupleOps};
 pub use vec::{CopyableVector, ImmutableVector};
 pub use vec::{ImmutableEqVector, ImmutableCopyableVector};
 pub use vec::{OwnedVector, OwnedCopyableVector};
-pub use iter::{BaseIter, ExtendedIter, EqIter, CopyableIter};
-pub use iter::{CopyableOrderedIter, CopyableNonstrictIter, Times};
-pub use container::{Container, Mutable, Map, Set};
-pub use pipes::{GenericChan, GenericPort};
-
-pub use num::Num;
-pub use ptr::Ptr;
-pub use to_str::ToStr;
-pub use clone::Clone;
-
-pub use cmp::{Eq, Ord};
-pub use hash::Hash;
-pub use to_bytes::IterBytes;
 
 /* Reexported modules */