move core result into core utils

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-10-24 01:31:30 +00:00 committed by strawberry
parent 5cb0a5f676
commit c769fcc347
12 changed files with 2 additions and 3 deletions

View file

@ -0,0 +1,15 @@
use std::fmt::Debug;
use super::Result;
pub trait MapExpect<T> {
/// Calls expect(msg) on the mapped Result value. This is similar to
/// map(Result::unwrap) but composes an expect call and message without
/// requiring a closure.
fn map_expect(self, msg: &str) -> Option<T>;
}
impl<T, E: Debug> MapExpect<T> for Option<Result<T, E>> {
#[inline]
fn map_expect(self, msg: &str) -> Option<T> { self.map(|result| result.expect(msg)) }
}