pub struct InvariantGuard {
pub name: &'static str,
pub check: fn(&BrickState) -> bool,
pub severity: GuardSeverity,
}Expand description
Invariant guard for Jidoka pattern
Fields§
§name: &'static strGuard name
check: fn(&BrickState) -> boolCheck function
severity: GuardSeveritySeverity on violation
Implementations§
Source§impl InvariantGuard
impl InvariantGuard
Sourcepub const fn new(
name: &'static str,
check: fn(&BrickState) -> bool,
severity: GuardSeverity,
) -> Self
pub const fn new( name: &'static str, check: fn(&BrickState) -> bool, severity: GuardSeverity, ) -> Self
Create a new invariant guard
Sourcepub fn check(&self, state: &BrickState) -> bool
pub fn check(&self, state: &BrickState) -> bool
Check the invariant
Trait Implementations§
Auto Trait Implementations§
impl Freeze for InvariantGuard
impl RefUnwindSafe for InvariantGuard
impl Send for InvariantGuard
impl Sync for InvariantGuard
impl Unpin for InvariantGuard
impl UnsafeUnpin for InvariantGuard
impl UnwindSafe for InvariantGuard
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more