Skip to main content

RuntimeError

Enum RuntimeError 

Source
#[non_exhaustive]
pub enum RuntimeError {
Show 51 variants PhaseExecutionFailed { summary: RuntimeSummary, source: Box<RuntimeError>, }, Configuration(ConfigurationError), TerminalAlreadyOwned, TaskCountTooLarge { task_count: u64, }, EmptyPhase { phase: u64, }, EmptyPhaseSet, InvalidPhaseLabel { phase: u64, }, InvalidPhaseWorkloadLimit { phase: u64, }, InvalidPhaseQueueCapacity { phase: u64, }, DuplicatePhaseId { phase: u64, }, UnknownPhaseDependency { phase: u64, dependency: u64, }, PhaseDependencyCycle { phase: u64, }, UnknownSelectedPhase { phase: u64, }, UnsatisfiedPhaseDependency { phase: u64, dependency: u64, }, PhaseConfirmationEof { phase: u64, }, PhaseConfirmationInput { phase: u64, source: Error, }, MissingTaskWorkload { task: String, }, TaskWorkload { task: String, source: Box<dyn Error + Send + Sync + 'static>, }, SchedulerPanicked, Cancelled, InvalidManagedTaskId { phase: u64, }, InvalidManagedTaskKind { task: String, }, DuplicateManagedTaskId { phase: u64, task: String, }, InconsistentManagedTaskParameters { kind: String, first: String, second: String, }, UnknownManagedTaskKind { kind: String, }, ManagedTaskDisplayCollision { label: String, first: String, second: String, }, ManagedTaskNotFound { selector: String, }, ManagedTaskSelectorAmbiguous { selector: String, first: String, second: String, }, UnknownManagedTaskParameter { task: String, key: String, }, DecodeManagedTaskParameter { task: String, key: String, source: Error, }, InvalidTaskParameter { key: String, }, ConfiguredTaskParametersImmutable { task: String, }, UnknownManagedTask { task: String, }, ManagedTaskKindMismatch { task: String, requested: &'static str, actual: &'static str, }, DuplicateIdentityParameter { key: String, }, UnknownIdentityParameter { key: String, }, NonUniqueTaskIdentity { identity: String, first_ordinal: u64, second_ordinal: u64, }, UnknownTaskOrdinal { task_ordinal: u64, }, UnknownRegisteredTask { identity: String, }, DuplicateRegisteredTask { identity: String, }, TaskIdentityMismatch { task_ordinal: u64, }, TaskAlreadyStarted { identity: String, }, InitialIterationBeyondTarget { identity: String, initial: u64, target: u64, }, IterationRegressed { identity: String, current: u64, attempted: u64, }, IterationBeyondTarget { identity: String, iteration: u64, target: u64, }, TargetIterationNotReached { identity: String, current: u64, target: u64, }, StartRenderer { source: Error, }, TerminalSetup { operation: &'static str, source: Error, }, RendererUnavailable, RendererPanicked, IncompleteProgress { pending: u64, running: u64, failed: u64, },
}
Expand description

Failure while planning, executing, or displaying a workflow runtime.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

PhaseExecutionFailed

A selected phase failed after producing a structured runtime snapshot.

Fields

§summary: RuntimeSummary

All phase outcomes observed through the failed phase.

§source: Box<RuntimeError>

Exact scheduling, cancellation, panic, or workload cause.

§

Configuration(ConfigurationError)

Project configuration could not supply a required task or identity value.

§

TerminalAlreadyOwned

Another live reporter already owns process terminal rendering.

§

TaskCountTooLarge

The validated task count cannot be represented by this platform.

Fields

§task_count: u64

Validated project task count.

§

EmptyPhase

One phase contains no tasks.

Fields

§phase: u64
§

EmptyPhaseSet

A first-class reporter/runtime plan contains no phase.

§

InvalidPhaseLabel

A phase label is empty or whitespace-only.

Fields

§phase: u64
§

InvalidPhaseWorkloadLimit

A phase active-workload limit is zero.

Fields

§phase: u64
§

InvalidPhaseQueueCapacity

A phase prepared-work queue capacity is zero.

Fields

§phase: u64
§

DuplicatePhaseId

A reporter phase list repeats one phase ID.

Fields

§phase: u64
§

UnknownPhaseDependency

One phase dependency is not registered in the runtime plan.

Fields

§phase: u64
§dependency: u64
§

PhaseDependencyCycle

The phase dependency graph contains a cycle.

Fields

§phase: u64
§

UnknownSelectedPhase

A selected phase ID is absent from the runtime plan.

Fields

§phase: u64
§

UnsatisfiedPhaseDependency

Exact selection omitted a dependency that was not externally verified.

Fields

§phase: u64
§dependency: u64
§

PhaseConfirmationEof

Standard input ended before a required phase transition was confirmed.

Fields

§phase: u64
§

PhaseConfirmationInput

A required phase-transition confirmation could not read standard input.

Fields

§phase: u64

Successfully completed phase awaiting permission to advance.

§source: Error

Underlying standard-input or prompt-output failure.

§

MissingTaskWorkload

