pub enum RequireRootDecision {
Exempt(RequireRootExemption),
NeedsRepositoryRoot,
}Expand description
What: The outcome of looking at the argument list only. Why: Most commands need a measurement the caller makes; exempt ones never do.
In TS you’d write (pseudocode):
type RequireRootDecision = { kind: 'exempt'; reason: RequireRootExemption } | { kind: 'needs-repository-root' };Variants§
Exempt(RequireRootExemption)
Forward unchanged without measuring anything.
NeedsRepositoryRoot
The caller must measure the effective directory and the repository root,
then call
resolve_require_root.
Trait Implementations§
Source§impl Clone for RequireRootDecision
impl Clone for RequireRootDecision
impl Copy for RequireRootDecision
Source§impl Debug for RequireRootDecision
impl Debug for RequireRootDecision
impl Eq for RequireRootDecision
Source§impl PartialEq for RequireRootDecision
impl PartialEq for RequireRootDecision
impl StructuralPartialEq for RequireRootDecision
Auto Trait Implementations§
impl Freeze for RequireRootDecision
impl RefUnwindSafe for RequireRootDecision
impl Send for RequireRootDecision
impl Sync for RequireRootDecision
impl Unpin for RequireRootDecision
impl UnsafeUnpin for RequireRootDecision
impl UnwindSafe for RequireRootDecision
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