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
impl Debug for CodegenError
Source§impl Display for CodegenError
impl Display for CodegenError
Source§impl Error for CodegenError
impl Error for CodegenError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl From<CodegenError> for ModuleError
impl From<CodegenError> for ModuleError
Source§fn from(source: CodegenError) -> ModuleError
fn from(source: CodegenError) -> ModuleError
Source§impl From<VerifierErrors> for CodegenError
impl From<VerifierErrors> for CodegenError
Source§fn from(source: VerifierErrors) -> CodegenError
fn from(source: VerifierErrors) -> CodegenError
Source§impl PartialEq for CodegenError
impl PartialEq for CodegenError
impl Eq for CodegenError
impl StructuralPartialEq for CodegenError
Auto Trait Implementations§
impl Freeze for CodegenError
impl RefUnwindSafe for CodegenError
impl Send for CodegenError
impl Sync for CodegenError
impl Unpin for CodegenError
impl UnwindSafe for CodegenError
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
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.