pub struct StepResult {
pub label: Arc<str>,
pub outcome: StepOutcome,
pub output: Arc<[u8]>,
pub elapsed: Duration,
pub elision: Option<CaptureElision>,
pub shell: bool,
pub interactive: bool,
}Expand description
One step’s own result within an ActionReceipt: its label, its outcome, its
captured output and its elapsed time
(docs/spec/actions.md’s
“Where the result lives”).
label and output are Arc rather than String/Vec<u8> for the same reason
every text-bearing value on EntityState is: Core::snapshot clones the whole table
every frame, and an Arc clone is a refcount bump rather than a copy of the bytes.
Fields§
§label: Arc<str>The step’s argv, or the operation for a step Repon performed itself, rendered for display.
outcome: StepOutcome§output: Arc<[u8]>Raw bytes, bounded, never interpreted here. Empty for a step Repon performed itself, which has no other program’s screen to quote.
elapsed: Duration§elision: Option<CaptureElision>What the bound dropped out of output, or None when the output fitted whole.
shell: boolWhether label ran through $SHELL -c rather than as a literal argv
(docs/spec/actions.md’s
“The Selection and the gate”). label alone answers “what ran” for an argv step, but
not for a shell one, whose string is an interpreter’s input rather than its own
finished command line; this is the mode that input was read under. false for a step
Repon performed itself, which ran through no interpreter at all.
interactive: boolWhether label ran through $SHELL -ic rather than $SHELL -c
(config.md’s
interactive key). Meaningless unless shell is also true; always false
otherwise, since a non-shell or own-work step read no interpreter flag at all.
Trait Implementations§
Source§impl Clone for StepResult
impl Clone for StepResult
Source§fn clone(&self) -> StepResult
fn clone(&self) -> StepResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StepResult
impl Debug for StepResult
impl Eq for StepResult
Source§impl PartialEq for StepResult
impl PartialEq for StepResult
impl StructuralPartialEq for StepResult
Auto Trait Implementations§
impl Freeze for StepResult
impl RefUnwindSafe for StepResult
impl Send for StepResult
impl Sync for StepResult
impl Unpin for StepResult
impl UnsafeUnpin for StepResult
impl UnwindSafe for StepResult
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
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§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
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> ⓘ
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> ⓘ
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