[][src]Enum abi_stable::reflection::ModReflMode

#[repr(u8)]pub enum ModReflMode {
    Module,
    Opaque,
    DelegateDeref {
        layout_index: u8,
    },
}

Whether this is a module whose definition can be reflected on at runtime,

Module reflection only allows accessing public fields.

Variants

Module

For modules that are reflected on at runtime.

This is the default for all types.

Opaque

For types whose layout can't be iterated over.

If one uses #[sabi(module_reflection(Opaque))]

DelegateDeref

Delegates the layout to some other type,this is generally for references.

Fields of DelegateDeref

layout_index: u8

To which layout in TypeLayout.shared_vars.type_layouts this delegates to.

Trait Implementations

impl Clone for ModReflMode[src]

impl Copy for ModReflMode[src]

impl Debug for ModReflMode[src]

impl Default for ModReflMode[src]

impl Eq for ModReflMode[src]

impl GetStaticEquivalent_ for ModReflMode[src]

type StaticEquivalent = _static_ModReflMode

impl PartialEq<ModReflMode> for ModReflMode[src]

impl StableAbi for ModReflMode[src]

type IsNonZeroType = False

Whether this type has a single invalid bit-pattern. Read more

impl StructuralEq for ModReflMode[src]

impl StructuralPartialEq for ModReflMode[src]

Auto Trait Implementations

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<'a, T> BorrowOwned<'a> for T where
    T: 'a + Clone
[src]

type ROwned = T

The owned type, stored in RCow::Owned

type RBorrowed = &'a T

The borrowed type, stored in RCow::Borrowed

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

impl<T> GetWithMetadata for T[src]

type ForSelf = WithMetadata_<T, T>

This is always WithMetadata_<Self, Self>

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

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

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

type Owned = T

The resulting type after obtaining ownership.

impl<This> TransmuteElement for This where
    This: ?Sized
[src]

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.

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

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

The error type returned when the conversion fails.

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

type Type = T

The same type as Self. Read more

impl<This> ValidTag_Bounds for This where
    This: Debug + Clone + PartialEq<This>, 
[src]