Module abi_stable::nonexhaustive_enum
source · Expand description
Contains types and traits for nonexhaustive enums.
The most important type here is NonExhaustive,
which allows passing an enum which used the
#[derive(StableAbi)] #[sabi(kind(WithNonExhaustive(...)))]
attributes through ffi.
Structs§
- Arguments for
assert_correct_storage
- Contains miscelaneous information about an enum.
- A generic type for all ffi-safe non-exhaustive enums.
- An error for a situation where a
NonExhaustive<>
could not be unwrapped into the enum because the discriminant wasn’t valid in this context (likely because it is from a newer version of the library).
Traits§
- Describes how a nonexhaustive enum is deserialized.
- Describes the discriminant of an enum,and its valid values.
- Gets the vtable of
NonExhaustive<Self,S,I>
. - Queries the marker type which describes the layout of this enum, for use in
NonExhaustive
’sStableAbi
impl. - Used to abstract over the reference-ness of
NonExhaustive
insideUnwrapEnumError
. - Describes how some enum is serialized.
- Marker trait for types that abi_stable supports as enum discriminants.
Functions§
- Asserts that the size and alignment of an enum are valid for its default storage.
- Asserts that the size and alignment of an enum aree valid for this storage.
Type Aliases§
- The type of a
NonExhaustive
wrapping the enumE
, usingE
’s default storage and interface. - The type of a
NonExhaustive<>
wrapping the enum E, using theE
’s default storage and a custom interface. - The type of a
NonExhaustive<>
wrapping the enum E, using a custom storage and theE
’s default interface.