Trait frame_support::dispatch::TypeInfo
source · 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§
sourcetype Identity: 'static + ?Sized
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§
Implementations on Foreign Types§
source§impl TypeInfo for NonZeroI16
impl TypeInfo for NonZeroI16
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,
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> 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,
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, 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,
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 NonZeroI128
impl TypeInfo for NonZeroI128
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,
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 TypeInfo for NonZeroU32
impl TypeInfo for NonZeroU32
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,
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, 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,
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 NonZeroI32
impl TypeInfo for NonZeroI32
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,
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<A, B, C> TypeInfo for (A, B, C)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
impl<A, B, C> TypeInfo for (A, B, C)where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static,
source§impl<T, O> TypeInfo for BitVec<T, O>where
T: BitStore + TypeInfo + 'static,
O: BitOrder + TypeInfo + 'static,
impl<T, O> TypeInfo for BitVec<T, O>where T: BitStore + TypeInfo + 'static, O: BitOrder + 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,
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, 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,
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<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,
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<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,
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 TypeInfo for NonZeroU16
impl TypeInfo for NonZeroU16
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,
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<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,
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> TypeInfo for (A, B, C, D, E)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
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 NonZeroU128
impl TypeInfo for NonZeroU128
source§impl<K, V> TypeInfo for BTreeMap<K, V, Global>where
K: TypeInfo + 'static,
V: TypeInfo + 'static,
impl<K, V> TypeInfo for BTreeMap<K, V, Global>where K: TypeInfo + 'static, V: TypeInfo + 'static,
source§impl<Idx> TypeInfo for RangeInclusive<Idx>where
Idx: TypeInfo + 'static + PartialOrd<Idx> + Debug,
impl<Idx> TypeInfo for RangeInclusive<Idx>where Idx: TypeInfo + 'static + PartialOrd<Idx> + Debug,
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,
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 NonZeroU64
impl TypeInfo for NonZeroU64
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,
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, 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,
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
impl TypeInfo for NonZeroI64
source§impl TypeInfo for AccountId32
impl TypeInfo for AccountId32
source§impl TypeInfo for OpaqueNetworkState
impl TypeInfo for OpaqueNetworkState
source§impl TypeInfo for OpaquePeerId
impl TypeInfo for OpaquePeerId
source§impl TypeInfo for OpaqueMultiaddr
impl TypeInfo for OpaqueMultiaddr
source§impl TypeInfo for StorageProof
impl TypeInfo for StorageProof
source§impl TypeInfo for CompactProof
impl TypeInfo for CompactProof
source§impl TypeInfo for TransactionalError
impl TypeInfo for TransactionalError
source§impl TypeInfo for ModuleError
impl TypeInfo for ModuleError
source§impl TypeInfo for MultiSigner
impl TypeInfo for MultiSigner
source§impl TypeInfo for DispatchError
impl TypeInfo for DispatchError
source§impl TypeInfo for OpaqueExtrinsic
impl TypeInfo for OpaqueExtrinsic
source§impl<Info> TypeInfo for DispatchErrorWithPostInfo<Info>where
Info: Eq + PartialEq<Info> + Clone + Copy + Encode + Decode + Printable + TypeInfo + 'static,
impl<Info> TypeInfo for DispatchErrorWithPostInfo<Info>where Info: Eq + PartialEq<Info> + Clone + Copy + Encode + Decode + Printable + TypeInfo + 'static,
source§impl<Address, Call, Signature, Extra> TypeInfo for UncheckedExtrinsic<Address, Call, Signature, Extra>where
Address: StaticTypeInfo,
Call: StaticTypeInfo,
Signature: StaticTypeInfo,
Extra: SignedExtension + StaticTypeInfo,
impl<Address, Call, Signature, Extra> TypeInfo for UncheckedExtrinsic<Address, Call, Signature, Extra>where Address: StaticTypeInfo, Call: StaticTypeInfo, Signature: StaticTypeInfo, Extra: SignedExtension + StaticTypeInfo,
Manual TypeInfo
implementation because of custom encoding. The data is a valid encoded
Vec<u8>
, but requires some logic to extract the signature and payload.
See UncheckedExtrinsic::encode
and UncheckedExtrinsic::decode
.