Trait frame_support::dispatch::EncodeLike[][src]

pub trait EncodeLike<T = Self>: Encode where
    T: Encode
{ }

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));
}

Implementations on Foreign Types

impl EncodeLike<WasmMetadata> for WasmMetadata[src]

impl EncodeLike<WasmFields> for WasmFields[src]

impl EncodeLike<WasmEntryAttributes> for WasmEntryAttributes[src]

impl EncodeLike<WasmFieldName> for WasmFieldName[src]

impl EncodeLike<WasmLevel> for WasmLevel[src]

impl EncodeLike<WasmValue> for WasmValue[src]

impl EncodeLike<WasmValuesSet> for WasmValuesSet[src]

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

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

impl<T> EncodeLike<T> for Arc<T> where
    T: Encode
[src]

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

impl<T, U> EncodeLike<Vec<U, Global>> for VecDeque<T> where
    T: EncodeLike<U>,
    U: Encode
[src]

impl<'_, T, U> EncodeLike<Vec<U, Global>> for &'_ [T] where
    T: EncodeLike<U>,
    U: Encode
[src]

impl<Q0, Q1, R0, R1> EncodeLike<(Q1, R1)> for (Q0, R0) where
    Q0: EncodeLike<Q1>,
    R0: EncodeLike<R1>,
    Q1: Encode,
    R1: Encode
[src]

impl<T, LikeT> EncodeLike<LinkedList<LikeT>> for LinkedList<T> where
    T: EncodeLike<LikeT>,
    LikeT: Encode
[src]

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

impl<T, U> EncodeLike<Option<U>> for Option<T> where
    T: EncodeLike<U>,
    U: Encode
[src]

impl EncodeLike<u32> for u32[src]

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

impl EncodeLike<Duration> for Duration[src]

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

impl<'_, T, U> EncodeLike<VecDeque<U>> for &'_ [T] where
    T: EncodeLike<U>,
    U: Encode
[src]

impl EncodeLike<i128> for i128[src]

impl<T> EncodeLike<Arc<T>> for Arc<T> where
    T: Encode + ?Sized
[src]

impl<G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> 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) where
    K1: Encode,
    I1: Encode,
    G1: Encode,
    G0: EncodeLike<G1>,
    H0: EncodeLike<H1>,
    I0: EncodeLike<I1>,
    J0: EncodeLike<J1>,
    K0: EncodeLike<K1>,
    L0: EncodeLike<L1>,
    M0: EncodeLike<M1>,
    N0: EncodeLike<N1>,
    O0: EncodeLike<O1>,
    P0: EncodeLike<P1>,
    Q0: EncodeLike<Q1>,
    R0: EncodeLike<R1>,
    H1: Encode,
    J1: Encode,
    L1: Encode,
    M1: Encode,
    N1: Encode,
    O1: Encode,
    P1: Encode,
    Q1: Encode,
    R1: Encode
[src]

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

impl<'a, T, U> EncodeLike<U> for Ref<'a, T, U> where
    T: EncodeLike<U>,
    U: Encode
[src]

impl<T, LikeT> EncodeLike<BTreeSet<LikeT>> for BTreeSet<T> where
    T: EncodeLike<LikeT>,
    LikeT: Encode
[src]

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

impl<D0, D1, E0, E1, F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> 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) where
    K1: Encode,
    I1: Encode,
    G1: Encode,
    G0: EncodeLike<G1>,
    D0: EncodeLike<D1>,
    E0: EncodeLike<E1>,
    F0: EncodeLike<F1>,
    H0: EncodeLike<H1>,
    I0: EncodeLike<I1>,
    J0: EncodeLike<J1>,
    K0: EncodeLike<K1>,
    L0: EncodeLike<L1>,
    M0: EncodeLike<M1>,
    N0: EncodeLike<N1>,
    O0: EncodeLike<O1>,
    P0: EncodeLike<P1>,
    Q0: EncodeLike<Q1>,
    R0: EncodeLike<R1>,
    D1: Encode,
    E1: Encode,
    F1: Encode,
    H1: Encode,
    J1: Encode,
    L1: Encode,
    M1: Encode,
    N1: Encode,
    O1: Encode,
    P1: Encode,
    Q1: Encode,
    R1: Encode
