Trait parity_scale_codec::EncodeLike

source ·
pub trait EncodeLike<T: Encode = Self>: Sized + Encode { }
Expand description

A marker trait that tells the compiler that a type encode to the same representation as another type.

E.g. Vec<u8> has the same encoded representation as &[u8].

§Example

fn encode_like<T: Encode, R: EncodeLike<T>>(data: &R) {
    data.encode(); // Valid `T` encoded value.
}

fn main() {
    // Just pass the a reference to the normal tuple.
    encode_like::<(u32, u32), _>(&(1u32, 2u32));
    // Pass a tuple of references
    encode_like::<(u32, u32), _>(&(&1u32, &2u32));
    // Pass a tuple of a reference and a value.
    encode_like::<(u32, u32), _>(&(&1u32, 2u32));
}

§Warning

The relation is not symetric, T implements EncodeLike<U> does not mean U has same representation as T. For instance we could imaging a non zero integer to be encoded to the same representation as the said integer but not the other way around.

§Limitation

Not all possible implementations of EncodeLike are implemented (for instance Box<Box<u32>> does not implement EncodeLike<u32>). To bypass this issue either open a PR to add the new combination or use Ref reference wrapper or define your own wrapper and implement EncodeLike on it as such:

fn encode_like<T: Encode, R: EncodeLike<T>>(data: &R) {
    data.encode(); // Valid `T` encoded value.
}

struct MyWrapper<'a>(&'a (Box<Box<u32>>, u32));
impl<'a> core::ops::Deref for MyWrapper<'a> { // Or use derive_deref crate
    type Target = (Box<Box<u32>>, u32);
    fn deref(&self) -> &Self::Target { &self.0 }
}

impl<'a> parity_scale_codec::WrapperTypeEncode for MyWrapper<'a> {}
impl<'a> parity_scale_codec::EncodeLike<(u32, u32)> for MyWrapper<'a> {}

fn main() {
    let v = (Box::new(Box::new(0)), 0);
    encode_like::<(u32, u32), _>(&MyWrapper(&v));
}

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl EncodeLike for bool

source§

impl EncodeLike for f32

source§

impl EncodeLike for f64

source§

impl EncodeLike for i8

source§

impl EncodeLike for i16

source§

impl EncodeLike for i32

source§

impl EncodeLike for i64

source§

impl EncodeLike for i128

source§

impl EncodeLike for u8

source§

impl EncodeLike for u16

source§

impl EncodeLike for u32

source§

impl EncodeLike for u64

source§

impl EncodeLike for u128

source§

impl EncodeLike for ()

source§

impl EncodeLike for Bytes

source§

impl EncodeLike for String

source§

impl EncodeLike for Duration

source§

impl EncodeLike for NonZeroI8

source§

impl EncodeLike for NonZeroI16

source§

impl EncodeLike for NonZeroI32

source§

impl EncodeLike for NonZeroI64

source§

impl EncodeLike for NonZeroI128

source§

impl EncodeLike for NonZeroU8

source§

impl EncodeLike for NonZeroU16

source§

impl EncodeLike for NonZeroU32

source§

impl EncodeLike for NonZeroU64

source§

impl EncodeLike for NonZeroU128

source§

impl EncodeLike<&str> for String

source§

impl EncodeLike<&[u8]> for Bytes

source§

impl EncodeLike<Bytes> for &[u8]

source§

impl EncodeLike<Bytes> for Vec<u8>

source§

impl EncodeLike<String> for &str

source§

impl EncodeLike<Vec<u8>> for Bytes

source§

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

source§

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

source§

impl<A0: EncodeLike<A1>, A1: Encode, B0: EncodeLike<B1>, B1: Encode, C0: EncodeLike<C1>, C1: Encode, D0: EncodeLike<D1>, D1: Encode, E0: EncodeLike<E1>, E1: Encode, F0: EncodeLike<F1>, F1: Encode, G0: EncodeLike<G1>, G1: Encode, H0: EncodeLike<H1>, H1: Encode, I0: EncodeLike<I1>, I1: Encode, J0: EncodeLike<J1>, J1: Encode, K0: EncodeLike<K1>, K1: Encode, L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)

source§

