(self, b: Self, f: F)
| 21 | |
| 22 | impl<T> OrMap<T> for Option<T> { |
| 23 | fn or_map<F>(self, b: Self, f: F) -> Self |
| 24 | where |
| 25 | F: FnOnce(T, T) -> T, |
| 26 | { |
| 27 | match (self, b) { |
| 28 | (Some(a), Some(b)) => Some(f(a, b)), |
| 29 | (a, None) => a, |
| 30 | (None, b) => b, |
| 31 | } |
| 32 | } |
| 33 | } |
| 34 | |
| 35 | pub trait Pluck<T> { |