[src]

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

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

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

impl<T> EncodeLike<T> for Box<T, Global> where
    T: Encode
[src]

impl<'a, '_, T, U> EncodeLike<U> for &'_ Ref<'a, T, U> where
    T: EncodeLike<U>,
    U: Encode
[src]

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

impl EncodeLike<i64> for i64[src]

impl EncodeLike<u128> for u128[src]

impl<F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> 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) where
    K1: Encode,
    I1: Encode,
    G1: Encode,
    G0: EncodeLike<G1>,
    F0: EncodeLike<F1>,
    H0: EncodeLike<H1>,
    I0: EncodeLike<I1>,
    J0: EncodeLike<J1>,
    K0: EncodeLike<K1>,
    L0: EncodeLike<L1>,
    M0: EncodeLike<M1>,
    N0: EncodeLike<N1>,
    O0: EncodeLike<O1>,
    P0: EncodeLike<P1>,
    Q0: EncodeLike<Q1>,
    R0: EncodeLike<R1>,
    F1: Encode,
    H1: Encode,
    J1: Encode,
    L1: Encode,
    M1: Encode,
    N1: Encode,
    O1: Encode,
    P1: Encode,
    Q1: Encode,
    R1: Encode
[src]

impl<A0, A1, B0, B1, C0, C1, D0, D1, E0, E1, F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> 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) where
    K1: Encode,
    I1: Encode,
    B0: EncodeLike<B1>,
    B1: Encode,
    G1: Encode,
    G0: EncodeLike<G1>,
    A0: EncodeLike<A1>,
    C0: EncodeLike<C1>,
    D0: EncodeLike<D1>,
    E0: EncodeLike<E1>,
    F0: EncodeLike<F1>,
    H0: EncodeLike<H1>,
    I0: EncodeLike<I1>,
    J0: EncodeLike<J1>,
    K0: EncodeLike<K1>,
    L0: EncodeLike<L1>,
    M0: EncodeLike<M1>,
    N0: EncodeLike<N1>,
    O0: EncodeLike<O1>,
    P0: EncodeLike<P1>,
    Q0: EncodeLike<Q1>,
    R0: EncodeLike<R1>,
    A1: Encode,
    C1: Encode,
    D1: Encode,
    E1: Encode,
    F1: Encode,
    H1: Encode,
    J1: Encode,
    L1: Encode,
    M1: Encode,
    N1: Encode,
    O1: Encode,
    P1: Encode,
    Q1: Encode,
    R1: Encode
[src]

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

impl EncodeLike<bool> for bool[src]

impl<T> EncodeLike<T> for Rc<T> where
    T: Encode
[src]

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

impl<'_, T> EncodeLike<&'_ T> for &'_ T where
    T: Encode + ?Sized
[src]

impl<T> EncodeLike<Rc<T>> for Rc<T> where
    T: Encode + ?Sized
[src]

impl EncodeLike<u8> for u8[src]

impl EncodeLike<u16> for u16[src]

impl<T> EncodeLike<VecDeque<T>> for VecDeque<T> where
    T: Encode
[src]

impl<B0, B1, C0, C1, D0, D1, E0, E1, F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> 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) where
    K1: Encode,
    I1: Encode,
    B0: EncodeLike<B1>,
    B1: Encode,
    G1: Encode,
    G0: EncodeLike<G1>,
    C0: EncodeLike<C1>,
    D0: EncodeLike<D1>,
    E0: EncodeLike<E1>,
    F0: EncodeLike<F1>,
    H0: EncodeLike<H1>,
    I0: EncodeLike<I1>,
    J0: EncodeLike<J1>,
    K0: EncodeLike<K1>,
    L0: EncodeLike<L1>,
    M0: EncodeLike<M1>,
    N0: EncodeLike<N1>,
    O0: EncodeLike<O1>,
    P0: EncodeLike<P1>,
    Q0: EncodeLike<Q1>,
    R0: EncodeLike<R1>,
    C1: Encode,
    D1: Encode,
    E1: Encode,
    F1: Encode,
    H1: Encode,
    J1: Encode,
    L1: Encode,
    M1: Encode,
    N1: Encode,
    O1: Encode,
    P1: Encode,
    Q1: Encode,
    R1: Encode
