pub enum MetaEvalError {
Show 14 variants
UnknownBinding {
name: String,
},
RuntimeBindingUnavailable {
name: String,
},
KnownNameNotMetaValue {
name: String,
kind: &'static str,
},
UnknownMetaFunction {
name: String,
},
DuplicateMetaFunction {
name: String,
},
ArityMismatch {
name: String,
expected: usize,
actual: usize,
},
SpliceExpectedCode {
found: &'static str,
},
MatchExpectedCode,
ExpectedTupleCode {
builtin: &'static str,
},
ExpectedTupleType {
builtin: &'static str,
},
NoMatchArm,
MissingReturnValue {
name: String,
},
TypeMismatch {
expected: String,
actual: String,
},
Elab {
message: String,
},
}Expand description
Meta-evaluation error produced while expanding meta code.
Variants§
UnknownBinding
Meta binding lookup failed.
Runtime binding was referenced from a context where it is unavailable.
KnownNameNotMetaValue
Known symbol resolved to an item that is not a meta value.
UnknownMetaFunction
Called meta function name could not be resolved.
DuplicateMetaFunction
Meta function was declared multiple times.
ArityMismatch
Meta function call used wrong number of arguments.
Fields
SpliceExpectedCode
Quote splice expected code but received another value kind.
MatchExpectedCode
Meta match subject was not a code value.
ExpectedTupleCode
Tuple-code builtin received a non-tuple code value.
ExpectedTupleType
Tuple-type builtin received a non-tuple type value.
NoMatchArm
Meta match expression had no matching arm.
MissingReturnValue
Meta function finished without producing a return value.
TypeMismatch
Meta value did not match the expected meta type.
Elab
Elaborating generated runtime expression failed.
Trait Implementations§
Source§impl Clone for MetaEvalError
impl Clone for MetaEvalError
Source§fn clone(&self) -> MetaEvalError
fn clone(&self) -> MetaEvalError
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 MetaEvalError
impl Debug for MetaEvalError
Source§impl Display for MetaEvalError
impl Display for MetaEvalError
Source§impl Error for MetaEvalError
impl Error for MetaEvalError
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<MetaEvalError> for CompileError<DE>where
DE: Error + 'static,
impl<DE> From<MetaEvalError> for CompileError<DE>where
DE: Error + 'static,
Source§fn from(source: MetaEvalError) -> Self
fn from(source: MetaEvalError) -> Self
Converts to this type from the input type.
Source§impl From<MetaEvalError> for ElabError
impl From<MetaEvalError> for ElabError
Source§fn from(source: MetaEvalError) -> Self
fn from(source: MetaEvalError) -> Self
Converts to this type from the input type.
Source§impl PartialEq for MetaEvalError
impl PartialEq for MetaEvalError
impl Eq for MetaEvalError
impl StructuralPartialEq for MetaEvalError
Auto Trait Implementations§
impl Freeze for MetaEvalError
impl RefUnwindSafe for MetaEvalError
impl Send for MetaEvalError
impl Sync for MetaEvalError
impl Unpin for MetaEvalError
impl UnwindSafe for MetaEvalError
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