Enum MetaEvalError

Source
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.

Fields

§name: String

Binding name that failed to resolve.

§

RuntimeBindingUnavailable

Runtime binding was referenced from a context where it is unavailable.

Fields

§name: String

Runtime binding name.

§

KnownNameNotMetaValue

Known symbol resolved to an item that is not a meta value.

Fields

§name: String

Symbol name.

§kind: &'static str

Symbol category.

§

UnknownMetaFunction

Called meta function name could not be resolved.

Fields

§name: String

Meta function name.

§

DuplicateMetaFunction

Meta function was declared multiple times.

Fields

§name: String

Meta function name.

§

ArityMismatch

Meta function call used wrong number of arguments.

Fields

§name: String

Meta function name.

§expected: usize

Expected argument count.

§actual: usize

Actual argument count.

§

SpliceExpectedCode

Quote splice expected code but received another value kind.

Fields

§found: &'static str

Actual meta value kind name.

§

MatchExpectedCode

Meta match subject was not a code value.

§

ExpectedTupleCode

Tuple-code builtin received a non-tuple code value.

Fields

§builtin: &'static str

Builtin function name.

§

ExpectedTupleType

Tuple-type builtin received a non-tuple type value.

Fields

§builtin: &'static str

Builtin function name.

§

NoMatchArm

Meta match expression had no matching arm.

§

MissingReturnValue

Meta function finished without producing a return value.

Fields

§name: String

Meta function name.

§

TypeMismatch

Meta value did not match the expected meta type.

Fields

§expected: String

Expected meta type rendering.

§actual: String

Actual meta type rendering.

§

Elab

Elaborating generated runtime expression failed.

Fields

§message: String

Elaborator error message.

Trait Implementations§

Source§

impl Clone for MetaEvalError

Source§

fn clone(&self) -> MetaEvalError

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MetaEvalError

Source§

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

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

impl Display for MetaEvalError

Source§

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

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

impl Error for MetaEvalError

1.30.0 · 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<DE> From<MetaEvalError> for CompileError<DE>
where DE: Error + 'static,

Source§

fn from(source: MetaEvalError) -> Self

Converts to this type from the input type.
Source§

impl From<MetaEvalError> for ElabError

Source§

fn from(source: MetaEvalError) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for MetaEvalError

Source§

fn eq(&self, other: &MetaEvalError) -> 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 MetaEvalError

Source§

impl StructuralPartialEq for MetaEvalError

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

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

§

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
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

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

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

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

§

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
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.
§

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

§

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

Checks if this value is equivalent to the given key. Read more
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.