[]Trait frame_support::dispatch::EncodeLike

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<WasmValuesSet> for WasmValuesSet[src]

impl EncodeLike<WasmEntryAttributes> for WasmEntryAttributes[src]

impl EncodeLike<WasmFieldName> for WasmFieldName[src]

impl EncodeLike<WasmValue> for WasmValue[src]

impl EncodeLike<WasmFields> for WasmFields[src]

impl EncodeLike<WasmLevel> for WasmLevel[src]

impl<T, U> EncodeLike<[U; 90]> for [T; 90] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 158]> for [T; 158] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 105]> for [T; 105] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 234]> for [T; 234] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 57]> for [T; 57] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 94]> for [T; 94] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 208]> for [T; 208] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 192]> for [T; 192] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 16]> for [T; 16] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 107]> for [T; 107] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 159]> for [T; 159] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 59]> for [T; 59] where
    T: EncodeLike<U>,
    U: Encode

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

impl EncodeLike<bool> for bool

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

impl<T, U> EncodeLike<[U; 190]> for [T; 190] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 125]> for [T; 125] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 136]> for [T; 136] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 29]> for [T; 29] where
    T: EncodeLike<U>,
    U: Encode

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

impl EncodeLike<()> for ()

impl<T, U> EncodeLike<[U; 32]> for [T; 32] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 104]> for [T; 104] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 216]> for [T; 216] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 236]> for [T; 236] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 114]> for [T; 114] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 74]> for [T; 74] where
    T: EncodeLike<U>,
    U: Encode

impl EncodeLike<Duration> for Duration

impl<T, U> EncodeLike<[U; 85]> for [T; 85] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 152]> for [T; 152] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 201]> for [T; 201] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 240]> for [T; 240] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 83]> for [T; 83] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 69]> for [T; 69] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 112]> for [T; 112] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 173]> for [T; 173] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 88]> for [T; 88] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 175]> for [T; 175] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 39]> for [T; 39] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 171]> for [T; 171] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 134]> for [T; 134] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 156]> for [T; 156] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 205]> for [T; 205] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 139]> for [T; 139] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 67]> for [T; 67] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 250]> for [T; 250] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 220]> for [T; 220] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 1]> for [T; 1] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 256]> for [T; 256] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 77]> for [T; 77] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 226]> for [T; 226] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 204]> for [T; 204] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 230]> for [T; 230] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 251]> for [T; 251] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 4096]> for [T; 4096] where
    T: EncodeLike<U>,
    U: Encode

impl EncodeLike<i16> for i16

impl<T, U> EncodeLike<[U; 113]> for [T; 113] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 163]> for [T; 163] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 140]> for [T; 140] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 147]> for [T; 147] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 235]> for [T; 235] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 164]> for [T; 164] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 512]> for [T; 512] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 138]> for [T; 138] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 181]> for [T; 181] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 151]> for [T; 151] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 76]> for [T; 76] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 172]> for [T; 172] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 63]> for [T; 63] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 213]> for [T; 213] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 111]> for [T; 111] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 80]> for [T; 80] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 117]> for [T; 117] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 186]> for [T; 186] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 185]> for [T; 185] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 42]> for [T; 42] where
    T: EncodeLike<U>,
    U: Encode

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

impl EncodeLike<OptionBool> for OptionBool

impl<T, U> EncodeLike<[U; 100]> for [T; 100] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 170]> for [T; 170] where
    T: EncodeLike<U>,
    U: Encode

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,
    G0: EncodeLike<G1>,
    G1: Encode,
    B0: EncodeLike<B1>,
    B1: Encode,
    I1: Encode,
    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

impl<T, U> EncodeLike<[U; 254]> for [T; 254] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 98]> for [T; 98] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 118]> for [T; 118] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 126]> for [T; 126] where
    T: EncodeLike<U>,
    U: Encode

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

impl EncodeLike<u64> for u64

impl<T, U> EncodeLike<[U; 9]> for [T; 9] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 1024]> for [T; 1024] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 86]> for [T; 86] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 215]> for [T; 215] where
    T: EncodeLike<U>,
    U: Encode

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,
    G0: EncodeLike<G1>,
    G1: 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

impl<T, U> EncodeLike<[U; 51]> for [T; 51] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 184]> for [T; 184] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 161]> for [T; 161] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 179]> for [T; 179] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 119]> for [T; 119] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 247]> for [T; 247] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 214]> for [T; 214] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 133]> for [T; 133] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 237]> for [T; 237] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 34]> for [T; 34] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 95]> for [T; 95] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 22]> for [T; 22] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 176]> for [T; 176] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 11]> for [T; 11] where
    T: EncodeLike<U>,
    U: Encode

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

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

