pub enum DriveStep {
Advanced {
node: String,
},
Blocked {
node: String,
reason: String,
},
Complete,
}Expand description
What one headless traversal step did at the cursor node.
The driver only closes nodes whose OBJECTIVE evaluator already passes — it
never runs a model. A Blocked step is exactly where a
real driver (interactive or wyvern) would dispatch work on the node before
trying again; Complete means the tree is finished
(or every remaining node is blocked by a dep / open child).
Variants§
Advanced
The cursor node evaluated NodeVerdict::Done and was marked Done.
Blocked
The cursor node is not (yet) completable — traversal halts honestly here.
reason carries the evaluator’s NotYet/Unsupported message.
Complete
No node is ready — the tree is complete, or nothing more can advance.
Trait Implementations§
impl Eq for DriveStep
impl StructuralPartialEq for DriveStep
Auto Trait Implementations§
impl Freeze for DriveStep
impl RefUnwindSafe for DriveStep
impl Send for DriveStep
impl Sync for DriveStep
impl Unpin for DriveStep
impl UnsafeUnpin for DriveStep
impl UnwindSafe for DriveStep
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
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