Trait scale_info::TypeInfo

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

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

Implementors return their meta type information.

Required Associated Types§

source

type Identity: ?Sized + 'static

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

Returns the static type identifier for Self.

Implementations on Foreign Types§

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<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<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 i16

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 TypeInfo for u16

source§

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

source§

impl TypeInfo for i128

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 TypeInfo for i64

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, 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<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 TypeInfo for char

source§

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

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<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<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<T> TypeInfo for [T]where T: TypeInfo + 'static,

source§

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

source§

impl TypeInfo for u128

source§

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

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<T, E> TypeInfo for Result<T, E>where T: TypeInfo + 'static, E: TypeInfo + 'static,

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 bool

source§

impl TypeInfo for u64

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 str

source§

impl TypeInfo for i32

source§

impl TypeInfo for i8

source§

impl TypeInfo for ()

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> TypeInfo for (A, B, C)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static,

source§

impl TypeInfo for u8

source§

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

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 u32

source§

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

source§

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

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,

Implementors§

source§

impl TypeInfo for NonZeroI8

source§

impl TypeInfo for NonZeroI16

source§

impl TypeInfo for NonZeroI32

source§

impl TypeInfo for NonZeroI64

source§

impl TypeInfo for NonZeroI128

source§

impl TypeInfo for NonZeroU8

source§

impl TypeInfo for NonZeroU16

source§

impl TypeInfo for NonZeroU32

source§

impl TypeInfo for NonZeroU64

source§

impl TypeInfo for NonZeroU128

source§

impl TypeInfo for String

source§

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

§

type Identity = Range<Idx>

source§

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

source§

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

§

type Identity = BTreeMap<K, V, Global>

source§

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

§

type Identity = Cow<'static, T>

source§

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

§

type Identity = T

source§

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

source§

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

source§

impl<T> TypeInfo for PhantomData<T>

source§

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