pub enum InferenceError {
Conflict(TypeId, TypeId),
Unresolved(InferenceVar),
OccursCheck {
var: InferenceVar,
ty: TypeId,
},
BoundsViolation {
var: InferenceVar,
lower: TypeId,
upper: TypeId,
},
VarianceViolation {
var: InferenceVar,
expected_variance: &'static str,
position: TypeId,
},
}Expand description
Inference error
Variants§
Conflict(TypeId, TypeId)
Two incompatible types were unified
Unresolved(InferenceVar)
Inference variable was not resolved
OccursCheck
Circular unification detected (occurs-check)
BoundsViolation
Lower bound is not subtype of upper bound
VarianceViolation
Variance violation detected
Trait Implementations§
Source§impl Clone for InferenceError
impl Clone for InferenceError
Source§fn clone(&self) -> InferenceError
fn clone(&self) -> InferenceError
Returns a duplicate of the value. Read more
1.0.0 · 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 InferenceError
impl RefUnwindSafe for InferenceError
impl Send for InferenceError
impl Sync for InferenceError
impl Unpin for InferenceError
impl UnsafeUnpin for InferenceError
impl UnwindSafe for InferenceError
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