rune::compile::meta

Enum Kind

Source
#[non_exhaustive]
pub enum Kind {
Show 15 variants Type { parameters: Hash, }, Struct { fields: Fields, constructor: Option<Signature>, parameters: Hash, }, Variant { enum_hash: Hash, index: usize, fields: Fields, constructor: Option<Signature>, }, Enum { parameters: Hash, }, Macro, AttributeMacro, Function { associated: Option<AssociatedKind>, trait_hash: Option<Hash>, signature: Signature, is_test: bool, is_bench: bool, parameters: Hash, container: Option<Hash>, parameter_types: Vec<Hash>, }, Closure { call: Call, do_move: bool, }, AsyncBlock { call: Call, do_move: bool, }, Const, ConstFn, Import(Import), Alias(Alias), Module, Trait,
}
Expand description

Compile-time metadata kind about a unit.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Type

The type is completely opaque. We have no idea about what it is with the exception of it having a type hash.

Fields

§parameters: Hash

Hash of generic parameters.

§

Struct

Metadata about a struct.

Fields

§fields: Fields

Fields information.

§constructor: Option<Signature>

Native constructor for this struct.

§parameters: Hash

Hash of generic parameters.

§

Variant

Metadata about an empty variant.

Fields

§enum_hash: Hash

Type hash of the enum this unit variant belongs to.

§index: usize

The index of the variant.

§fields: Fields

Fields information.

§constructor: Option<Signature>

Native constructor for this variant.

§

Enum

An enum item.

Fields

§parameters: Hash

Hash of generic parameters.

§

Macro

A macro item.

§

AttributeMacro

An attribute macro item.

§

Function

A function declaration.

Fields

§associated: Option<AssociatedKind>

The associated kind of the function, if it is an associated function.

§trait_hash: Option<Hash>

The hash of the trait this function is associated with.

§signature: Signature

Native signature for this function.

§is_test: bool

Whether this function has a #[test] annotation

§is_bench: bool

Whether this function has a #[bench] annotation.

§parameters: Hash

Hash of generic parameters.

§container: Option<Hash>

The container of the associated function.

§parameter_types: Vec<Hash>

Parameter types.

§

Closure

A closure.

Fields

§call: Call

Runtime calling convention.

§do_move: bool

If the closure moves its environment.

§

AsyncBlock

An async block.

Fields

§call: Call

Runtime calling convention.

§do_move: bool

If the async block moves its environment.

§

Const

The constant expression.

§

ConstFn

A constant function.

§

Import(Import)

Purely an import.

§

Alias(Alias)

A re-export.

§

Module

A module.

§

Trait

A trait.

Trait Implementations§

Source§

impl Debug for Kind

Source§

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

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

impl TryClone for Kind

Source§

fn try_clone(&self) -> Result<Self>

Try to clone the current value, raising an allocation error if it’s unsuccessful.
Source§

fn try_clone_from(&mut self, source: &Self) -> Result<(), Error>

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl Freeze for Kind

§

impl RefUnwindSafe for Kind

§

impl Send for Kind

§

impl Sync for Kind

§

impl Unpin for Kind

§

impl UnwindSafe for Kind

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<T> TryToOwned for T
where T: TryClone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn try_to_owned(&self) -> Result<T, Error>

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T