pub trait TypeInfo {
    type Identity: 'static + ?Sized;

    // Required method
    fn type_info() -> Type<MetaForm>;
}
Expand description

Implementors return their meta type information.

Required Associated Types§

source

type Identity: 'static + ?Sized

The type identifying for which type info is provided.

Note

This is used to uniquely identify a type via core::any::TypeId::of. In most cases it will just be Self, but can be used to unify different types which have the same encoded representation e.g. reference types Box<T>, &T and &mut T.

Required Methods§

source

fn type_info() -> Type<MetaForm>

Returns the static type identifier for Self.

Implementations on Foreign Types§

source§

impl TypeInfo for AccountId

source§

impl TypeInfo for Hash

§

impl TypeInfo for Bits

§

type Identity = Bits

§

fn type_info() -> Type<MetaForm>

source§

impl<A, B, C, D, E, F, G> TypeInfo for (A, B, C, D, E, F, G)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static,

source§

impl<A, B, C, D, E, F, G, H, I, J> TypeInfo for (A, B, C, D, E, F, G, H, I, J)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static,

source§

impl TypeInfo for i16

source§

impl<T, const N: usize> TypeInfo for [T; N]where T: TypeInfo + 'static,

source§

impl TypeInfo for NonZeroI128

source§

impl TypeInfo for u16

source§

impl TypeInfo for String

source§

impl<T> TypeInfo for Option<T>where T: TypeInfo + 'static,

source§

impl<T> TypeInfo for [T]where T: TypeInfo + 'static,

source§

impl<A, B, C, D, E, F> TypeInfo for (A, B, C, D, E, F)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static,

source§

impl<A, B, C, D, E, F, G, H, I> TypeInfo for (A, B, C, D, E, F, G, H, I)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static,

source§

impl<A, B, C, D> TypeInfo for (A, B, C, D)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static,

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static, P: TypeInfo + 'static,

source§

impl TypeInfo for Msb0

source§

impl<Idx> TypeInfo for Range<Idx>where Idx: TypeInfo + 'static + PartialOrd<Idx> + Debug,

source§

impl<T> TypeInfo for Vec<T, Global>where T: TypeInfo + 'static,

source§

impl TypeInfo for NonZeroU128

source§

impl TypeInfo for bool

source§

impl<T, O> TypeInfo for BitVec<T, O>where T: BitStore + TypeInfo + 'static, O: BitOrder + TypeInfo + 'static,

§

type Identity = BitVec<T, O>

source§

fn type_info() -> Type<MetaForm>

source§

impl TypeInfo for char

source§

impl<A, B, C, D, E, F, G, H> TypeInfo for (A, B, C, D, E, F, G, H)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static,

source§

impl TypeInfo for i64

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static,

source§

impl TypeInfo for str

source§

impl<T> TypeInfo for BTreeSet<T, Global>where T: TypeInfo + 'static,

source§

impl<A> TypeInfo for (A,)where A: TypeInfo + 'static,

source§

impl<Idx> TypeInfo for RangeInclusive<Idx>where Idx: TypeInfo + 'static + PartialOrd<Idx> + Debug,

source§

impl<T> TypeInfo for Arc<T, Global>where T: TypeInfo + 'static + ?Sized,

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static,

source§

impl<T> TypeInfo for Rc<T, Global>where T: TypeInfo + 'static + ?Sized,

source§

impl<A, B> TypeInfo for (A, B)where A: TypeInfo + 'static, B: TypeInfo + 'static,

source§

impl TypeInfo for NonZeroI8

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static, P: TypeInfo + 'static, Q: TypeInfo + 'static, R: TypeInfo + 'static,

source§

impl<T> TypeInfo for VecDeque<T, Global>where T: TypeInfo + 'static,

source§

impl<T> TypeInfo for &Twhere T: TypeInfo + 'static + ?Sized,

source§

impl<T, E> TypeInfo for Result<T, E>where T: TypeInfo + 'static, E: TypeInfo + 'static,

source§

impl TypeInfo for u32

source§

impl TypeInfo for i32

source§

impl TypeInfo for NonZeroU16

source§

impl<T> TypeInfo for Box<T, Global>where T: TypeInfo + 'static + ?Sized,

source§

impl TypeInfo for NonZeroU8

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static, P: TypeInfo + 'static, Q: TypeInfo + 'static, R: TypeInfo + 'static, S: TypeInfo + 'static,

source§

impl TypeInfo for Duration

source§

impl<K, V> TypeInfo for BTreeMap<K, V, Global>where K: TypeInfo + 'static, V: TypeInfo + 'static,

source§

impl TypeInfo for u64

source§

impl TypeInfo for u8

source§

impl<T> TypeInfo for Compact<T>where T: TypeInfo + 'static,

§

type Identity = Compact<T>

source§

fn type_info() -> Type<MetaForm>

source§

impl<T> TypeInfo for Cow<'static, T>where T: ToOwned + TypeInfo + 'static + ?Sized,

§

type Identity = Cow<'static, T>

source§

fn type_info() -> Type<MetaForm>

source§

impl TypeInfo for Lsb0

source§

impl TypeInfo for NonZeroI32

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static, P: TypeInfo + 'static, Q: TypeInfo + 'static, R: TypeInfo + 'static, S: TypeInfo + 'static, T: TypeInfo + 'static,

source§

impl TypeInfo for NonZeroI64

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static,

source§

impl TypeInfo for ()

source§

impl<A, B, C, D, E> TypeInfo for (A, B, C, D, E)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static,

source§

impl TypeInfo for NonZeroI16

source§

impl<T> TypeInfo for PhantomData<T>

source§

impl TypeInfo for NonZeroU64

source§

impl<A, B, C> TypeInfo for (A, B, C)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static,

source§

impl TypeInfo for NonZeroU32

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static, P: TypeInfo + 'static, Q: TypeInfo + 'static,

source§

impl TypeInfo for u128

source§

impl TypeInfo for i8

source§

impl TypeInfo for i128

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static,

source§

impl<A, B, C, D, E, F, G, H, I, J, K> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static,

source§

impl<T> TypeInfo for &mut Twhere T: TypeInfo + 'static + ?Sized,

Implementors§