pub enum ReferenceIntegrityIssue {
DanglingReference {
referrer: SymbolId,
deleted_symbol: SymbolId,
reference_count: usize,
},
MissingFieldInLiteral {
location: SymbolId,
struct_type: SymbolId,
missing_field: String,
},
RemovedFieldInLiteral {
location: SymbolId,
struct_type: SymbolId,
removed_field: String,
},
IncompatibleMethodCall {
caller: SymbolId,
method: SymbolId,
expected_args: usize,
actual_args: usize,
},
RenameWouldBreakReferences {
symbol: SymbolId,
referrers: Vec<SymbolId>,
},
UnusedAfterMutation {
symbol: SymbolId,
},
}Expand description
Specific issue found during reference integrity analysis.
Variants§
DanglingReference
Reference to a symbol that will be deleted.
Fields
MissingFieldInLiteral
Struct literal missing required fields after field addition.
Fields
RemovedFieldInLiteral
Struct literal has field that will be deleted.
Fields
IncompatibleMethodCall
Method call with incompatible arguments after signature change.
Fields
RenameWouldBreakReferences
Symbol rename would break references.
Fields
UnusedAfterMutation
Unused symbol after mutation (warning).
Implementations§
Trait Implementations§
Source§impl Clone for ReferenceIntegrityIssue
impl Clone for ReferenceIntegrityIssue
Source§fn clone(&self) -> ReferenceIntegrityIssue
fn clone(&self) -> ReferenceIntegrityIssue
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ReferenceIntegrityIssue
impl RefUnwindSafe for ReferenceIntegrityIssue
impl Send for ReferenceIntegrityIssue
impl Sync for ReferenceIntegrityIssue
impl Unpin for ReferenceIntegrityIssue
impl UnsafeUnpin for ReferenceIntegrityIssue
impl UnwindSafe for ReferenceIntegrityIssue
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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