Update pd_file

This commit is contained in:
2022-05-16 22:34:19 +08:00
parent 65da50ffe5
commit 63e39f14c0
8 changed files with 454 additions and 3 deletions

View File

@@ -1,14 +1,29 @@
/// Try with custom error message
pub trait TryErr2<T, E> {
/// try with custom error message
fn try_err2(&self, err: E) -> Result<T, E>;
}
/// Try with custom error message
pub trait TryErr<T, E> {
/// try with custom error message
fn try_err(&self, err: E) -> Result<T, E>;
fn try_err(self, err: E) -> Result<T, E>;
}
impl<T: ToOwned + ToOwned<Owned = T>, E> TryErr<T, E> for Option<T> {
fn try_err(&self, v: E) -> Result<T, E> {
impl<T: ToOwned + ToOwned<Owned = T>, E> TryErr2<T, E> for Option<T> {
fn try_err2(&self, v: E) -> Result<T, E> {
match self {
Some(r) => { Ok(r.to_owned()) }
None => { Err(v) }
}
}
}
impl<T, E> TryErr<T, E> for Option<T> {
fn try_err(self, err: E) -> Result<T, E> {
match self {
Some(v) => { Ok(v) }
None => { Err(err) }
}
}
}