Module abi_stable::erased_types [−][src]
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
Types that implement InterfaceType
, used in examples.
Ffi-safe trait objects for individual traits.
Structs
DynTrait implements ffi-safe trait objects, for a selection of traits.
Metadata stored in the vtable of DynTrait<_>
Error for DynTrait<_>
being unerased into the wrong type
with one of the *unerased*
methods.
A helper type for constructing a DynTrait
at compile-time,
by passing VTableDT::GET
to DynTrait::from_const
.
Traits
Describes how D
is deserialized,using a proxy to do so.
For getting the Interface
type parameter in DynTrait<Pointer<()>, Interface>
.
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.
Associated constant equivalents of the associated types in InterfaceType
.
Defines the usable/required traits when creating a
DynTrait<Pointer<()>, ThisInterfaceType>
.
The way to specify the expected Iterator::Item
type for an InterfaceType
.
Gets the expected Iterator::Item
type for an InterfaceType
,
defaulting to ()
if it doesn’t require Iterator
to be implemented.
Describes how a type is serialized by DynTrait
.
Determines the intermediate type a SerializeImplType
implementor is converted into,
and is then serialized.
Type Definitions
For getting the Interface
type parameter in DynTrait<Pointer<()>, Interface>
.