pub enum ControlMeaning {
KeepGoing,
Escape(PolicyId),
SkipWorktreeCopy,
}Expand description
What:
What one control asks for.
An enum is a closed set of named alternatives;
Escape carries the policy it switches off.
#[derive(...)] asks the compiler to
generate copying (Clone,
Copy),
debug printing (Debug) and ==.
Why:
Recognition (a spelling) and effect (a meaning) are kept apart,
so two spellings
of one escape cannot drift.
In TS you’d write (pseudocode):
type ControlMeaning = { kind: 'keep-going' } | { kind: 'escape'; policy: PolicyId } | { kind: 'skip-worktree-copy' };Variants§
KeepGoing
Continue with later policies after an error finding.
Escape(PolicyId)
Skip one policy for this invocation.
SkipWorktreeCopy
Skip ignored-state synchronization for this invocation.
Trait Implementations§
Source§impl Clone for ControlMeaning
impl Clone for ControlMeaning
impl Copy for ControlMeaning
Source§impl Debug for ControlMeaning
impl Debug for ControlMeaning
impl Eq for ControlMeaning
Source§impl PartialEq for ControlMeaning
impl PartialEq for ControlMeaning
impl StructuralPartialEq for ControlMeaning
Auto Trait Implementations§
impl Freeze for ControlMeaning
impl RefUnwindSafe for ControlMeaning
impl Send for ControlMeaning
impl Sync for ControlMeaning
impl Unpin for ControlMeaning
impl UnsafeUnpin for ControlMeaning
impl UnwindSafe for ControlMeaning
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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