pub enum ComposeError {
Cycle {
digest: String,
via: String,
},
TooDeep,
Unreadable(String),
AmbiguousTool {
tool: String,
first: String,
second: String,
fix: String,
},
RealmProvidesNoSuchTool {
selector: String,
realm: String,
tool: String,
providers: String,
},
ConflictingPayload(Box<PayloadConflict>),
}Variants§
Cycle
TooDeep
Unreadable(String)
AmbiguousTool
A name two layers of one composition both provide, which the pin has not chosen between (REQ-REALM2-001 clause 4d).
The old message named two layer DIGESTS and then said “Restrict the
pin’s tools” — advice structurally incapable of working, because
tools filtered by NAME and the collision is one name. It must instead
name both providers WITH their realms and show the qualified form to
copy, which is a fix the reader can actually apply.
RealmProvidesNoSuchTool
The pin qualified a name with a realm that provides no such tool. Failing closed matters here: silently falling back to the other realm would run bytes the pin explicitly did not choose.
ConflictingPayload(Box<PayloadConflict>)
Boxed: six strings inline would make every ComposeError — and so
every ResolveError — large enough to move on the happy path.
Trait Implementations§
Source§impl Debug for ComposeError
impl Debug for ComposeError
Source§impl Display for ComposeError
impl Display for ComposeError
Source§impl Error for ComposeError
impl Error for ComposeError
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()