Crate runestick[][src]

Expand description
Rune Logo

Visit the site 🌐 - Read the book 📖

Build Status Site Status crates.io docs.rs Chat on Discord

A stack-based virtual machine for the Rust programming language.

This is the driver for the Rune Language.

Re-exports

pub use self::format::Format;
pub use self::format::FormatSpec;
pub use self::module::InstFnNameHash;
pub use self::module::InstallWith;
pub use self::module::Module;
pub use crate::debug::DebugInfo;
pub use crate::debug::DebugInst;

Modules

Budgeting module for Runestick.

Debug information for units.

Types for dealing with formatting specifications.

Crate used for definint native modules.

Public packages that can be used to provide functionality to virtual machines.

Macros

Construct a span that can be used during pattern matching.

Structs

Our own private dynamic Any implementation.

The vtable for any type stored in the virtual machine.

Guard for data exclusively borrowed from a slot in the virtual machine.

Guard for a data borrowed from a slot in the virtual machine.

A single index in a Span, like the start or ending index.

A vector of bytes.

A call frame.

Item and the module that the item belongs to.

Compile-time metadata about a unit.

Metadata about a closure.

The metadata about a type.

The metadata about a type.

The metadata about a variant.

Module, its item and its visibility.

Information on a compile sourc.

Static run context visible to the virtual machine.

Information on a specific type.

A label that can be jumped to.

A type-erased future that can only be unsafely polled in combination with the virtual machine that created it.

A generator with a stored virtual machine.

The hash of a primitive thing.

An opaque identifier that is associated with AST items.

The name of an item.

An owning iterator.

A label that can be jumped to.

A source location.

A strong mutable reference to the given type.

A tree of names.

Error raised when tried to access for exclusive access but it was not accessible.

Error raised when tried to access for shared access but it was not accessible.

Struct representing a dynamic anonymous object.

A descriptibe panic.

A built in instance function.

Struct representing a dynamic anonymous object.

A raw guard around some level of access.

A raw guard to a Ref.

A raw guard to a Ref.

A raw static string.

A strong reference to the given type.

Runtime information on variant.

Static run context visible to the virtual machine.

A stored select.

A shared value.

A guard for an Any containing a pointer.

A single source file.

A span corresponding to a range in the source file being parsed.

An error with an associated span.

The stack of the virtual machine, where all values are stored.

An error raised when interacting with the stack.

Struct representing a static string.

Static type information.

A stream with a stored virtual machine.

An object with a well-defined type.

Struct representing a dynamic anonymous object.

A tuple with a well-defined type.

Instructions from a single source file.

A empty with a well-defined type.

The variant of a type.

Runtime information on variant.

Struct representing a dynamic vector.

A helper type to deserialize arrays with different interior types.

A stack which references variables indirectly from a slab.

An instruction to push a virtual machine to the execution.

Errors raised by the execution of the virtual machine.

The execution environment for a virtual machine.

A type-erased rust number.

A wrapper that makes VmExecution Send.

Enums

An error raised while downcasting.

Errors raised during casting operations.

A stored await task.

How the function is called.

Compile-time metadata kind about a unit.

The component of an item.

A reference to a component of an item.

A constant value.

An error raised when building the context.

A description of a function signature.

The state of a generator.

An operation in the stack-based virtual machine.

How an instruction addresses a value.

An operation between two values on the machine.

An operation between two values on the machine.

Range limits of a range expression.

The target of an operation.

A literal value that can be pushed.

A variant that can be constructed.

A key that can be used as an anonymous object key.

Pre-canned panic reasons.

The limits of a range.

An encoded type check.

Type information about a value, that can be printed for human consumption through its Display implementation.

The kind and necessary information on registered functions.

An entry on the stack.

The data of the variant.

Information on the visibility of an item.

The kind of error encountered.

The reason why the virtual machine execution stopped.

The reason why the virtual machine execution stopped.

Statics

The specialized type information for a bool type.

The specialized type information for a bytes type.

The specialized type information for a byte type.

The specialized type information for a char type.

The specialized type information for a float type.

The specialized type information for a fmt spec types.

The specialized type information for a function pointer type.

The specialized type information for a future type.

The specialized type information for a generator state type.

The specialized type information for a generator type.

The specialized type information for a integer type.

The specialized type information for the iterator type.

The specialized type information for an anonymous object type.

The specialized type information for a option type.

The specialized type information for the range type.

The specialized type information for a result type.

The specialized type information for the Stream type.

The specialized type information for a string type.

The specialized type information for an anonymous tuple type.

The specialized type information for type objects.

The specialized type information for a unit.

The specialized type information for a vector type.

Traits

A trait which can be stored inside of an AnyObj.

Trait for converting arguments onto the stack.

Trait for converting from a value.

Trait for converting arguments onto the stack.

Convert the given type into an index.

Trait for encoding the current type into a component.

Helper conversion into a function hash.

Something that is named.

Trait for converting types into values.

Trait used for Rust types for which we can determine the runtime type of.

A potentially unsafe conversion for value conversion.

Trait for converting types into values.

Trait to coerce a result of a non-spanned error into a spanned error.

Type Definitions

Exported boxed error type for convenience.

A callable non-sync function.

Exported result type for convenience.

The identifier of a source file.

A callable sync function. This currently only supports a subset of values that are supported by the Vm.

Derive Macros

Macro to mark a value as external, which will implement all the appropriate traits.

Conversion macro for constructing proxy objects from a dynamic value.