Skip to content

Commit 2de6c35

Browse files
committed
make Result::map_or_else consistent with Option::map_or_else
1 parent e931f00 commit 2de6c35

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/libcore/result.rs

+5-2
Original file line numberDiff line numberDiff line change
@@ -540,8 +540,11 @@ impl<T, E> Result<T, E> {
540540
/// ```
541541
#[inline]
542542
#[unstable(feature = "result_map_or_else", issue = "53268")]
543-
pub fn map_or_else<U, M: FnOnce(T) -> U, F: FnOnce(E) -> U>(self, fallback: F, map: M) -> U {
544-
self.map(map).unwrap_or_else(fallback)
543+
pub fn map_or_else<U, D: FnOnce(E) -> U, F: FnOnce(T) -> U>(self, default: D, f: F) -> U {
544+
match self {
545+
Ok(t) => f(t),
546+
Err(e) => default(e),
547+
}
545548
}
546549

547550
/// Maps a `Result<T, E>` to `Result<T, F>` by applying a function to a

0 commit comments

Comments
 (0)