[−][src]Enum rusttyc::TcErr
Represents an error during the type check procedure.
Variants
Two keys were attempted to be equated and their underlying types turned out to be incompatible. Contains the two keys and the error that occurred when attempting to meet their abstract types.
An explicit type bound imposed on a key turned out to be incompatible with the type inferred based on remaining information on the key. Contains the key and the error that occurred when meeting the explicit bound with the inferred type.
This error occurs when a constraint accesses the n
th child of a type and its variant turns out to only
have k < n
sub-types.
Contains the affected key, its inferred or explicitly assigned variant, and the index of the child that
was attempted to be accessed.
ExactTypeViolation(TcKey, AbsTy)
Indicates a violation of an exact type requirement for a key. The partially or fully resolved type might be less concrete, more concrete, or incomparable.
ConflictingExactBounds(TcKey, AbsTy, AbsTy)
Indicates that a key has two conflicting, i.e. non-equal, exact bounds. This can occur when imposing two exact bounds on the very same key or when two keys with conflicting types get equated.
Trait Implementations
impl<AbsTy: Clone + Abstract> Clone for TcErr<AbsTy> where
AbsTy::Err: Clone,
AbsTy::Err: Clone,
[src]
AbsTy::Err: Clone,
AbsTy::Err: Clone,
impl<AbsTy: Debug + Abstract> Debug for TcErr<AbsTy> where
AbsTy::Err: Debug,
AbsTy::Err: Debug,
[src]
AbsTy::Err: Debug,
AbsTy::Err: Debug,
Auto Trait Implementations
impl<AbsTy> RefUnwindSafe for TcErr<AbsTy> where
AbsTy: RefUnwindSafe,
<AbsTy as Abstract>::Err: RefUnwindSafe,
AbsTy: RefUnwindSafe,
<AbsTy as Abstract>::Err: RefUnwindSafe,
impl<AbsTy> Send for TcErr<AbsTy> where
AbsTy: Send,
<AbsTy as Abstract>::Err: Send,
AbsTy: Send,
<AbsTy as Abstract>::Err: Send,
impl<AbsTy> Sync for TcErr<AbsTy> where
AbsTy: Sync,
<AbsTy as Abstract>::Err: Sync,
AbsTy: Sync,
<AbsTy as Abstract>::Err: Sync,
impl<AbsTy> Unpin for TcErr<AbsTy> where
AbsTy: Unpin,
<AbsTy as Abstract>::Err: Unpin,
AbsTy: Unpin,
<AbsTy as Abstract>::Err: Unpin,
impl<AbsTy> UnwindSafe for TcErr<AbsTy> where
AbsTy: UnwindSafe,
<AbsTy as Abstract>::Err: UnwindSafe,
AbsTy: UnwindSafe,
<AbsTy as Abstract>::Err: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,