impl<B0: EncodeLike<B1>, B1: Encode, C0: EncodeLike<C1>, C1: Encode, D0: EncodeLike<D1>, D1: Encode, E0: EncodeLike<E1>, E1: Encode, F0: EncodeLike<F1>, F1: Encode, G0: EncodeLike<G1>, G1: Encode, H0: EncodeLike<H1>, H1: Encode, I0: EncodeLike<I1>, I1: Encode, J0: EncodeLike<J1>, J1: Encode, K0: EncodeLike<K1>, K1: Encode, L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)

source§

impl<C0: EncodeLike<C1>, C1: Encode, D0: EncodeLike<D1>, D1: Encode, E0: EncodeLike<E1>, E1: Encode, F0: EncodeLike<F1>, F1: Encode, G0: EncodeLike<G1>, G1: Encode, H0: EncodeLike<H1>, H1: Encode, I0: EncodeLike<I1>, I1: Encode, J0: EncodeLike<J1>, J1: Encode, K0: EncodeLike<K1>, K1: Encode, L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)

source§

impl<D0: EncodeLike<D1>, D1: Encode, E0: EncodeLike<E1>, E1: Encode, F0: EncodeLike<F1>, F1: Encode, G0: EncodeLike<G1>, G1: Encode, H0: EncodeLike<H1>, H1: Encode, I0: EncodeLike<I1>, I1: Encode, J0: EncodeLike<J1>, J1: Encode, K0: EncodeLike<K1>, K1: Encode, L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)

source§

impl<E0: EncodeLike<E1>, E1: Encode, F0: EncodeLike<F1>, F1: Encode, G0: EncodeLike<G1>, G1: Encode, H0: EncodeLike<H1>, H1: Encode, I0: EncodeLike<I1>, I1: Encode, J0: EncodeLike<J1>, J1: Encode, K0: EncodeLike<K1>, K1: Encode, L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)

source§

impl<F0: EncodeLike<F1>, F1: Encode, G0: EncodeLike<G1>, G1: Encode, H0: EncodeLike<H1>, H1: Encode, I0: EncodeLike<I1>, I1: Encode, J0: EncodeLike<J1>, J1: Encode, K0: EncodeLike<K1>, K1: Encode, L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)

source§

impl<G0: EncodeLike<G1>, G1: Encode, H0: EncodeLike<H1>, H1: Encode, I0: EncodeLike<I1>, I1: Encode, J0: EncodeLike<J1>, J1: Encode, K0: EncodeLike<K1>, K1: Encode, L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)

source§

impl<H0: EncodeLike<H1>, H1: Encode, I0: EncodeLike<I1>, I1: Encode, J0: EncodeLike<J1>, J1: Encode, K0: EncodeLike<K1>, K1: Encode, L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)

source§

impl<I0: EncodeLike<I1>, I1: Encode, J0: EncodeLike<J1>, J1: Encode, K0: EncodeLike<K1>, K1: Encode, L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)

source§

impl<J0: EncodeLike<J1>, J1: Encode, K0: EncodeLike<K1>, K1: Encode, L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (J0, K0, L0, M0, N0, O0, P0, Q0, R0)

source§

impl<K0: EncodeLike<K1>, K1: Encode, L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(K1, L1, M1, N1, O1, P1, Q1, R1)> for (K0, L0, M0, N0, O0, P0, Q0, R0)

source§

impl<K: EncodeLike<LikeK>, LikeK: Encode, V: EncodeLike<LikeV>, LikeV: Encode> EncodeLike<&[(LikeK, LikeV)]> for BTreeMap<K, V>

source§

impl<K: EncodeLike<LikeK>, LikeK: Encode, V: EncodeLike<LikeV>, LikeV: Encode> EncodeLike<BTreeMap<LikeK, LikeV>> for &[(K, V)]

source§

impl<K: EncodeLike<LikeK>, LikeK: Encode, V: EncodeLike<LikeV>, LikeV: Encode> EncodeLike<BTreeMap<LikeK, LikeV>> for BTreeMap<K, V>

source§

impl<L0: EncodeLike<L1>, L1: Encode, M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(L1, M1, N1, O1, P1, Q1, R1)> for (L0, M0, N0, O0, P0, Q0, R0)

source§

impl<M0: EncodeLike<M1>, M1: Encode, N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(M1, N1, O1, P1, Q1, R1)> for (M0, N0, O0, P0, Q0, R0)

source§

impl<N0: EncodeLike<N1>, N1: Encode, O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(N1, O1, P1, Q1, R1)> for (N0, O0, P0, Q0, R0)

