pub enum LowerError {
InvalidCallTarget,
UnknownFunction {
name: String,
},
UnknownIdent {
name: String,
},
MoveRequiresBinding,
BorrowRequiresBinding,
PrefixOnlyValidInCallArgs {
op: &'static str,
},
UnexpectedRuntimeSplice,
MissingTypeInfo {
name: String,
},
UnknownEnumVariant {
name: String,
},
CallArgIncompatible {
function: String,
param: String,
expected: String,
actual: String,
},
CallArgCoercionPlanUnsupported {
function: String,
param: String,
expected: String,
actual: String,
},
ReturnTypeOwnershipNotAllowed {
function: String,
},
}Expand description
MIR lowering error produced while translating checked HIR.
Variants§
InvalidCallTarget
Call callee expression was not an identifier.
UnknownFunction
Called runtime function could not be resolved.
UnknownIdent
Referenced local identifier was not found.
MoveRequiresBinding
Move prefix was used with a non-binding operand.
BorrowRequiresBinding
Borrow prefix was used with a non-binding operand.
PrefixOnlyValidInCallArgs
Prefix operator appeared outside call argument position.
UnexpectedRuntimeSplice
Meta splice reached runtime lowering unexpectedly.
MissingTypeInfo
Checker metadata required by lowering was missing.
UnknownEnumVariant
Enum variant constructor name could not be resolved.
CallArgIncompatible
Checker/lowering compatibility mismatch was observed for one call argument.
Fields
CallArgCoercionPlanUnsupported
Coercion requires a lowering plan not implemented in this stage.
Fields
ReturnTypeOwnershipNotAllowed
Function return type used an ownership sigil that should have been rejected earlier.
Trait Implementations§
Source§impl Clone for LowerError
impl Clone for LowerError
Source§fn clone(&self) -> LowerError
fn clone(&self) -> LowerError
Returns a copy 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 moreSource§impl Debug for LowerError
impl Debug for LowerError
Source§impl Display for LowerError
impl Display for LowerError
Source§impl Error for LowerError
impl Error for LowerError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
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
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl<DE> From<LowerError> for CompileError<DE>where
DE: Error + 'static,
impl<DE> From<LowerError> for CompileError<DE>where
DE: Error + 'static,
Source§fn from(source: LowerError) -> Self
fn from(source: LowerError) -> Self
Converts to this type from the input type.
Source§impl PartialEq for LowerError
impl PartialEq for LowerError
impl Eq for LowerError
impl StructuralPartialEq for LowerError
Auto Trait Implementations§
impl Freeze for LowerError
impl RefUnwindSafe for LowerError
impl Send for LowerError
impl Sync for LowerError
impl Unpin for LowerError
impl UnwindSafe for LowerError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
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
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more