#[non_exhaustive]pub enum ErrorSite {
MethodIndex(usize),
Method(RelationshipId, usize),
Relationship(RelationshipId),
Cell(CellId),
Conditional(ConditionalId),
}Expand description
Identifies a single sheet component an error implicates, for translating back to a
source location. An Error’s sites() is an ordered list of these: the primary
culprit first, followed by related context (e.g. the other method(s) and cell(s)
involved in a structural conflict, or the remaining members of a cycle).
§Examples
See the error example.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
MethodIndex(usize)
Index into the methods Vec passed to add_relationship, before any
RelationshipId exists for it.
Method(RelationshipId, usize)
A method within an already-registered relationship.
Relationship(RelationshipId)
A relationship as a whole (no single method within it is implicated).
Cell(CellId)
A single cell, including the cell governed by a failing requirement.
Conditional(ConditionalId)
The live conditional whose match expression failed.
Trait Implementations§
impl Copy for ErrorSite
impl Eq for ErrorSite
impl StructuralPartialEq for ErrorSite
Auto Trait Implementations§
impl Freeze for ErrorSite
impl RefUnwindSafe for ErrorSite
impl Send for ErrorSite
impl Sync for ErrorSite
impl Unpin for ErrorSite
impl UnsafeUnpin for ErrorSite
impl UnwindSafe for ErrorSite
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
Mutably borrows from an owned value. Read more