pub enum RustResolutionError {
UnitMapping {
unit: u32,
reason: Box<str>,
},
UnknownFile {
file: Box<str>,
},
InvalidCoordinate {
file: Box<str>,
line: u32,
column: u32,
},
LimitExceeded {
limit: u32,
},
ImportsNotConverged {
rounds: u32,
},
SemanticContextMismatch {
reason: Box<str>,
},
SemanticSharedSourceMismatch {
warning: RustResolutionWarning,
},
Report(ResolutionReportError),
}Expand description
Failure encountered while turning a resolution snapshot into a validated, snapshot-bound report.
Variants§
UnitMapping
The report’s units do not describe this snapshot’s units.
Fields
UnknownFile
A site names a file this snapshot does not hold.
InvalidCoordinate
A site’s coordinate does not exist in the exact snapshotted source.
Fields
LimitExceeded
One reference carries more candidates than the configured ceiling.
Candidate fan-out is never truncated: an overflowing reference refuses the whole resolution rather than reporting a misleading complete answer.
ImportsNotConverged
The names use items bind did not settle within the bounded rounds.
Each round strictly adds, so a re-export chain shallower than the bound always settles. A chain deeper than it refuses the whole resolution rather than reporting the tail’s unfilled bindings as names that do not exist.
SemanticContextMismatch
The semantic database does not hold what the snapshot claims.
Tier 2 never falls back: a database that holds other units, other sources, or other bytes answers for another repository state, so no candidate is promoted against it.
One physical source belongs to multiple resolution units that the semantic database cannot distinguish.
Report(ResolutionReportError)
The report contract refused the stated facts.
Trait Implementations§
Source§impl Debug for RustResolutionError
impl Debug for RustResolutionError
Source§impl Display for RustResolutionError
impl Display for RustResolutionError
Source§impl Error for RustResolutionError
impl Error for RustResolutionError
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()
Source§impl From<ResolutionReportError> for RustResolutionError
impl From<ResolutionReportError> for RustResolutionError
Source§fn from(source: ResolutionReportError) -> Self
fn from(source: ResolutionReportError) -> Self
Auto Trait Implementations§
impl Freeze for RustResolutionError
impl RefUnwindSafe for RustResolutionError
impl Send for RustResolutionError
impl Sync for RustResolutionError
impl Unpin for RustResolutionError
impl UnsafeUnpin for RustResolutionError
impl UnwindSafe for RustResolutionError
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, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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