pub enum ToolError {
InvalidInvocation(InvalidInvocation),
Io(Error),
NotExecutable,
Artifact(ArtifactError),
Execution(Box<ExecutionError>),
VersionUtf8 {
source: Utf8Error,
evidence: Box<ExecutionEvidence>,
},
VersionMismatch {
evidence: Box<ExecutionEvidence>,
},
}Expand description
Executable admission or execution failed.
Variants§
InvalidInvocation(InvalidInvocation)
Invalid context, authority or arguments; no child was spawned.
Io(Error)
Filesystem path resolution or metadata failed before execution.
NotExecutable
The selected file has no Unix executable permission bits.
Artifact(ArtifactError)
Executable identity could not be read or did not match authority.
Execution(Box<ExecutionError>)
One invocation failed; includes bounded evidence.
VersionUtf8
Successful version stdout was not valid UTF-8.
Fields
evidence: Box<ExecutionEvidence>Raw bounded version output.
VersionMismatch
Successful trimmed version stdout did not match the selected identity.
Fields
evidence: Box<ExecutionEvidence>Raw bounded version output; never formatted into the error.
Implementations§
Source§impl ToolError
impl ToolError
Sourcepub fn evidence(&self) -> Option<&ExecutionEvidence>
pub fn evidence(&self) -> Option<&ExecutionEvidence>
Borrow the original bounded capture, including successful version output.
Validation and filesystem/admission failures have no capture and return
None. A failed spawn retains its existing empty execution evidence.
No output is copied, decoded, logged or formatted by this accessor.
Sourcepub fn execution_error(&self) -> Option<&ExecutionError>
pub fn execution_error(&self) -> Option<&ExecutionError>
Borrow the original execution failure and its kill/reap outcomes, if any.
A successful version capture rejected by admission has evidence but no execution failure. Formatting, redaction and recovery remain caller-owned.
Trait Implementations§
Source§impl Error for ToolError
impl Error for ToolError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()