impl<T, U> EncodeLike<[U; 60]> for [T; 60] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 197]> for [T; 197] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 2048]> for [T; 2048] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 75]> for [T; 75] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 2]> for [T; 2] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 182]> for [T; 182] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 33]> for [T; 33] where
    T: EncodeLike<U>,
    U: Encode

impl EncodeLike<u8> for u8

impl<'_> EncodeLike<&'_ str> for String

impl<T, U> EncodeLike<[U; 198]> for [T; 198] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 157]> for [T; 157] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 50]> for [T; 50] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 13]> for [T; 13] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 28]> for [T; 28] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 89]> for [T; 89] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 231]> for [T; 231] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 130]> for [T; 130] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 199]> for [T; 199] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 72]> for [T; 72] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 47]> for [T; 47] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 62]> for [T; 62] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 44]> for [T; 44] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 166]> for [T; 166] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 102]> for [T; 102] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 37]> for [T; 37] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 131]> for [T; 131] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 8192]> for [T; 8192] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 121]> for [T; 121] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 10]> for [T; 10] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 252]> for [T; 252] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 202]> for [T; 202] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 229]> for [T; 229] where
    T: EncodeLike<U>,
    U: Encode

impl EncodeLike<i8> for i8

impl<T, U> EncodeLike<[U; 160]> for [T; 160] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 195]> for [T; 195] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 53]> for [T; 53] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 65]> for [T; 65] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 17]> for [T; 17] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 174]> for [T; 174] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 178]> for [T; 178] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 40]> for [T; 40] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 228]> for [T; 228] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 99]> for [T; 99] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 91]> for [T; 91] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 200]> for [T; 200] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 218]> for [T; 218] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 219]> for [T; 219] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 49]> for [T; 49] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 153]> for [T; 153] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 129]> for [T; 129] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 116]> for [T; 116] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 35]> for [T; 35] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 384]> for [T; 384] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 207]> for [T; 207] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 211]> for [T; 211] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 162]> for [T; 162] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 5]> for [T; 5] where
    T: EncodeLike<U>,
    U: Encode

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,
    G0: EncodeLike<G1>,
    G1: Encode,
    B0: EncodeLike<B1>,
    B1: Encode,
    I1: Encode,
    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

impl<T, U> EncodeLike<[U; 238]> for [T; 238] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 45]> for [T; 45] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 71]> for [T; 71] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 109]> for [T; 109] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 128]> for [T; 128] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 246]> for [T; 246] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 3]> for [T; 3] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 52]> for [T; 52] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 127]> for [T; 127] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 58]> for [T; 58] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 103]> for [T; 103] where
    T: EncodeLike<U>,
    U: Encode

impl<'_> EncodeLike<String> for &'_ str

impl<T, U> EncodeLike<[U; 73]> for [T; 73] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 768]> for [T; 768] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 227]> for [T; 227] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 115]> for [T; 115] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 120]> for [T; 120] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 165]> for [T; 165] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 223]> for [T; 223] where
    T: EncodeLike<U>,
    U: Encode

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

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

impl<T, U> EncodeLike<[U; 150]> for [T; 150] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 193]> for [T; 193] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 30]> for [T; 30] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 110]> for [T; 110] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 54]> for [T; 54] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 38]> for [T; 38] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 31]> for [T; 31] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 12]> for [T; 12] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 187]> for [T; 187] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 135]> for [T; 135] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 253]> for [T; 253] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 16384]> for [T; 16384] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 142]> for [T; 142] where
    T: EncodeLike<U>,
    U: Encode

impl EncodeLike<u32> for u32

impl<T, U> EncodeLike<[U; 212]> for [T; 212] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 210]> for [T; 210] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 87]> for [T; 87] where
    T: EncodeLike<U>,
    U: Encode

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,
    G0: EncodeLike<G1>,
    G1: Encode,
    I1: Encode,
    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

impl<T, U> EncodeLike<[U; 225]> for [T; 225] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 144]> for [T; 144] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 48]> for [T; 48] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 96]> for [T; 96] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 232]> for [T; 232] where
    T: EncodeLike<U>,
    U: Encode

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

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