[src]

impl<K, LikeK, V, LikeV> EncodeLike<BTreeMap<LikeK, LikeV>> for BTreeMap<K, V> where
    K: EncodeLike<LikeK>,
    V: EncodeLike<LikeV>,
    LikeK: Encode,
    LikeV: Encode
[src]

impl<'_, T, U> EncodeLike<&'_ [U]> for VecDeque<T> where
    T: EncodeLike<U>,
    U: Encode
[src]

impl<T, LikeT> EncodeLike<BinaryHeap<LikeT>> for BinaryHeap<T> where
    T: EncodeLike<LikeT>,
    LikeT: Encode
[src]

impl<'a, T> EncodeLike<T> for Cow<'a, T> where
    T: ToOwned + Encode
[src]

impl EncodeLike<()> for ()[src]

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

impl<E0, E1, F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> 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) where
    K1: Encode,
    I1: Encode,
    G1: Encode,
    G0: EncodeLike<G1>,
    E0: EncodeLike<E1>,
    F0: EncodeLike<F1>,
    H0: EncodeLike<H1>,
    I0: EncodeLike<I1>,
    J0: EncodeLike<J1>,
    K0: EncodeLike<K1>,
    L0: EncodeLike<L1>,
    M0: EncodeLike<M1>,
    N0: EncodeLike<N1>,
    O0: EncodeLike<O1>,
    P0: EncodeLike<P1>,
    Q0: EncodeLike<Q1>,
    R0: EncodeLike<R1>,
    E1: Encode,
    F1: Encode,
    H1: Encode,
    J1: Encode,
    L1: Encode,
    M1: Encode,
    N1: Encode,
    O1: Encode,
    P1: Encode,
    Q1: Encode,
    R1: Encode
[src]

impl<R0, R1> EncodeLike<(R1,)> for (R0,) where
    R0: EncodeLike<R1>,
    R1: Encode
[src]

impl<'_, T> EncodeLike<&'_ mut T> for &'_ mut T where
    T: Encode + ?Sized
[src]

impl<'_> EncodeLike<&'_ str> for String[src]

impl EncodeLike<i16> for i16[src]

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

impl EncodeLike<i32> for i32[src]

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

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

impl EncodeLike<u64> for u64[src]

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

impl<C0, C1, D0, D1, E0, E1, F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> 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) where
    K1: Encode,
    I1: Encode,
    G1: Encode,
    G0: EncodeLike<G1>,
    C0: EncodeLike<C1>,
    D0: EncodeLike<D1>,
    E0: EncodeLike<E1>,
    F0: EncodeLike<F1>,
    H0: EncodeLike<H1>,
    I0: EncodeLike<I1>,
    J0: EncodeLike<J1>,
    K0: EncodeLike<K1>,
    L0: EncodeLike<L1>,
    M0: EncodeLike<M1>,
    N0: EncodeLike<N1>,
    O0: EncodeLike<O1>,
    P0: EncodeLike<P1>,
    Q0: EncodeLike<Q1>,
    R0: EncodeLike<R1>,
    C1: Encode,
    D1: Encode,
    E1: Encode,
    F1: Encode,
    H1: Encode,
    J1: Encode,
    L1: Encode,
    M1: Encode,
    N1: Encode,
    O1: Encode,
    P1: Encode,
    Q1: Encode,
    R1: Encode
[src]

impl<'_> EncodeLike<String> for &'_ str[src]

impl<T> EncodeLike<Box<T, Global>> for Box<T, Global> where
    T: Encode + ?Sized
