scale_info

Enum TypeDef

source
pub enum TypeDef<T: Form = MetaForm> {
    Composite(TypeDefComposite<T>),
    Variant(TypeDefVariant<T>),
    Sequence(TypeDefSequence<T>),
    Array(TypeDefArray<T>),
    Tuple(TypeDefTuple<T>),
    Primitive(TypeDefPrimitive),
    Compact(TypeDefCompact<T>),
    BitSequence(TypeDefBitSequence<T>),
}
Expand description

The possible types a SCALE encodable Rust value could have.

§Note

In order to preserve backwards compatibility, variant indices are explicitly specified instead of depending on the default implicit ordering.

When adding a new variant, it must be added at the end with an incremented index.

When removing an existing variant, the rest of variant indices remain the same, and the removed index should not be reused.

Variants§

§

Composite(TypeDefComposite<T>)

A composite type (e.g. a struct or a tuple)

§

Variant(TypeDefVariant<T>)

A variant type (e.g. an enum)

§

Sequence(TypeDefSequence<T>)

A sequence type with runtime known length.

§

Array(TypeDefArray<T>)

An array type with compile-time known length.

§

Tuple(TypeDefTuple<T>)

A tuple type.

§

Primitive(TypeDefPrimitive)

A Rust primitive type.

§

Compact(TypeDefCompact<T>)

A type using the [Compact] encoding

§

BitSequence(TypeDefBitSequence<T>)

A type representing a sequence of bits.

Trait Implementations§

source§

impl<T: Clone + Form> Clone for TypeDef<T>

source§

fn clone(&self) -> TypeDef<T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: Debug + Form> Debug for TypeDef<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Form> Decode for TypeDef<T>

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>

Attempt to deserialise the value from input.
source§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self>, ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
source§

fn skip<I>(input: &mut I) -> Result<(), Error>
where I: Input,

Attempt to skip the encoded value from input. Read more
source§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<T: Form> Encode for TypeDef<T>

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
source§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<F: Form> From<TypeDefArray<F>> for TypeDef<F>

source§

fn from(x: TypeDefArray<F>) -> Self

Converts to this type from the input type.
source§

impl<F: Form> From<TypeDefBitSequence<F>> for TypeDef<F>

source§

fn from(x: TypeDefBitSequence<F>) -> Self

Converts to this type from the input type.
source§

impl<F: Form> From<TypeDefCompact<F>> for TypeDef<F>

source§

fn from(x: TypeDefCompact<F>) -> Self

Converts to this type from the input type.
source§

impl<F: Form> From<TypeDefComposite<F>> for TypeDef<F>

source§

fn from(x: TypeDefComposite<F>) -> Self

Converts to this type from the input type.
source§

impl<F: Form> From<TypeDefPrimitive> for TypeDef<F>

source§

fn from(x: TypeDefPrimitive) -> Self

Converts to this type from the input type.
source§

impl<F: Form> From<TypeDefSequence<F>> for TypeDef<F>

source§

fn from(x: TypeDefSequence<F>) -> Self

Converts to this type from the input type.
source§

impl<F: Form> From<TypeDefTuple<F>> for TypeDef<F>

source§

fn from(x: TypeDefTuple<F>) -> Self

Converts to this type from the input type.
source§

impl<F: Form> From<TypeDefVariant<F>> for TypeDef<F>

source§

fn from(x: TypeDefVariant<F>) -> Self

Converts to this type from the input type.
source§

impl IntoPortable for TypeDef

source§

type Output = TypeDef<PortableForm>

The portable version of Self.
source§

fn into_portable(self, registry: &mut Registry) -> Self::Output

Convert self to the portable form by using the registry for caching.
source§

impl<T: Ord + Form> Ord for TypeDef<T>

source§

fn cmp(&self, other: &TypeDef<T>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
source§

impl<T: PartialEq + Form> PartialEq for TypeDef<T>

source§

fn eq(&self, other: &TypeDef<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T: PartialOrd + Form> PartialOrd for TypeDef<T>

source§

fn partial_cmp(&self, other: &TypeDef<T>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<T: Form> EncodeLike for TypeDef<T>

source§

impl<T: Eq + Form> Eq for TypeDef<T>

source§

impl<T: Form> StructuralPartialEq for TypeDef<T>

Auto Trait Implementations§

§

impl<T> Freeze for TypeDef<T>
where <T as Form>::Type: Freeze,

§

impl<T> RefUnwindSafe for TypeDef<T>
where <T as Form>::Type: RefUnwindSafe, <T as Form>::String: RefUnwindSafe,

§

impl<T> Send for TypeDef<T>
where <T as Form>::Type: Send, <T as Form>::String: Send,

§

impl<T> Sync for TypeDef<T>
where <T as Form>::Type: Sync, <T as Form>::String: Sync,

§

impl<T> Unpin for TypeDef<T>
where <T as Form>::Type: Unpin, <T as Form>::String: Unpin,

§

impl<T> UnwindSafe for TypeDef<T>
where <T as Form>::Type: UnwindSafe, <T as Form>::String: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> DecodeAll for T
where T: Decode,

source§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
source§

impl<T> DecodeLimit for T
where T: Decode,

source§

fn decode_all_with_depth_limit( limit: u32, input: &mut &[u8], ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
source§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of bytes consumed. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> KeyedVec for T
where T: Codec,

source§

fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

Return an encoding of Self prepended by given slice.
source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<S> Codec for S
where S: Decode + Encode,

source§

impl<T> EncodeLike<&&T> for T
where T: Encode,

source§

impl<T> EncodeLike<&T> for T
where T: Encode,

source§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

source§

impl<T> EncodeLike<Arc<T>> for T
where T: Encode,

source§

impl<T> EncodeLike<Box<T>> for T
where T: Encode,

source§

impl<'a, T> EncodeLike<Cow<'a, T>> for T
where T: ToOwned + Encode,

source§

impl<T> EncodeLike<Rc<T>> for T
where T: Encode,

source§

impl<S> FullCodec for S
where S: Decode + FullEncode,

source§

impl<S> FullEncode for S
where S: Encode + EncodeLike,

source§

impl<T> JsonSchemaMaybe for T