Enum runestick::CompileMetaKind[][src]

pub enum CompileMetaKind {
    UnitStruct {
        type_hash: Hash,
        empty: CompileMetaEmpty,
    },
    TupleStruct {
        type_hash: Hash,
        tuple: CompileMetaTuple,
    },
    Struct {
        type_hash: Hash,
        object: CompileMetaStruct,
    },
    UnitVariant {
        type_hash: Hash,
        enum_item: Item,
        empty: CompileMetaEmpty,
    },
    TupleVariant {
        type_hash: Hash,
        enum_item: Item,
        tuple: CompileMetaTuple,
    },
    StructVariant {
        type_hash: Hash,
        enum_item: Item,
        object: CompileMetaStruct,
    },
    Enum {
        type_hash: Hash,
    },
    Function {
        type_hash: Hash,
        is_test: bool,
    },
    Closure {
        type_hash: Hash,
        captures: Arc<[CompileMetaCapture]>,
        do_move: bool,
    },
    AsyncBlock {
        type_hash: Hash,
        captures: Arc<[CompileMetaCapture]>,
        do_move: bool,
    },
    Const {
        const_value: ConstValue,
    },
    ConstFn {
        id: Id,
        is_test: bool,
    },
    Import {
        module: Arc<CompileMod>,
        location: Location,
        target: Item,
    },
}

Compile-time metadata kind about a unit.

Variants

UnitStruct

Metadata about an object.

Fields of UnitStruct

type_hash: Hash

The type hash associated with this meta kind.

empty: CompileMetaEmpty

The underlying object.

TupleStruct

Metadata about a tuple.

Fields of TupleStruct

type_hash: Hash

The type hash associated with this meta kind.

tuple: CompileMetaTuple

The underlying tuple.

Struct

Metadata about an object.

Fields of Struct

type_hash: Hash

The type hash associated with this meta kind.

object: CompileMetaStruct

The underlying object.

UnitVariant

Metadata about an empty variant.

Fields of UnitVariant

type_hash: Hash

The type hash associated with this meta kind.

enum_item: Item

The item of the enum.

empty: CompileMetaEmpty

The underlying empty.

TupleVariant

Metadata about a tuple variant.

Fields of TupleVariant

type_hash: Hash

The type hash associated with this meta item.

enum_item: Item

The item of the enum.

tuple: CompileMetaTuple

The underlying tuple.

StructVariant

Metadata about a variant object.

Fields of StructVariant

type_hash: Hash

The type hash associated with this meta kind.

enum_item: Item

The item of the enum.

object: CompileMetaStruct

The underlying object.

Enum

An enum item.

Fields of Enum

type_hash: Hash

The type hash associated with this meta kind.

Function

A function declaration.

Fields of Function

type_hash: Hash

The type hash associated with this meta kind.

is_test: bool

Whether this function has a test annotation

Closure

A closure.

Fields of Closure

type_hash: Hash

The type hash associated with this meta kind.

captures: Arc<[CompileMetaCapture]>

Sequence of captured variables.

do_move: bool

If the closure moves its environment.

AsyncBlock

An async block.

Fields of AsyncBlock

type_hash: Hash

The span where the async block is declared.

captures: Arc<[CompileMetaCapture]>

Sequence of captured variables.

do_move: bool

If the async block moves its environment.

Const

The constant expression.

Fields of Const

const_value: ConstValue

The evaluated constant value.

ConstFn

A constant function.

Fields of ConstFn

id: Id

Opaque identifier for the constant function.

is_test: bool

Whether this function has a test annotation

Import

Purely an import.

Fields of Import

module: Arc<CompileMod>

The module of the target.

location: Location

The location of the import.

target: Item

The imported target.

Trait Implementations

impl Clone for CompileMetaKind[src]

impl Debug for CompileMetaKind[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.