mirror of
https://github.com/rosenpass/rosenpass.git
synced 2026-02-28 22:43:26 -08:00
docs(result): add docstring and examples
Signed-off-by: Paul Spooren <mail@aparcar.org>
This commit is contained in:
@@ -125,6 +125,18 @@ impl<T> GuaranteedValue for Guaranteed<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Checks a condition is true and returns an error if not.
|
||||||
|
///
|
||||||
|
/// # Examples
|
||||||
|
///
|
||||||
|
/// ```rust
|
||||||
|
/// # use rosenpass_util::result::ensure_or;
|
||||||
|
/// let result = ensure_or(5 > 3, "not greater");
|
||||||
|
/// assert!(result.is_ok());
|
||||||
|
///
|
||||||
|
/// let result = ensure_or(5 < 3, "not less");
|
||||||
|
/// assert!(result.is_err());
|
||||||
|
/// ```
|
||||||
pub fn ensure_or<E>(b: bool, err: E) -> Result<(), E> {
|
pub fn ensure_or<E>(b: bool, err: E) -> Result<(), E> {
|
||||||
match b {
|
match b {
|
||||||
true => Ok(()),
|
true => Ok(()),
|
||||||
@@ -132,6 +144,18 @@ pub fn ensure_or<E>(b: bool, err: E) -> Result<(), E> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Evaluates to an error if the condition is true.
|
||||||
|
///
|
||||||
|
/// # Examples
|
||||||
|
///
|
||||||
|
/// ```rust
|
||||||
|
/// # use rosenpass_util::result::bail_if;
|
||||||
|
/// let result = bail_if(false, "not bailed");
|
||||||
|
/// assert!(result.is_ok());
|
||||||
|
///
|
||||||
|
/// let result = bail_if(true, "bailed");
|
||||||
|
/// assert!(result.is_err());
|
||||||
|
/// ```
|
||||||
pub fn bail_if<E>(b: bool, err: E) -> Result<(), E> {
|
pub fn bail_if<E>(b: bool, err: E) -> Result<(), E> {
|
||||||
ensure_or(!b, err)
|
ensure_or(!b, err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user