| 1 | use OptionExt; |
|---|---|
| 2 | |
| 3 | impl<T> OptionExt<T> for Option<T> { |
| 4 | fn contains<U>(&self, x: &U) -> bool where U: PartialEq<T> { |
| 5 | match *self { |
| 6 | Some(ref y: &T) => x == y, |
| 7 | None => false, |
| 8 | } |
| 9 | } |
| 10 | |
| 11 | #[inline] |
| 12 | fn map_or2<U, F: FnOnce(T) -> U>(self, f: F, default: U) -> U { |
| 13 | self.map_or(default, f) |
| 14 | } |
| 15 | |
| 16 | #[inline] |
| 17 | fn map_or_else2<U, F: FnOnce(T) -> U, D: FnOnce() -> U>(self, f: F, default: D) -> U { |
| 18 | self.map_or_else(default, f) |
| 19 | } |
| 20 | } |
| 21 |
