pub trait BoolToResult {
fn false_or<E>(&self, e: E) -> Result<(), E>;
fn true_or<E>(&self, e: E) -> Result<(), E>;
}
impl BoolToResult for bool {
fn false_or<E>(&self, e: E) -> Result<(), E> {
if *self {
Err(e)
} else {
Ok(())
}
}
fn true_or<E>(&self, e: E) -> Result<(), E> {
if *self {
Ok(())
} else {
Err(e)
}
}
}