Trait frame_support::dispatch::TypeInfo
source · pub trait TypeInfo {
type Identity: 'static + ?Sized;
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<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 TypeInfo for NonZeroU32
impl TypeInfo for NonZeroU32
source§impl TypeInfo for NonZeroU128
impl TypeInfo for NonZeroU128
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<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, 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<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<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<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, 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 NonZeroU64
impl TypeInfo for NonZeroU64
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<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 TypeInfo for NonZeroI64
impl TypeInfo for NonZeroI64
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<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 NonZeroI16
impl TypeInfo for NonZeroI16
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, 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> 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 TypeInfo for NonZeroU16
impl TypeInfo for NonZeroU16
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 TypeInfo for NonZeroI32
impl TypeInfo for NonZeroI32
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 TypeInfo for NonZeroI128
impl TypeInfo for NonZeroI128
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, 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> 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 OpaqueMetadata
impl TypeInfo for OpaqueMetadata
source§impl TypeInfo for OpaqueNetworkState
impl TypeInfo for OpaqueNetworkState
source§impl TypeInfo for OpaqueMultiaddr
impl TypeInfo for OpaqueMultiaddr
source§impl TypeInfo for AccountId32
impl TypeInfo for AccountId32
source§impl TypeInfo for OpaquePeerId
impl TypeInfo for OpaquePeerId
source§impl TypeInfo for BlakeTwo256
impl TypeInfo for BlakeTwo256
source§impl TypeInfo for OpaqueExtrinsic
impl TypeInfo for OpaqueExtrinsic
source§impl TypeInfo for PiecewiseLinear<'static>
impl TypeInfo for PiecewiseLinear<'static>
source§impl TypeInfo for MultiSigner
impl TypeInfo for MultiSigner
source§impl TypeInfo for ModuleError
impl TypeInfo for ModuleError
source§impl TypeInfo for DigestItem
impl TypeInfo for DigestItem
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<Number, Hash> TypeInfo for Header<Number, Hash>where
Number: Copy + Into<U256> + TryFrom<U256> + HasCompact + TypeInfo + 'static,
Hash: Hash + TypeInfo + 'static,
<Hash as Hash>::Output: TypeInfo + 'static,
impl<Number, Hash> TypeInfo for Header<Number, Hash>where
Number: Copy + Into<U256> + TryFrom<U256> + HasCompact + TypeInfo + 'static,
Hash: Hash + TypeInfo + 'static,
<Hash as Hash>::Output: 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
.