source§

impl<O0: EncodeLike<O1>, O1: Encode, P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(O1, P1, Q1, R1)> for (O0, P0, Q0, R0)

source§

impl<O: BitOrder, T: BitStore + Encode> EncodeLike for BitBox<T, O>

source§

impl<O: BitOrder, T: BitStore + Encode> EncodeLike for BitVec<T, O>

source§

impl<P0: EncodeLike<P1>, P1: Encode, Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(P1, Q1, R1)> for (P0, Q0, R0)

source§

impl<Q0: EncodeLike<Q1>, Q1: Encode, R0: EncodeLike<R1>, R1: Encode> EncodeLike<(Q1, R1)> for (Q0, R0)

source§

impl<R0: EncodeLike<R1>, R1: Encode> EncodeLike<(R1,)> for (R0,)

source§

impl<T> EncodeLike for PhantomData<T>

source§

impl<T, LikeT, E, LikeE> EncodeLike<Result<LikeT, LikeE>> for Result<T, E>
where T: EncodeLike<LikeT>, LikeT: Encode, E: EncodeLike<LikeE>, LikeE: Encode,

source§

impl<T: Encode> EncodeLike for VecDeque<T>

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<T: EncodeLike<LikeT>, LikeT: Encode> EncodeLike<&[(LikeT,)]> for BinaryHeap<T>

source§

impl<T: EncodeLike<LikeT>, LikeT: Encode> EncodeLike<&[(LikeT,)]> for BTreeSet<T>

source§

impl<T: EncodeLike<LikeT>, LikeT: Encode> EncodeLike<&[(LikeT,)]> for LinkedList<T>

source§

impl<T: EncodeLike<LikeT>, LikeT: Encode> EncodeLike<BinaryHeap<LikeT>> for &[(T,)]

source§

impl<T: EncodeLike<LikeT>, LikeT: Encode> EncodeLike<BinaryHeap<LikeT>> for BinaryHeap<T>

source§

impl<T: EncodeLike<LikeT>, LikeT: Encode> EncodeLike<BTreeSet<LikeT>> for &[(T,)]

source§

impl<T: EncodeLike<LikeT>, LikeT: Encode> EncodeLike<BTreeSet<LikeT>> for BTreeSet<T>

source§

impl<T: EncodeLike<LikeT>, LikeT: Encode> EncodeLike<LinkedList<LikeT>> for &[(T,)]

source§

impl<T: EncodeLike<LikeT>, LikeT: Encode> EncodeLike<LinkedList<LikeT>> for LinkedList<T>

source§

impl<T: EncodeLike<U>, U: Encode> EncodeLike<&[U]> for VecDeque<T>

source§

impl<T: EncodeLike<U>, U: Encode> EncodeLike<&[U]> for Vec<T>

source§

impl<T: EncodeLike<U>, U: Encode> EncodeLike<Option<U>> for Option<T>

source§

impl<T: EncodeLike<U>, U: Encode> EncodeLike<VecDeque<U>> for &[T]

source§

impl<T: EncodeLike<U>, U: Encode> EncodeLike<VecDeque<U>> for Vec<T>

source§

impl<T: EncodeLike<U>, U: Encode> EncodeLike<Vec<U>> for &[T]

source§

impl<T: EncodeLike<U>, U: Encode> EncodeLike<Vec<U>> for VecDeque<T>

source§

impl<T: EncodeLike<U>, U: Encode> EncodeLike<Vec<U>> for Vec<T>

source§

impl<T: EncodeLike<U>, U: Encode, const N: usize> EncodeLike<[U; N]> for [T; N]

source§

impl<T: ?Sized + Encode> EncodeLike for &T

source§

impl<T: ?Sized + Encode> EncodeLike for &mut T

source§

impl<T: ?Sized + Encode> EncodeLike for Box<T>

source§

impl<T: ?Sized + Encode> EncodeLike for Rc<T>

source§

impl<T: ?Sized + Encode> EncodeLike for Arc<T>

Implementors§

source§

impl EncodeLike for OptionBool

source§

impl<'a, T> EncodeLike for CompactRef<'a, T>
where T: CompactAs, for<'b> CompactRef<'b, T::As>: Encode,

source§

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

source§

