Crate dync

source · []
Expand description

Overview

This crate aims to fill the gap in Rust’s dynamic traits system by exposing the control over dynamic virtual function tables to the user in a safe API. Below is a list of capabilities unlocked by dync.

  • Create homogeneous untyped Vecs that store a single virtual function table for all contained elements. This functionality is enabled by the traits feature. For more details see vec_dyn.

Re-exports

pub use downcast_rs as downcast;
pub use index_slice::*;

Modules

Utility macros for code generation.

This module defines the function pointers for supported traits from the standard library.

Macros

Applies $fn to an VecCopy mapping valid numeric data types by corresponding generic parameters. For example, passing an VecCopy containing data of type u8 will cause this macro to call $fn with type parameter u8 like $fn::<u8>(buffer).

Convert a given container with a dynamic vtable to a concrete type.

Convert a given container type (e.g. VecCopy or SliceDyn) to have a dynamic VTable.

Structs

A generic mutable Copy value reference.

A generic value reference to a Copy type.

Defines a meta struct containing information about a type but not the type itself.

A generic mutable value reference into a buffer.

A generic value reference into a buffer.

Buffer of untyped Copy values.

Enums

A VTable reference type.

Traits

VTable defines a type that represents a virtual function table for some type T.

Type Definitions

Attribute Macros