pub enum CliError {
Show 18 variants
New(NewError),
Git(GitError),
MissingTools(MissingTools),
MissingChrome {
reason: String,
},
NotAnApplication {
start: PathBuf,
},
Config {
path: PathBuf,
source: Box<HostError>,
},
Host {
source: Box<HostError>,
},
CommandFailed {
command: String,
status: String,
},
CommandSpawn {
command: String,
source: Error,
},
PageToolchainMissing {
changed: usize,
},
Io {
operation: &'static str,
path: PathBuf,
source: Error,
},
CurrentDir {
source: Error,
},
Runtime {
source: Error,
},
PortUnavailable {
role: &'static str,
key: &'static str,
addr: SocketAddr,
coherence: &'static str,
source: Error,
},
NeverReady {
bind: String,
deadline: Duration,
},
TeardownTimeout {
deadline: Duration,
},
VerdictFailed {
verb: &'static str,
failed: Vec<String>,
},
DoctorProblems {
problems: usize,
},
}Expand description
Typed refusal or failure from any frame verb.
Variants§
New(NewError)
Scaffold generation refused or failed.
Git(GitError)
Initialising the new application’s git repository failed (a git command
that ran refused — never a missing-git or already-in-a-repo condition,
which frame new reports and continues past).
MissingTools(MissingTools)
A verb’s prerequisite tools are missing (with install links).
MissingChrome
The real-browser proof has no browser to drive.
NotAnApplication
The verb was run outside a Frame application.
Config
The application’s frame.toml failed to load or validate.
Fields
Host
frame host failed to boot or serve.
CommandFailed
A build or verification command exited unsuccessfully.
CommandSpawn
A command could not be spawned at all (present prerequisites were already checked, so this is an unexpected process failure, not a missing tool).
Fields
PageToolchainMissing
Page sources changed but the toolchain that recompiles them is not installed, and this verb never installs anything.
Io
A named filesystem operation failed.
Fields
CurrentDir
The current directory could not be read.
Runtime
The async runtime backing frame run could not be built.
An EXPLICITLY-stated frame.toml socket is already taken — named before
the host even tries to bind it, with the frame.toml key that holds it
and the coherence rule for changing it. Only stated addresses are
probed; a portless config (no [frame].bind, no [bus]) has nothing to
probe because the host prefers-and-walks / OS-assigns those ports.
NeverReady
The booted application never started accepting connections.
TeardownTimeout
The application ignored a stop request past the teardown deadline.
VerdictFailed
One or more scopes of a multi-part verdict failed.
DoctorProblems
The doctor found problems.
Trait Implementations§
Source§impl Error for CliError
impl Error for CliError
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()