Trait Data

Source
pub unsafe trait Data: Sized {
    type Id: 'static;

    // Provided method
    unsafe fn reborrow(self, ptr: *mut ()) { ... }
}
Expand description

Composable data.

This trait should be derived with #[derive(Data)].

Required Associated Types§

Source

type Id: 'static

Provided Methods§

Source

unsafe fn reborrow(self, ptr: *mut ())

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Data for &str

Source§

type Id = &'static str

Source§

impl Data for i32

Source§

impl Data for ()

Source§

type Id = ()

Source§

impl Data for String

Source§

impl<T1: Data> Data for (T1,)

Source§

type Id = (<T1 as Data>::Id,)

Source§

impl<T1: Data, T2: Data> Data for (T1, T2)

Source§

type Id = (<T1 as Data>::Id, <T2 as Data>::Id)

Source§

impl<T1: Data, T2: Data, T3: Data> Data for (T1, T2, T3)

Source§

type Id = (<T1 as Data>::Id, <T2 as Data>::Id, <T3 as Data>::Id)

Source§

impl<T1: Data, T2: Data, T3: Data, T4: Data> Data for (T1, T2, T3, T4)

Source§

type Id = (<T1 as Data>::Id, <T2 as Data>::Id, <T3 as Data>::Id, <T4 as Data>::Id)

Source§

impl<T1: Data, T2: Data, T3: Data, T4: Data, T5: Data> Data for (T1, T2, T3, T4, T5)

Source§

type Id = (<T1 as Data>::Id, <T2 as Data>::Id, <T3 as Data>::Id, <T4 as Data>::Id, <T5 as Data>::Id)

Source§

impl<T1: Data, T2: Data, T3: Data, T4: Data, T5: Data, T6: Data> Data for (T1, T2, T3, T4, T5, T6)

Source§

type Id = (<T1 as Data>::Id, <T2 as Data>::Id, <T3 as Data>::Id, <T4 as Data>::Id, <T5 as Data>::Id, <T6 as Data>::Id)

Source§

impl<T1: Data, T2: Data, T3: Data, T4: Data, T5: Data, T6: Data, T7: Data> Data for (T1, T2, T3, T4, T5, T6, T7)

Source§

type Id = (<T1 as Data>::Id, <T2 as Data>::Id, <T3 as Data>::Id, <T4 as Data>::Id, <T5 as Data>::Id, <T6 as Data>::Id, <T7 as Data>::Id)

Source§

impl<T1: Data, T2: Data, T3: Data, T4: Data, T5: Data, T6: Data, T7: Data, T8: Data> Data for (T1, T2, T3, T4, T5, T6, T7, T8)

Source§

type Id = (<T1 as Data>::Id, <T2 as Data>::Id, <T3 as Data>::Id, <T4 as Data>::Id, <T5 as Data>::Id, <T6 as Data>::Id, <T7 as Data>::Id, <T8 as Data>::Id)

Source§

impl<T: Data> Data for Option<T>

Source§

type Id = Option<<T as Data>::Id>

Source§

impl<T: Data> Data for Vec<T>

Source§

type Id = Vec<<T as Data>::Id>

Source§

impl<T: ?Sized + Data> Data for &T

Source§

type Id = &'static <T as Data>::Id

Implementors§

Source§

impl Data for DynCompose<'_>

Source§

impl<I, Item, C> Data for FromIter<'_, I, Item, C>
where I: Data, Item: Data, C: Data,

Source§

type Id = FromIter<'static, <I as Data>::Id, <Item as Data>::Id, <C as Data>::Id>

Source§

impl<T: Data + ?Sized> Data for Map<'_, T>

Source§

type Id = PhantomData<Map<'static, <T as Data>::Id>>

Source§

impl<T: Data + ?Sized> Data for Ref<'_, T>

Source§

type Id = PhantomData<Ref<'static, <T as Data>::Id>>

Source§

impl<T: Data> Data for RefMap<'_, T>

Source§

type Id = RefMap<'static, <T as Data>::Id>

Source§

impl<T: Data> Data for Mut<'_, T>

Source§

type Id = PhantomData<Mut<'static, <T as Data>::Id>>

Source§

impl<T: Data, C: Data> Data for Memo<T, C>

Source§

type Id = __MemoData