Macro abi_stable::impl_get_type_info [−][src]
macro_rules! impl_get_type_info {
($type : ty) => { ... };
}
Expand description
Constructs the TypeInfo
for some type.
It’s necessary for the type to be 'static
because
TypeInfo
stores a private function that returns the UTypeId
of that type.
Example
use abi_stable::{
impl_get_type_info,
erased_types::{TypeInfo,ImplType},
};
#[derive(Default, Clone, Debug)]
struct Foo<T> {
l: u32,
r: u32,
name: T,
}
impl<T> ImplType for Foo<T>
where T:'static+Send+Sync
{
type Interface=();
// You have to write the full type (eg: impl_get_type_info!{ Bar<'a,T,U> } ) ,
// never write Self.
const INFO:&'static TypeInfo=impl_get_type_info! { Foo<T> };
}