impl<'a, T: EncodeLike<U>, U: Encode> EncodeLike<U> for &Ref<'a, T, U>

source§

impl<'a, T: EncodeLike<U>, U: Encode> EncodeLike<U> for Ref<'a, T, U>

source§

impl<T> EncodeLike for Compact<T>
where for<'a> CompactRef<'a, T>: Encode,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

impl<H, L> EncodeLike for MerkleProof<H, L>
where H: Encode, Vec<H>: Encode, L: Encode,

impl<'a, T, S> EncodeLike for BoundedSlice<'a, T, S>
where T: Encode, &'a [T]: Encode, PhantomData<S>: Encode,

impl<'a, T: Encode + Decode, S: Get<u32>> EncodeLike<BoundedVec<T, S>> for BoundedSlice<'a, T, S>

impl<'a, T: Encode + Decode, S: Get<u32>> EncodeLike<WeakBoundedVec<T, S>> for BoundedSlice<'a, T, S>

impl<'a, T: Encode + Decode, S: Get<u32>> EncodeLike<Vec<T>> for BoundedSlice<'a, T, S>

impl<K, V, S> EncodeLike for BoundedBTreeMap<K, V, S>
where BTreeMap<K, V>: Encode, PhantomData<S>: Encode,

impl<K, V, S> EncodeLike<BTreeMap<K, V>> for BoundedBTreeMap<K, V, S>
where BTreeMap<K, V>: Encode,

impl<T, S> EncodeLike for BoundedBTreeSet<T, S>

impl<T, S> EncodeLike for BoundedVec<T, S>
where Vec<T>: Encode, PhantomData<S>: Encode,

impl<T, S> EncodeLike for WeakBoundedVec<T, S>
where Vec<T>: Encode, PhantomData<S>: Encode,

impl<T, S> EncodeLike<BTreeSet<T>> for BoundedBTreeSet<T, S>
where BTreeSet<T>: Encode,

impl<T: Encode + Decode, S: Get<u32>> EncodeLike<Vec<T>> for BoundedVec<T, S>

impl<H, N> EncodeLike for Message<H, N>
where Prevote<H, N>: Encode, Precommit<H, N>: Encode, PrimaryPropose<H, N>: Encode,

impl<H, N> EncodeLike for State<H, N>

impl<H, N> EncodeLike for Precommit<H, N>
where H: Encode, N: Encode,

impl<H, N> EncodeLike for Prevote<H, N>
where H: Encode, N: Encode,

impl<H, N> EncodeLike for PrimaryPropose<H, N>
where H: Encode, N: Encode,

impl<H, N, S, Id> EncodeLike for CatchUp<H, N, S, Id>
where Vec<SignedPrevote<H, N, S, Id>>: Encode, Vec<SignedPrecommit<H, N, S, Id>>: Encode, H: Encode, N: Encode,

impl<H, N, S, Id> EncodeLike for Commit<H, N, S, Id>
where H: Encode, N: Encode, Vec<SignedPrecommit<H, N, S, Id>>: Encode,

impl<H, N, S, Id> EncodeLike for CompactCommit<H, N, S, Id>
where H: Encode, N: Encode, Vec<Precommit<H, N>>: Encode, MultiAuthData<S, Id>: Encode,

impl<H, N, S, Id> EncodeLike for HistoricalVotes<H, N, S, Id>
where Vec<SignedMessage<H, N, S, Id>>: Encode,

impl<H, N, S, Id> EncodeLike for SignedMessage<H, N, S, Id>
where Message<H, N>: Encode, S: Encode, Id: Encode,

impl<H, N, S, Id> EncodeLike for SignedPrecommit<H, N, S, Id>
where Precommit<H, N>: Encode, S: Encode, Id: Encode,

impl<H, N, S, Id> EncodeLike for SignedPrevote<H, N, S, Id>
where Prevote<H, N>: Encode, S: Encode, Id: Encode,

impl<Id, V, S> EncodeLike for Equivocation<Id, V, S>
where Id: Encode, V: Encode, S: Encode, (V, S): Encode,

impl<H, N, V> EncodeLike for ForkTree<H, N, V>
where Vec<Node<H, N, V>>: Encode, Option<N>: Encode,

impl<T: Form> EncodeLike for StorageEntryType<T>
where T::Type: Encode,

impl<T: Form> EncodeLike for PalletCallMetadata<T>
where T::Type: Encode,

