[][src]Module abi_stable::erased_types

Types and traits related to type erasure.

Re-exports

pub use crate::type_level::unerasability::TU_Unerasable;
pub use crate::type_level::unerasability::TU_Opaque;

Modules

interfaces

Types that implement InterfaceType, used in examples.

trait_objects

Ffi-safe trait objects for individual traits.

Structs

DynTrait

DynTrait implements ffi-safe trait objects,for a selection of traits.

TypeInfo

Metadata stored in the vtable of DynTrait<_>

UneraseError

Error for DynTrait<_> being unerased into the wrong type with one of the *unerased* methods.

VTableDT

A helper type for constructing a DynTrait at compile-time, by passing VTableDT::GET to DynTrait::from_const.

Traits

DeserializeDyn

Describes how D is deserialized,using a proxy to do so.

DynTraitBound

For getting the Interface type parameter in DynTrait<Pointer<()>,Interface>.

ImplType

An implementation type, with an associated interface type which describes the traits that must be implemented when constructing a DynTrait from Self, using the DynTrait::from_value and DynTrait::from_ptr constructors, so as to pass an opaque type across ffi.

InterfaceBound

Associated constant equivalents of the associated types in InterfaceType.

InterfaceType

Defines the usable/required traits when creating a DynTrait<Pointer<()>, ThisInterfaceType>.

IteratorItem

The way to specify the expected Iterator::Item type for an InterfaceType.

IteratorItemOrDefault

Gets the expected Iterator::Item type for an InterfaceType, defaulting to () if it doesn't require Iterator to be implemented.

SerializeImplType

Describes how a type is serialized by DynTrait.

SerializeProxyType

Determines the intermediate type a SerializeImplType implementor is converted into, and is then serialized.

Type Definitions

GetVWInterface

For getting the Interface type parameter in DynTrait<Pointer<()>,Interface>.