[−][src]Struct scale_info::TypeDefVariant
A Enum type (consisting of variants).
Examples
A Rust enum, aka tagged union.
enum MyEnum { RustAllowsForClikeVariants, AndAlsoForTupleStructs(i32, bool), OrStructs { with: i32, named: bool, fields: [u8; 32], }, ItIsntPossibleToSetADiscriminantThough, }
A C-like enum type.
enum Days { Monday, Tuesday, Wednesday, Thursday = 42, // Also allows to manually set the discriminant! Friday, Saturday, Sunday, }
An empty enum (for marker purposes)
enum JustAMarker {}
Implementations
impl TypeDefVariant
[src]
pub fn new<I>(variants: I) -> Self where
I: IntoIterator<Item = Variant>,
[src]
I: IntoIterator<Item = Variant>,
Create a new TypeDefVariant
with the given variants
Trait Implementations
impl<F: Clone + Form> Clone for TypeDefVariant<F>
[src]
fn clone(&self) -> TypeDefVariant<F>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<F: Debug + Form> Debug for TypeDefVariant<F>
[src]
impl<F: Eq + Form> Eq for TypeDefVariant<F>
[src]
impl<F: Form> From<TypeDefVariant<F>> for TypeDef<F>
[src]
fn from(original: TypeDefVariant<F>) -> TypeDef<F>
[src]
impl<F: Form> From<Vec<Variant<F>>> for TypeDefVariant<F>
[src]
fn from(original: Vec<Variant<F>>) -> TypeDefVariant<F>
[src]
impl IntoCompact for TypeDefVariant
[src]
type Output = TypeDefVariant<CompactForm>
The compact version of Self
.
fn into_compact(self, registry: &mut Registry) -> Self::Output
[src]
impl<F: Ord + Form> Ord for TypeDefVariant<F>
[src]
fn cmp(&self, other: &TypeDefVariant<F>) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl<F: PartialEq + Form> PartialEq<TypeDefVariant<F>> for TypeDefVariant<F>
[src]
fn eq(&self, other: &TypeDefVariant<F>) -> bool
[src]
fn ne(&self, other: &TypeDefVariant<F>) -> bool
[src]
impl<F: PartialOrd + Form> PartialOrd<TypeDefVariant<F>> for TypeDefVariant<F>
[src]
fn partial_cmp(&self, other: &TypeDefVariant<F>) -> Option<Ordering>
[src]
fn lt(&self, other: &TypeDefVariant<F>) -> bool
[src]
fn le(&self, other: &TypeDefVariant<F>) -> bool
[src]
fn gt(&self, other: &TypeDefVariant<F>) -> bool
[src]
fn ge(&self, other: &TypeDefVariant<F>) -> bool
[src]
impl<F: Form> Serialize for TypeDefVariant<F> where
F::TypeId: Serialize,
[src]
F::TypeId: Serialize,
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<F: Form> StructuralEq for TypeDefVariant<F>
[src]
impl<F: Form> StructuralPartialEq for TypeDefVariant<F>
[src]
Auto Trait Implementations
impl<F> RefUnwindSafe for TypeDefVariant<F> where
<F as Form>::TypeId: RefUnwindSafe,
<F as Form>::TypeId: RefUnwindSafe,
impl<F> Send for TypeDefVariant<F> where
<F as Form>::TypeId: Send,
<F as Form>::TypeId: Send,
impl<F> Sync for TypeDefVariant<F> where
<F as Form>::TypeId: Sync,
<F as Form>::TypeId: Sync,
impl<F> Unpin for TypeDefVariant<F> where
<F as Form>::TypeId: Unpin,
<F as Form>::TypeId: Unpin,
impl<F> UnwindSafe for TypeDefVariant<F> where
<F as Form>::TypeId: UnwindSafe,
<F as Form>::TypeId: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,