pub enum Uncertainty {
Confirmed,
Candidate,
Ambiguous,
Unresolved,
Unsupported,
Excluded,
Stale {
reason: String,
},
Incomplete {
reason: String,
},
}Expand description
One of eight distinct uncertainty states, each carrying its own reason.
Variants§
Confirmed
A same-context compiler fact names exactly one target.
Candidate
A resolution string this admission path does not yet recognise –
forward-compatible with a producer that adds a new outcome, never
silently promoted to Confirmed.
Ambiguous
The compiler itself could not choose among more than one symbol.
Unresolved
The compiler found no candidate at all for this occurrence.
Unsupported
The compiler bound the occurrence to something this consumer does not treat as a same-context answer – dynamic dispatch (late binding), for example.
Excluded
The compiler found a candidate and explicitly ruled it out (inaccessible from the call site), rather than merely failing to choose one.
Stale
The admitted artifact’s own freshness check failed: the checkout has moved since the artifact was captured.
Fields
Incomplete
The occurrence’s own compilation is a diagnostically incomplete or unsupported unit – a partial compile result can never be reported as a clean, confirmed answer.
Implementations§
Source§impl Uncertainty
impl Uncertainty
Sourcepub fn reason(&self) -> String
pub fn reason(&self) -> String
A short, stable, machine-readable reason string – every state carries one, so every fall-through to the syntax ladder is explainable.
Sourcepub fn is_confirmed(&self) -> bool
pub fn is_confirmed(&self) -> bool
Whether this state may participate in the resolver’s same-context override. Every other state falls through to the syntax ladder untouched.
Trait Implementations§
Source§impl Clone for Uncertainty
impl Clone for Uncertainty
Source§impl Debug for Uncertainty
impl Debug for Uncertainty
impl Eq for Uncertainty
Source§impl PartialEq for Uncertainty
impl PartialEq for Uncertainty
impl StructuralPartialEq for Uncertainty
Auto Trait Implementations§
impl Freeze for Uncertainty
impl RefUnwindSafe for Uncertainty
impl Send for Uncertainty
impl Sync for Uncertainty
impl Unpin for Uncertainty
impl UnsafeUnpin for Uncertainty
impl UnwindSafe for Uncertainty
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more