Module erased_types

Source
Expand description

Types and traits related to type erasure.

Re-exports§

pub use crate::type_level::downcasting::TD_CanDowncast;
pub use crate::type_level::downcasting::TD_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.
RequiredTraits
Describes which traits are required and enabled by the I: InterfaceType that this RequiredTraits is created from.
TypeInfo
Metadata about a type.
UneraseError
Error for DynTrait<_> being downcasted into the wrong type with one of the *downcasted* methods.
VTable_Ref
A pointer to the vtable of DynTrait.

Traits§

DeserializeDyn
Describes how D is deserialized, using a proxy to do so.
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.
MakeRequiredTraits
For constructing a RequiredTraits constant.
MakeVTable
Csontructs a vtable.
SerializeProxyType
Determines the intermediate type a SerializeType implementor is converted into, and is then serialized.
SerializeType
Describes how a type is serialized by DynTrait.