pub enum GateOutcome {
Allow,
Deny {
refusal: Box<AxError>,
},
Ask {
question: Box<AxError>,
},
}Expand description
Deliberately exhaustive, and the third arm is deliberately rare.
Every caller decides all three ways, so a door that starts asking a
person is a compile error at every caller rather than a behaviour
that changes underneath them. Exactly one door answers Ask
(attach); the refusal matrix asserts that count.
Variants§
Allow
Deny
Ask
The door cannot answer, and the person can. The error carries
the question: E_APPROVAL_PENDING, the three gate parts, and a
recovery sentence naming the action only the person can take.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for GateOutcome
impl RefUnwindSafe for GateOutcome
impl Send for GateOutcome
impl Sync for GateOutcome
impl Unpin for GateOutcome
impl UnsafeUnpin for GateOutcome
impl UnwindSafe for GateOutcome
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