[src]

impl<'_, '_, T> EncodeLike<T> for &'_ &'_ T where
    T: Encode
[src]

impl<'_, T> EncodeLike<T> for &'_ mut T where
    T: Encode
[src]

impl EncodeLike<String> for String[src]

impl EncodeLike<OptionBool> for OptionBool[src]

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

impl<'_, T> EncodeLike<T> for &'_ T where
    T: Encode
[src]

impl EncodeLike<i8> for i8[src]

impl EncodeLike<HttpRequestId> for HttpRequestId[src]

impl EncodeLike<OpaquePeerId> for OpaquePeerId[src]

impl EncodeLike<Signature> for Signature[src]

impl EncodeLike<Entry> for Entry[src]

impl EncodeLike<Public> for Public[src]

impl EncodeLike<Public> for Public[src]

impl EncodeLike<HostError> for HostError[src]

impl EncodeLike<LocalizedSignature> for LocalizedSignature[src]

impl EncodeLike<NeverNativeValue> for NeverNativeValue[src]

impl EncodeLike<AccountId32> for AccountId32[src]

impl EncodeLike<CryptoTypePublicPair> for CryptoTypePublicPair[src]

impl EncodeLike<StorageKind> for StorageKind[src]

impl EncodeLike<ExternEntity> for ExternEntity[src]

impl EncodeLike<OpaqueMetadata> for OpaqueMetadata[src]

impl EncodeLike<KeyTypeId> for KeyTypeId[src]

impl EncodeLike<EnvironmentDefinition> for EnvironmentDefinition[src]

impl EncodeLike<Signature> for Signature[src]

impl EncodeLike<ChangesTrieConfiguration> for ChangesTrieConfiguration[src]

impl EncodeLike<HttpError> for HttpError[src]

impl EncodeLike<OpaqueMultiaddr> for OpaqueMultiaddr[src]

impl EncodeLike<Timestamp> for Timestamp[src]

impl EncodeLike<LogLevel> for LogLevel[src]

impl EncodeLike<Duration> for Duration[src]

impl EncodeLike<OpaqueNetworkState> for OpaqueNetworkState[src]

impl EncodeLike<DeriveJunction> for DeriveJunction[src]

impl EncodeLike<HttpRequestStatus> for HttpRequestStatus[src]

impl EncodeLike<Public> for Public[src]

impl EncodeLike<CryptoTypeId> for CryptoTypeId[src]

impl EncodeLike<Signature> for Signature[src]

impl EncodeLike<Value> for Value[src]

impl EncodeLike<ReturnValue> for ReturnValue[src]

impl EncodeLike<TrackedStorageKey> for TrackedStorageKey[src]

impl EncodeLike<H512> for H512[src]

impl EncodeLike<U512> for U512[src]

impl EncodeLike<H256> for H256[src]

impl EncodeLike<H128> for H128[src]

impl EncodeLike<H160> for H160[src]

impl EncodeLike<U256> for U256[src]

impl EncodeLike<U128> for U128[src]

impl EncodeLike<StorageProof> for StorageProof[src]

impl<T> EncodeLike<Crossing<T>> for Crossing<T> where
    T: Encode + Decode
[src]

impl EncodeLike<EcdsaVerifyError> for EcdsaVerifyError[src]

impl EncodeLike<VRFTranscriptData> for VRFTranscriptData[src]

impl EncodeLike<VRFTranscriptValue> for VRFTranscriptValue[src]

impl EncodeLike<RuntimeMetadataDeprecated> for RuntimeMetadataDeprecated[src]

impl EncodeLike<RuntimeMetadataV12> for RuntimeMetadataV12[src]

impl EncodeLike<UintAuthorityId> for UintAuthorityId[src]

impl EncodeLike<LookupError> for LookupError[src]

impl EncodeLike<ChangesTrieSignal> for ChangesTrieSignal[src]

impl<Xt> EncodeLike<ExtrinsicWrapper<Xt>> for ExtrinsicWrapper<Xt> where
    Xt: Encode
