pub enum ResolveError {
Parse(HarnessConfigError),
Cycle(Vec<String>),
DepthExceeded(Vec<String>),
PathExtendsNotAllowed(String),
Io(PathBuf, String),
UnknownKey(String),
MissingDependency {
module: String,
requires: String,
},
Conflict {
name: String,
detail: String,
},
}Expand description
Everything that can fail §3.5 resolution.
Variants§
Parse(HarnessConfigError)
The document isn’t valid TOML/JSON, or doesn’t match the schema.
Cycle(Vec<String>)
extends formed a cycle (step 2). Carries the visitation chain,
ending with the name that closed the loop.
DepthExceeded(Vec<String>)
The extends chain exceeded the depth-8 cap (step 2).
PathExtendsNotAllowed(String)
extends named a path from a layer where only built-in preset names
are legal (§3.3: a project file may never extends a path).
Io(PathBuf, String)
A preset file path could not be read.
UnknownKey(String)
Strict mode (step 5): the document set a key this build doesn’t
recognize under schema_version = 1.
MissingDependency
Step 6: an enabled module’s hard dependency is unmet.
Fields
Conflict
Step 6: an unresolvable §2.2 conflict (only C6 today — every other implemented conflict degrades to a warning per §2.2’s own resolution text).
Trait Implementations§
Source§impl Debug for ResolveError
impl Debug for ResolveError
Source§impl Display for ResolveError
impl Display for ResolveError
Source§impl Error for ResolveError
impl Error for ResolveError
1.30.0 · 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()