[][src]Enum refloctopus::DataShape

pub enum DataShape<'db> {
    Leaf(TypeId),
    Builtin(RustBuiltin),
    FixedArray {
        shape: Expect<DataShape<'db>>,
        len: usize,
        stride: usize,
    },
    Slice(Expect<DataShape<'db>>),
    Ref(Expect<DataShape<'db>>, RefKind),
    Tuple(ExpectArr<Field<'db>>),
    Enum(&'static [&'static str]ExpectArr<EnumArm<'db>>),
    Struct(DeclKind&'static [&'static str]ExpectArr<Field<'db>>),
}

The world of rust type representation, according to reflectopus.

Unions are not supported. Intentionally compatible with the serde data model.

Variants

Leaf(TypeId)

The reflection system will go no further with this type.

For serde integration, leafs types are sought after in the reflection database when they are encountered.

Builtin(RustBuiltin)

A small builtin rust type like i128 or char.

FixedArray

[T; n]

Fields of FixedArray

shape: Expect<DataShape<'db>>len: usizestride: usize
Slice(Expect<DataShape<'db>>)

&[T]

Ref(Expect<DataShape<'db>>, RefKind)

&T. ⚠️⚠️ might be a fat pointer! ⚠️⚠️

Tuple(ExpectArr<Field<'db>>)
Enum(&'static [&'static str]ExpectArr<EnumArm<'db>>)
Struct(DeclKind&'static [&'static str]ExpectArr<Field<'db>>)

Trait Implementations

impl<'db> Clone for DataShape<'db>[src]

impl<'db> Copy for DataShape<'db>[src]

impl<'db> Debug for DataShape<'db>[src]

Auto Trait Implementations

impl<'db> RefUnwindSafe for DataShape<'db>[src]

impl<'db> Send for DataShape<'db>[src]

impl<'db> Sync for DataShape<'db>[src]

impl<'db> Unpin for DataShape<'db>[src]

impl<'db> UnwindSafe for DataShape<'db>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Erasable for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.