impl<T, U> EncodeLike<[U; 122]> for [T; 122] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 82]> for [T; 82] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 188]> for [T; 188] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 79]> for [T; 79] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 8]> for [T; 8] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 97]> for [T; 97] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 143]> for [T; 143] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 245]> for [T; 245] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 108]> for [T; 108] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 14]> for [T; 14] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 56]> for [T; 56] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 18]> for [T; 18] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 167]> for [T; 167] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 221]> for [T; 221] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 92]> for [T; 92] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 141]> for [T; 141] where
    T: EncodeLike<U>,
    U: Encode

impl EncodeLike<u16> for u16

impl<T, U> EncodeLike<[U; 27]> for [T; 27] where
    T: EncodeLike<U>,
    U: Encode

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,
    G0: EncodeLike<G1>,
    G1: Encode,
    I1: Encode,
    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

impl<T, U> EncodeLike<[U; 137]> for [T; 137] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 25]> for [T; 25] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 209]> for [T; 209] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 206]> for [T; 206] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 19]> for [T; 19] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 168]> for [T; 168] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 183]> for [T; 183] where
    T: EncodeLike<U>,
    U: Encode

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,
    G0: EncodeLike<G1>,
    G1: Encode,
    I1: Encode,
    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

impl<T, U> EncodeLike<[U; 243]> for [T; 243] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 217]> for [T; 217] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 78]> for [T; 78] where
    T: EncodeLike<U>,
    U: Encode

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

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

impl<T, U> EncodeLike<[U; 196]> for [T; 196] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 203]> for [T; 203] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 4]> for [T; 4] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 180]> for [T; 180] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 36]> for [T; 36] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 101]> for [T; 101] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 21]> for [T; 21] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 255]> for [T; 255] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 26]> for [T; 26] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 148]> for [T; 148] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 106]> for [T; 106] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 61]> for [T; 61] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 244]> for [T; 244] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 124]> for [T; 124] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 15]> for [T; 15] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 145]> for [T; 145] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 32768]> for [T; 32768] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 93]> for [T; 93] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 242]> for [T; 242] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 177]> for [T; 177] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 66]> for [T; 66] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 154]> for [T; 154] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 64]> for [T; 64] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 55]> for [T; 55] where
    T: EncodeLike<U>,
    U: Encode

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

impl EncodeLike<i64> for i64

impl<T, U> EncodeLike<[U; 241]> for [T; 241] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 222]> for [T; 222] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 84]> for [T; 84] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 155]> for [T; 155] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 169]> for [T; 169] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 149]> for [T; 149] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 43]> for [T; 43] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 249]> for [T; 249] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 6]> for [T; 6] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 23]> for [T; 23] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 239]> for [T; 239] where
    T: EncodeLike<U>,
    U: Encode

impl EncodeLike<String> for String

impl EncodeLike<i128> for i128

impl<T, U> EncodeLike<[U; 146]> for [T; 146] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 132]> for [T; 132] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 7]> for [T; 7] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 189]> for [T; 189] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 248]> for [T; 248] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 20]> for [T; 20] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 68]> for [T; 68] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 41]> for [T; 41] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 81]> for [T; 81] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 233]> for [T; 233] where
    T: EncodeLike<U>,
    U: Encode

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

impl<T, U> EncodeLike<[U; 46]> for [T; 46] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 194]> for [T; 194] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 224]> for [T; 224] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 191]> for [T; 191] where
    T: EncodeLike<U>,
    U: Encode

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

impl EncodeLike<i32> for i32

impl<T, U> EncodeLike<[U; 70]> for [T; 70] where
    T: EncodeLike<U>,
    U: Encode

impl<T, U> EncodeLike<[U; 123]> for [T; 123] where
    T: EncodeLike<U>,
    U: Encode

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,
    G0: EncodeLike<G1>,
    G1: Encode,
    I1: Encode,
    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

impl EncodeLike<u128> for u128

impl<T, U> EncodeLike<[U; 24]> for [T; 24] where
    T: EncodeLike<U>,
    U: Encode

impl EncodeLike<Public> for Public[src]

impl EncodeLike<HttpError> for HttpError[src]

impl EncodeLike<Entry> for Entry[src]

impl EncodeLike<StorageKind> for StorageKind[src]

impl EncodeLike<Signature> for Signature[src]

impl EncodeLike<Public> for Public[src]

impl EncodeLike<CryptoTypeId> for CryptoTypeId[src]

impl EncodeLike<OpaqueNetworkState> for OpaqueNetworkState[src]

impl EncodeLike<AccountId32> for AccountId32[src]

impl EncodeLike<HttpRequestId> for HttpRequestId[src]

