Trait abi_stable::ImplType [−][src]
pub trait ImplType: Sized {
type Interface: InterfaceType;
const INFO: &'static TypeInfo;
}
Expand description
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.
To initialize INFO
you can use the impl_get_type_info
macro.
Uniqueness
Users of this trait can’t enforce that they are the only ones with the same interface,
therefore they should handle the Err(..)
s returned
from the DynTrait::*_unerased
functions whenever
they convert back and forth between Self
and Self::Interface
.
Associated Types
type Interface: InterfaceType
type Interface: InterfaceType
Describes the traits that must be implemented when constructing a
DynTrait
from Self
.