CodegenError

Enum CodegenError 

Source
pub enum CodegenError {
    Verifier(VerifierErrors),
    ImplLimitExceeded,
    CodeTooLarge,
    Unsupported(String),
}
Expand description

A compilation error.

When Cranelift fails to compile a function, it will return one of these error codes.

Variants§

§

Verifier(VerifierErrors)

A list of IR verifier errors.

This always represents a bug, either in the code that generated IR for Cranelift, or a bug in Cranelift itself.

§

ImplLimitExceeded

An implementation limit was exceeded.

Cranelift can compile very large and complicated functions, but the implementation has limits that cause compilation to fail when they are exceeded.

§

CodeTooLarge

The code size for the function is too large.

Different target ISAs may impose a limit on the size of a compiled function. If that limit is exceeded, compilation fails.

§

Unsupported(String)

Something is not supported by the code generator. This might be an indication that a feature is used without explicitly enabling it, or that something is temporarily unsupported by a given target backend.

Trait Implementations§

Source§

impl Debug for CodegenError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Display for CodegenError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Error for CodegenError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<CodegenError> for ModuleError

Source§

fn from(source: CodegenError) -> ModuleError

Converts to this type from the input type.
Source§

impl From<VerifierErrors> for CodegenError

Source§

fn from(source: VerifierErrors) -> CodegenError

Converts to this type from the input type.
Source§

impl PartialEq for CodegenError

Source§

fn eq(&self, other: &CodegenError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for CodegenError

Source§

impl StructuralPartialEq for CodegenError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.