impl EncodeLike<ChangesTrieConfiguration> for ChangesTrieConfiguration[src]

impl EncodeLike<EnvironmentDefinition> for EnvironmentDefinition[src]

impl EncodeLike<ExternEntity> for ExternEntity[src]

impl EncodeLike<DeriveJunction> for DeriveJunction[src]

impl EncodeLike<NeverNativeValue> for NeverNativeValue[src]

impl EncodeLike<Signature> for Signature[src]

impl EncodeLike<HostError> for HostError[src]

impl EncodeLike<CryptoTypePublicPair> for CryptoTypePublicPair[src]

impl EncodeLike<OpaqueMetadata> for OpaqueMetadata[src]

impl EncodeLike<Signature> for Signature[src]

impl EncodeLike<OpaquePeerId> for OpaquePeerId[src]

impl EncodeLike<KeyTypeId> for KeyTypeId[src]

impl EncodeLike<Public> for Public[src]

impl EncodeLike<LogLevel> for LogLevel[src]

impl EncodeLike<Duration> for Duration[src]

impl EncodeLike<OpaqueMultiaddr> for OpaqueMultiaddr[src]

impl EncodeLike<LocalizedSignature> for LocalizedSignature[src]

impl EncodeLike<Timestamp> for Timestamp[src]

impl EncodeLike<HttpRequestStatus> for HttpRequestStatus[src]

impl EncodeLike<Value> for Value[src]

impl EncodeLike<ReturnValue> for ReturnValue[src]

impl EncodeLike<TrackedStorageKey> for TrackedStorageKey[src]

impl EncodeLike<H256> for H256

impl EncodeLike<U128> for U128

impl EncodeLike<H160> for H160

impl EncodeLike<H128> for H128

impl EncodeLike<H512> for H512

impl EncodeLike<U256> for U256

impl EncodeLike<U512> for U512

impl EncodeLike<StorageProof> for StorageProof[src]

impl EncodeLike<EcdsaVerifyError> for EcdsaVerifyError[src]

impl<T> EncodeLike<Crossing<T>> for Crossing<T> where
    T: Encode + Decode
[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<MultiSignature> for MultiSignature[src]

impl EncodeLike<UintAuthorityId> for UintAuthorityId[src]

impl EncodeLike<TestSignature> for TestSignature[src]

impl EncodeLike<AnySignature> for AnySignature[src]

impl EncodeLike<ChangesTrieSignal> for ChangesTrieSignal[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<Block> EncodeLike<SignedBlock<Block>> for SignedBlock<Block> where
    Block: Encode
[src]

impl<Hash> EncodeLike<Digest<Hash>> for Digest<Hash> where
    Vec<DigestItem<Hash>, Global>: Encode
[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<LookupError> for LookupError[src]

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

impl EncodeLike<OpaqueExtrinsic> for OpaqueExtrinsic[src]

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

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

impl EncodeLike<StoredMapError> for StoredMapError[src]

impl EncodeLike<MultiSigner> for MultiSigner[src]

impl EncodeLike<Time> for Time[src]

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

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

impl EncodeLike<BadOrigin> for BadOrigin[src]

impl EncodeLike<Era> for Era[src]

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

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

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

impl EncodeLike<ModuleId> for ModuleId[src]

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

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

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

impl EncodeLike<Signature> for Signature[src]

impl EncodeLike<Signature> for Signature[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<PerU16> for PerU16[src]

impl EncodeLike<Perquintill> for Perquintill[src]

impl EncodeLike<FixedI128> for FixedI128[src]

impl EncodeLike<Perbill> for Perbill[src]

impl EncodeLike<Permill> for Permill[src]

impl EncodeLike<Percent> for Percent[src]

impl EncodeLike<FixedU128> for FixedU128[src]

impl EncodeLike<FixedI64> for FixedI64[src]

impl EncodeLike<Error> for Error[src]

impl EncodeLike<CheckInherentsResult> for CheckInherentsResult[src]

impl<E> EncodeLike<MakeFatalError<E>> for MakeFatalError<E> where
    E: 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<ErrorMetadata> for ErrorMetadata[src]

impl EncodeLike<FunctionArgumentMetadata> for FunctionArgumentMetadata[src]

impl EncodeLike<FunctionMetadata> for FunctionMetadata[src]

impl EncodeLike<ModuleConstantMetadata> for ModuleConstantMetadata[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<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode

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

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

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

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

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>

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

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

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

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

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

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

Loading content...