impl<T: Form> EncodeLike for PalletErrorMetadata<T>
where T::Type: Encode,

impl<T: Form> EncodeLike for PalletEventMetadata<T>
where T::Type: Encode,

impl<T: Form> EncodeLike for CustomValueMetadata<T>
where T::Type: Encode,

impl<T: Form> EncodeLike for OuterEnums<T>
where T::Type: Encode,

impl EncodeLike for Pays

impl EncodeLike for Never

impl<A, F, R, D, Fp> EncodeLike for FreezeConsideration<A, F, R, D, Fp>

impl<A, F, R, D, Fp> EncodeLike for HoldConsideration<A, F, R, D, Fp>

impl<A, Fx, Rx, D, Fp> EncodeLike for LoneFreezeConsideration<A, Fx, Rx, D, Fp>

impl<A, Fx, Rx, D, Fp> EncodeLike for LoneHoldConsideration<A, Fx, Rx, D, Fp>

impl<AccountId> EncodeLike for RawOrigin<AccountId>
where AccountId: Encode,

impl<AssetId> EncodeLike for NativeOrWithId<AssetId>
where AssetId: Ord + Encode,

impl<BlockNumber> EncodeLike for DispatchTime<BlockNumber>
where BlockNumber: Encode,

impl<Id, Balance> EncodeLike for IdAmount<Id, Balance>
where Id: Encode, Balance: Encode,

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

impl<T, H: Hash> EncodeLike for Bounded<T, H>

impl<T, Hash> EncodeLike for MaybeHashed<T, Hash>
where T: Encode, Hash: Encode,

impl<const N: usize> EncodeLike for MigrationId<N>

impl EncodeLike for Phase

impl<E, T> EncodeLike for EventRecord<E, T>
where E: Encode + Parameter + Member, Vec<T>: Encode,

impl<Nonce, AccountData> EncodeLike for AccountInfo<Nonce, AccountData>
where Nonce: Encode, AccountData: Encode,

impl<T> EncodeLike for Error<T>

impl<T: Config + Send + Sync> EncodeLike for CheckGenesis<T>
where PhantomData<T>: Encode,

impl<T: Config + Send + Sync> EncodeLike for CheckWeight<T>
where PhantomData<T>: Encode,

impl<T: Config> EncodeLike for Call<T>

impl<T: Config> EncodeLike for Event<T>
where T::AccountId: Encode, T::Hash: Encode,

impl<T: Config> EncodeLike for CheckNonce<T>
where T::Nonce: HasCompact,

impl<BlockNumber> EncodeLike for InboundDownwardMessage<BlockNumber>
where BlockNumber: Encode,

impl<BlockNumber> EncodeLike for InboundHrmpMessage<BlockNumber>
where BlockNumber: Encode,

impl<Id> EncodeLike for OutboundHrmpMessage<Id>
where Id: Encode,

impl EncodeLike for View

impl EncodeLike for PoV

impl<BlockNumber> EncodeLike for Collation<BlockNumber>
where BlockNumber: Encode,

impl<T> EncodeLike for Bitfield<T>
where PhantomData<T>: Encode,

impl EncodeLike for Id

impl<BlockNumber> EncodeLike for SchedulerParams<BlockNumber>
where BlockNumber: Encode,

impl<H> EncodeLike for CandidateDescriptor<H>
where H: Encode,

impl<H> EncodeLike for SigningContext<H>
where H: Encode,

impl<H> EncodeLike for CandidateDescriptorV2<H>
where H: Encode,

impl<H, N> EncodeLike for CoreState<H, N>
where OccupiedCore<H, N>: Encode,

impl<H, N> EncodeLike for CoreState<H, N>
where OccupiedCore<H, N>: Encode,

impl<H, N> EncodeLike for OccupiedCore<H, N>

impl<H, N> EncodeLike for PersistedValidationData<H, N>
where N: Encode, H: Encode,

impl<H, N> EncodeLike for OccupiedCore<H, N>

impl<HDR> EncodeLike for InherentData<HDR>
where Vec<BackedCandidate<HDR::Hash>>: Encode, HDR: Encode + HeaderT,

impl<HDR> EncodeLike for InherentData<HDR>
where Vec<BackedCandidate<HDR::Hash>>: Encode, HDR: Encode + HeaderT,