[src]

impl<Block> EncodeLike<SignedBlock<Block>> for SignedBlock<Block> where
    Block: Encode
[src]

impl EncodeLike<MultiSignature> for MultiSignature[src]

impl EncodeLike<StoredMapError> for StoredMapError[src]

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

impl<Header, Extrinsic> EncodeLike<Block<Header, Extrinsic>> for Block<Header, Extrinsic> where
    Extrinsic: MaybeSerialize,
    Header: Encode,
    Vec<Extrinsic, Global>: Encode
[src]

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

impl<B> EncodeLike<BlockAndTimeDeadline<B>> for BlockAndTimeDeadline<B> where
    B: BlockNumberProvider,
    <B as BlockNumberProvider>::BlockNumber: Encode
[src]

impl EncodeLike<AnySignature> for AnySignature[src]

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

impl<Xt> EncodeLike<Block<Xt>> for Block<Xt> where
    Vec<Xt, Global>: Encode
[src]

impl EncodeLike<Era> for Era[src]

impl<'a, Hash> EncodeLike<DigestItemRef<'a, Hash>> for DigestItemRef<'a, Hash> where
    Hash: Encode
[src]

impl EncodeLike<OpaqueExtrinsic> for OpaqueExtrinsic[src]

impl EncodeLike<BadOrigin> for BadOrigin[src]

impl<Number, Hash> EncodeLike<Header<Number, Hash>> for Header<Number, Hash> where
    Hash: Hash,
    Number: HasCompact + Copy + Into<U256> + TryFrom<U256>,
    <Hash as Hash>::Output: Encode
[src]

impl EncodeLike<TestSignature> for TestSignature[src]

impl<Hash> EncodeLike<Digest<Hash>> for Digest<Hash> where
    Vec<DigestItem<Hash>, Global>: Encode
[src]

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

impl<Hashing> EncodeLike<RandomNumberGenerator<Hashing>> for RandomNumberGenerator<Hashing> where
    Hashing: Hash,
    <Hashing as Hash>::Output: Encode
[src]

impl EncodeLike<ModuleId> for ModuleId[src]

impl<Hash> EncodeLike<DigestItem<Hash>> for DigestItem<Hash> where
    Hash: Encode
[src]

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

impl EncodeLike<MultiSigner> for MultiSigner[src]

impl EncodeLike<Time> for Time[src]

impl EncodeLike<Signature> for Signature[src]

impl EncodeLike<Public> for Public[src]

impl EncodeLike<Public> for Public[src]

impl EncodeLike<Public> for Public[src]

impl EncodeLike<Signature> for Signature[src]

impl EncodeLike<Signature> for Signature[src]

impl EncodeLike<FixedI64> for FixedI64[src]

impl EncodeLike<Perbill> for Perbill[src]

impl EncodeLike<Permill> for Permill[src]

impl EncodeLike<Perquintill> for Perquintill[src]

impl EncodeLike<FixedI128> for FixedI128[src]

impl EncodeLike<Percent> for Percent[src]

impl EncodeLike<PerU16> for PerU16[src]

impl EncodeLike<FixedU128> for FixedU128[src]

impl EncodeLike<CheckInherentsResult> for CheckInherentsResult[src]

impl<E> EncodeLike<MakeFatalError<E>> for MakeFatalError<E> where
    E: Encode
[src]

impl EncodeLike<Error> for Error[src]

impl<Reporter, Offender> EncodeLike<OffenceDetails<Reporter, Offender>> for OffenceDetails<Reporter, Offender> where
    Offender: Encode,
    Vec<Reporter, Global>: Encode
[src]

Loading content...

Implementors

impl EncodeLike<Void> for Void[src]

impl EncodeLike<RuntimeMetadata> for RuntimeMetadata[src]

impl EncodeLike<StorageEntryModifier> for StorageEntryModifier[src]

impl EncodeLike<StorageEntryType> for StorageEntryType[src]

