26 lines
438 B
Rust
26 lines
438 B
Rust
use core::ops::Deref;
|
|
|
|
pub const OK: Success = Success { ok: true };
|
|
pub const FAIL: Success = Success { ok: false };
|
|
|
|
#[must_use]
|
|
pub struct Success {
|
|
pub ok: bool,
|
|
}
|
|
|
|
pub struct Failure {
|
|
pub fail: bool,
|
|
}
|
|
|
|
impl Deref for Success {
|
|
type Target = Failure;
|
|
|
|
fn deref(&self) -> &Self::Target {
|
|
if self.ok {
|
|
&Failure { fail: false }
|
|
} else {
|
|
&Failure { fail: true }
|
|
}
|
|
}
|
|
}
|