impl<K, V> EncodeLike for IndexedVec<K, V>
where Vec<V>: Encode, PhantomData<fn(_: K) -> K>: Encode,

impl<N> EncodeLike for InboundHrmpLimitations<N>
where Vec<N>: Encode,

impl<N> EncodeLike for CandidateCommitments<N>
where N: Encode,

impl<N> EncodeLike for DisputeState<N>
where N: Encode, Option<N>: Encode,

impl<N> EncodeLike for GroupRotationInfo<N>
where N: Encode,

impl<Payload, RealPayload> EncodeLike for UncheckedSigned<Payload, RealPayload>
where Payload: Encode, PhantomData<RealPayload>: Encode,

impl<Candidate, Digest> EncodeLike for Statement<Candidate, Digest>
where Candidate: Encode, Digest: Encode,

impl<Candidate, Digest, AuthorityId, Signature> EncodeLike for SignedStatement<Candidate, Digest, AuthorityId, Signature>
where Statement<Candidate, Digest>: Encode, Signature: Encode, AuthorityId: Encode,

impl<Group, Candidate, AuthorityId, Signature> EncodeLike for AttestedCandidate<Group, Candidate, AuthorityId, Signature>
where Group: Encode, Candidate: Encode, Vec<(AuthorityId, ValidityAttestation<Signature>)>: Encode,

impl<Signature> EncodeLike for ValidityAttestation<Signature>
where Signature: Encode,

impl EncodeLike for H128

impl EncodeLike for H160

impl EncodeLike for H256

impl EncodeLike for H384

impl EncodeLike for H512

impl EncodeLike for H768

impl EncodeLike for U128

impl EncodeLike for U256

impl EncodeLike for U512

impl EncodeLike for Roles

impl<Hash, Number> EncodeLike for FromBlock<Hash, Number>
where Hash: Encode, Number: Encode,

impl<Hash, Number> EncodeLike for BlockRequest<Hash, Number>
where FromBlock<Hash, Number>: Encode,

impl<Header, Hash, Extrinsic> EncodeLike for BlockData<Header, Hash, Extrinsic>
where Hash: Encode, Option<Header>: Encode, Option<Vec<Extrinsic>>: Encode,

impl<Header, Hash, Extrinsic> EncodeLike for BlockResponse<Header, Hash, Extrinsic>
where Vec<BlockData<Header, Hash, Extrinsic>>: Encode,

impl<B: BlockT> EncodeLike for WarpProofRequest<B>
where B::Hash: Encode,

impl<T> EncodeLike for UntrackedSymbol<T>
where PhantomData<fn() -> T>: Encode,

impl<T: Form> EncodeLike for Field<T>
where Option<T::String>: Encode, T::Type: Encode, Vec<T::String>: Encode,

impl<T: Form> EncodeLike for Path<T>
where Vec<T::String>: Encode,

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

impl<T: Form> EncodeLike for TypeDefArray<T>
where T::Type: Encode,

impl<T: Form> EncodeLike for TypeDefBitSequence<T>
where T::Type: Encode,

impl<T: Form> EncodeLike for TypeDefCompact<T>
where T::Type: Encode,

impl<T: Form> EncodeLike for TypeDefComposite<T>
where Vec<Field<T>>: Encode,

impl<T: Form> EncodeLike for TypeDefSequence<T>
where T::Type: Encode,

impl<T: Form> EncodeLike for TypeDefTuple<T>
where Vec<T::Type>: Encode,

impl<T: Form> EncodeLike for TypeDefVariant<T>
where Vec<Variant<T>>: Encode,

impl<T: Form> EncodeLike for TypeParameter<T>
where T::String: Encode, Option<T::Type>: Encode,

impl<T: Form> EncodeLike for Variant<T>
where T::String: Encode, Vec<Field<T>>: Encode, Vec<T::String>: Encode,

impl<N> EncodeLike for BlockGap<N>
where N: Encode,

impl<AuthorityId: Codec> EncodeLike for ConsensusLog<AuthorityId>
where Vec<AuthorityId>: Encode,

impl EncodeLike for Epoch

impl<H, N> EncodeLike for EquivocationProof<H, N>
where Equivocation<H, N>: Encode,

impl<Header: HeaderT> EncodeLike for GrandpaJustification<Header>
where Commit<Header>: Encode, Vec<Header>: Encode,

impl<N> EncodeLike for ConsensusLog<N>