One declared task has no executable workload.

Fields

§task: String
§

TaskWorkload

A task-owned workload returned an error.

Fields

§task: String
§source: Box<dyn Error + Send + Sync + 'static>
§

SchedulerPanicked

A scheduler worker panicked.

§

Cancelled

Cooperative cancellation stopped the selected runtime plan.

§

InvalidManagedTaskId

One task has an empty phase-local ID.

Fields

§phase: u64
§

InvalidManagedTaskKind

One task has an empty kind/namespace.

Fields

§task: String
§

DuplicateManagedTaskId

One phase repeats the same phase-local task ID.

Fields

§phase: u64
§task: String
§

InconsistentManagedTaskParameters

Tasks of one kind do not expose one consistent parameter-key set.

Fields

§kind: String
§first: String
§second: String
§

UnknownManagedTaskKind

A display projection names a task kind absent from the phase.

Fields

§kind: String
§

ManagedTaskDisplayCollision

Two tasks receive the same requested generated label.

Fields

§label: String
§first: String
§second: String
§

ManagedTaskNotFound

A partial selector matched no managed task.

Fields

§selector: String
§

ManagedTaskSelectorAmbiguous

A partial selector matched more than one managed task.

Fields

§selector: String
§first: String
§second: String
§

UnknownManagedTaskParameter

A managed task does not contain one required parameter.

Fields

§task: String
§

DecodeManagedTaskParameter

One managed task parameter could not be decoded.

Fields

§task: String
§source: Error
§

InvalidTaskParameter

An explicit parameter key is empty.

Fields

§

ConfiguredTaskParametersImmutable

Configuration-derived parameters cannot be mutated.

Fields

§task: String
§

UnknownManagedTask

The reporter does not contain one exact first-class task key.

Fields

§task: String
§

ManagedTaskKindMismatch

A requested handle does not match the task’s declared display kind.

Fields

§task: String
§requested: &'static str
§actual: &'static str
§

DuplicateIdentityParameter

One identity key was supplied more than once.

Fields

§key: String

Repeated exact parameter name.

§

UnknownIdentityParameter

One requested identity key is absent from project parameters.

Fields

§key: String

Missing exact parameter name.

§

NonUniqueTaskIdentity

Two generated tasks have the same selected parameter identity.

Fields

§identity: String

Deterministic rendered parameter identity.

§first_ordinal: u64

First colliding automatically assigned ordinal.

§second_ordinal: u64

Second colliding automatically assigned ordinal.

§

UnknownTaskOrdinal

A task handle does not belong to the reporter’s configured task space.

Fields

§task_ordinal: u64

Automatically assigned ordinal obtained from TaskConfig.

§

UnknownRegisteredTask

A directly registered application task name was not found.

Fields

§identity: String
§

DuplicateRegisteredTask

The same directly registered application task name appeared twice.

Fields

§identity: String
§

TaskIdentityMismatch

A task handle’s selected identity differs from the registered project.

Fields

§task_ordinal: u64

Automatically assigned task ordinal.

§

TaskAlreadyStarted

The same task was started more than once.

Fields

§identity: String

Human-readable parameter identity.

§

InitialIterationBeyondTarget

Initial progress lies beyond a known target.

Fields

§identity: String

Human-readable parameter identity.

§initial: u64

Initial absolute simulation iteration.

§target: u64

Target absolute simulation iteration.

§

IterationRegressed

A progress update attempted to move scientific iteration backward.

Fields

§identity: String

Human-readable parameter identity.

§current: u64

Previously reported iteration.

§attempted: u64

Rejected iteration.

§

IterationBeyondTarget

A progress update exceeded a known target.

Fields

§identity: String

Human-readable parameter identity.

§iteration: u64

Rejected absolute simulation iteration.

§target: u64

Configured absolute target iteration.

§

TargetIterationNotReached

Completion was requested before a known target was reached.

Fields

§identity: String

Human-readable parameter identity.

§current: u64

Last reported absolute simulation iteration.

§target: u64

Configured absolute target iteration.

§

StartRenderer

The sole renderer thread could not be created.

Fields

§source: Error

Underlying thread-creation failure.

§

TerminalSetup

Interactive terminal isolation could not be established.

Fields

§operation: &'static str
§source: Error
§

RendererUnavailable

The renderer stopped before accepting a requested message.

§

RendererPanicked

The renderer thread panicked while the reporter was active.

§

IncompleteProgress

Successful finalization was requested before every task completed.

Fields

§pending: u64

Tasks that never started.

§running: u64

Tasks that have not reached a terminal status.

§failed: u64

Tasks that failed or dropped before completion.

Implementations§

Source§

impl RuntimeError

Source

pub fn runtime_summary(&self) -> Option<&RuntimeSummary>

Returns structured outcomes when execution reached a failing phase.

Source

pub fn execution_cause(&self) -> Option<&RuntimeError>

Returns the underlying execution cause when a phase failed.

Trait Implementations§

Source§

impl Debug for RuntimeError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for RuntimeError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for RuntimeError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<ConfigurationError> for RuntimeError

Source§

fn from(source: ConfigurationError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.