[][src]Enum rusttyc::ReificationError

pub enum ReificationError {
    TooGeneral(String),
    Conflicting(String),
}

Indicates that an abstract type could not be reified because it is too general or too restrictive.

Example

  1. A numeric type cannot be reified into any concrete value because the concrete counterpart could be a natural number, integer, floating point number, .... -> ReificationError::TooGeneral
  2. An integer type cannot be reified into a concrete type with fixed memory layout except a default size is defined, e.g. an Int will be reified into an Int32. -> ReificationError::TooGeneral
  3. An unbounded integer might not have a concrete counterpart because the system requires a concrete bit size. -> ReificationError::Conflicting

Note the subtle difference between ReificationError::TooGeneral and ReificationError::Conflicting: + In the Conflicting case there is no valid counterpart + In the TooGeneral case the counterpart is not defined or not unique but could exist.

Variants

TooGeneral(String)

Attempting to reify an abstract type with either no unique concrete counterpart or with no defined default reification value results in this error.

Conflicting(String)

Attempting to reify an abstract type for which no concrete counterpart does exist results in this error.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.