impl<N> EncodeLike for ScheduledChange<N>
where N: Encode,

impl EncodeLike for Slot

impl<Header, Id> EncodeLike for EquivocationProof<Header, Id>
where Id: Encode, Header: Encode,

impl EncodeLike for Void

impl<const N: usize, T> EncodeLike for CryptoBytes<N, T>
where PhantomData<fn() -> T>: Encode,

impl<E> EncodeLike for MakeFatalError<E>
where E: Encode,

impl<T> EncodeLike for Crossing<T>
where T: Encode + Encode + Decode,

impl<T: Form> EncodeLike for StorageEntryTypeIR<T>
where T::Type: Encode,

impl<T: Form> EncodeLike for OuterEnumsIR<T>
where T::Type: Encode,

impl EncodeLike for Era

impl EncodeLike for Time

impl<'a> EncodeLike for DigestItemRef<'a>

impl<AccountId, AccountIndex> EncodeLike for MultiAddress<AccountId, AccountIndex>
where AccountId: Encode, AccountIndex: HasCompact,

impl<Address, Call, Signature, Extra> EncodeLike for UncheckedExtrinsic<Address, Call, Signature, Extra>
where Address: Encode, Signature: Encode, Call: Encode, Extra: SignedExtension,

impl<Block> EncodeLike for SignedBlock<Block>
where Block: Encode,

impl<Block: BlockT> EncodeLike for BlockId<Block>
where Block::Hash: Encode, NumberFor<Block>: Encode,

impl<Call, Extra> EncodeLike for SignedPayload<Call, Extra>
where Call: Encode, Extra: SignedExtension,

impl<Call, Extra> EncodeLike for TestXt<Call, Extra>
where Option<(u64, Extra)>: Encode, Call: Encode,

impl<Header, Extrinsic> EncodeLike for Block<Header, Extrinsic>
where Header: Encode, Vec<Extrinsic>: Encode,

impl<Info> EncodeLike for DispatchErrorWithPostInfo<Info>
where Info: Eq + PartialEq + Clone + Copy + Encode + Decode + Printable + Encode,

impl<Number, Hash: HashT> EncodeLike for Header<Number, Hash>
where Hash::Output: Encode, Number: HasCompact + Copy + Into<U256> + TryFrom<U256>,

impl<T, D: Get<T>> EncodeLike for TypeWithDefault<T, D>
where T: Encode, PhantomData<D>: Encode,

impl<Xt> EncodeLike for Block<Xt>
where Vec<Xt>: Encode,

impl<Xt> EncodeLike for ExtrinsicWrapper<Xt>
where Xt: Encode,

impl<AccountId, Balance> EncodeLike for Exposure<AccountId, Balance>
where Vec<IndividualExposure<AccountId, Balance>>: Encode, Balance: HasCompact + HasCompact,

impl<AccountId, Balance> EncodeLike for ExposurePage<AccountId, Balance>
where Vec<IndividualExposure<AccountId, Balance>>: Encode, Balance: HasCompact + HasCompact,

impl<AccountId, Balance> EncodeLike for IndividualExposure<AccountId, Balance>
where AccountId: Encode, Balance: HasCompact + HasCompact,

impl<Balance> EncodeLike for PagedExposureMetadata<Balance>
where Balance: HasCompact + HasCompact + MaxEncodedLen,

impl<Reporter, Offender> EncodeLike for OffenceDetails<Reporter, Offender>
where Offender: Encode, Vec<Reporter>: Encode,

impl EncodeLike for Field

impl EncodeLike for Proof

impl EncodeLike for Error

impl EncodeLike for Value

impl<Balance> EncodeLike for WeightToFeeCoefficient<Balance>
where Balance: Encode,

impl EncodeLike for Error

impl EncodeLike for Error

impl EncodeLike for Asset

impl<Call> EncodeLike for Instruction<Call>

impl<Call> EncodeLike for Instruction<Call>

impl<Call> EncodeLike for Xcm<Call>

impl<Call> EncodeLike for Xcm<Call>

impl<RuntimeCall> EncodeLike for VersionedXcm<RuntimeCall>

impl<RuntimeCall> EncodeLike for Instruction<RuntimeCall>

impl<RuntimeCall> EncodeLike for Xcm<RuntimeCall>

impl<T> EncodeLike for DoubleEncoded<T>