impl EncodeLike<StorageHasher> for StorageHasher[src]

impl EncodeLike<DispatchError> for DispatchError[src]

impl EncodeLike<InvalidTransaction> for InvalidTransaction[src]

impl EncodeLike<TransactionSource> for TransactionSource[src]

impl EncodeLike<TransactionValidityError> for TransactionValidityError[src]

impl EncodeLike<UnknownTransaction> for UnknownTransaction[src]

impl EncodeLike<BalanceStatus> for BalanceStatus[src]

impl EncodeLike<DispatchClass> for DispatchClass[src]

impl EncodeLike<Pays> for Pays[src]

impl EncodeLike<EventMetadata> for EventMetadata[src]

impl EncodeLike<OuterEventMetadata> for OuterEventMetadata[src]

impl EncodeLike<DefaultByteGetter> for DefaultByteGetter[src]

impl EncodeLike<ExtrinsicMetadata> for ExtrinsicMetadata[src]

impl EncodeLike<ModuleMetadata> for ModuleMetadata[src]

impl EncodeLike<RuntimeMetadataPrefixed> for RuntimeMetadataPrefixed[src]

impl EncodeLike<StorageEntryMetadata> for StorageEntryMetadata[src]

impl EncodeLike<StorageMetadata> for StorageMetadata[src]

impl EncodeLike<InherentData> for InherentData[src]

impl EncodeLike<ValidTransaction> for ValidTransaction[src]

impl EncodeLike<PalletVersion> for PalletVersion[src]

impl EncodeLike<WithdrawReasons> for WithdrawReasons[src]

impl EncodeLike<DispatchInfo> for DispatchInfo[src]

impl EncodeLike<PostDispatchInfo> for PostDispatchInfo[src]

impl EncodeLike<RuntimeDbWeight> for RuntimeDbWeight[src]

impl EncodeLike<ErrorMetadata> for ErrorMetadata[src]

impl EncodeLike<FunctionArgumentMetadata> for FunctionArgumentMetadata[src]

impl EncodeLike<FunctionMetadata> for FunctionMetadata[src]

impl EncodeLike<ModuleConstantMetadata> for ModuleConstantMetadata[src]

impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode
[src]

impl<'_, T, U> EncodeLike<&'_ [U]> for Vec<T, Global> where
    T: EncodeLike<U>,
    U: Encode
[src]

impl<'a, T> EncodeLike<Cow<'a, T>> for T where
    T: ToOwned + Encode
[src]

impl<B, O> EncodeLike<DecodeDifferent<B, O>> for DecodeDifferent<B, O> where
    O: Encode + 'static,
    B: Encode + 'static, 
[src]

impl<Balance> EncodeLike<WeightToFeeCoefficient<Balance>> for WeightToFeeCoefficient<Balance> where
    Balance: Encode,
    Balance: Encode
[src]

impl<BlockNumber> EncodeLike<DispatchTime<BlockNumber>> for DispatchTime<BlockNumber> where
    BlockNumber: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode
[src]

impl<E> EncodeLike<FnEncode<E>> for FnEncode<E> where
    E: Encode
[src]

impl<T> EncodeLike<PhantomData<T>> for PhantomData<T>[src]

impl<T> EncodeLike<PerDispatchClass<T>> for PerDispatchClass<T> where
    T: Encode,
    T: Encode,
    T: Encode,
    T: Encode,
    T: Encode,
    T: Encode
[src]

impl<T> EncodeLike<Box<T, Global>> for T where
    T: Encode
[src]

impl<T> EncodeLike<Rc<T>> for T where
    T: Encode
[src]

impl<T> EncodeLike<Arc<T>> for T where
    T: Encode
[src]

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

impl<T, U> EncodeLike<VecDeque<U>> for Vec<T, Global> where
    T: EncodeLike<U>,
    U: Encode
[src]

impl<T, U> EncodeLike<Vec<U, Global>> for Vec<T, Global> where
    T: EncodeLike<U>,
    U: Encode
[src]

Loading content...