mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 08:07:58 +00:00
Convert impl_key_prefix_for to proc macro (#8844)
* Convert impl_key_prefix_for to proc macro * Reduce the number of let bindings * Remove parsing of inputs for impl_key_prefix_for_tuples * Replace unwrap with expect * Remove unnecessary array of idents * Use numeric identifiers * Simplify ident generation * Fix whitespacing * Add documentation for impl_key_prefix_for_tuple proc macro Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com> Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
This commit is contained in:
@@ -246,7 +246,7 @@ impl ReversibleKeyGenerator for Tuple {
|
||||
fn decode_final_key(key_material: &[u8]) -> Result<(Self::Key, &[u8]), codec::Error> {
|
||||
let mut current_key_material = key_material;
|
||||
Ok((
|
||||
(for_tuples! {
|
||||
(for_tuples!{
|
||||
#({
|
||||
let (key, material) = Tuple::decode_final_key(current_key_material)?;
|
||||
current_key_material = material;
|
||||
@@ -270,735 +270,4 @@ pub trait HasReversibleKeyPrefix<P>: ReversibleKeyGenerator + HasKeyPrefix<P> {
|
||||
fn decode_partial_key(key_material: &[u8]) -> Result<Self::Suffix, codec::Error>;
|
||||
}
|
||||
|
||||
macro_rules! impl_key_prefix_for {
|
||||
(($($keygen:ident),+), ($($prefix:ident),+), ($($suffix:ident),+)) => {
|
||||
paste! {
|
||||
impl<
|
||||
$($keygen: FullCodec,)+
|
||||
$( [<$keygen $keygen>]: StorageHasher,)+
|
||||
$( [<KArg $prefix>]: EncodeLike<$prefix> ),+
|
||||
> HasKeyPrefix<($( [<KArg $prefix>] ),+)> for ($(Key<[<$keygen $keygen>], $keygen>),+) {
|
||||
type Suffix = ($($suffix),+);
|
||||
|
||||
fn partial_key(prefix: ($( [<KArg $prefix>] ),+)) -> Vec<u8> {
|
||||
<($(Key<[<$prefix $prefix>], $prefix>),+)>::final_key(prefix)
|
||||
}
|
||||
}
|
||||
|
||||
impl<
|
||||
$($keygen: FullCodec,)+
|
||||
$( [<$keygen $keygen>]: ReversibleStorageHasher,)+
|
||||
$( [<KArg $prefix>]: EncodeLike<$prefix> ),+
|
||||
> HasReversibleKeyPrefix<($( [<KArg $prefix>] ),+)> for
|
||||
($(Key<[<$keygen $keygen>], $keygen>),+)
|
||||
{
|
||||
fn decode_partial_key(key_material: &[u8]) -> Result<Self::Suffix, codec::Error> {
|
||||
<($(Key<[<$suffix $suffix>], $suffix>),+)>::decode_final_key(key_material).map(|k| k.0)
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
(($($keygen:ident),+), $prefix:ident, ($($suffix:ident),+)) => {
|
||||
paste! {
|
||||
impl<
|
||||
$($keygen: FullCodec,)+
|
||||
$( [<$keygen $keygen>]: StorageHasher,)+
|
||||
[<KArg $prefix>]: EncodeLike<$prefix>
|
||||
> HasKeyPrefix<( [<KArg $prefix>] ,)> for ($(Key<[<$keygen $keygen>], $keygen>),+) {
|
||||
type Suffix = ($($suffix),+);
|
||||
|
||||
fn partial_key(prefix: ( [<KArg $prefix>] ,)) -> Vec<u8> {
|
||||
<Key<[<$prefix $prefix>], $prefix>>::final_key(prefix)
|
||||
}
|
||||
}
|
||||
|
||||
impl<
|
||||
$($keygen: FullCodec,)+
|
||||
$( [<$keygen $keygen>]: ReversibleStorageHasher,)+
|
||||
[<KArg $prefix>]: EncodeLike<$prefix>
|
||||
> HasReversibleKeyPrefix<( [<KArg $prefix>] ,)> for
|
||||
($(Key<[<$keygen $keygen>], $keygen>),+)
|
||||
{
|
||||
fn decode_partial_key(key_material: &[u8]) -> Result<Self::Suffix, codec::Error> {
|
||||
<($(Key<[<$suffix $suffix>], $suffix>),+)>::decode_final_key(key_material).map(|k| k.0)
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
(($($keygen:ident),+), ($($prefix:ident),+), $suffix:ident) => {
|
||||
paste! {
|
||||
impl<
|
||||
$($keygen: FullCodec,)+
|
||||
$( [<$keygen $keygen>]: StorageHasher,)+
|
||||
$( [<KArg $prefix>]: EncodeLike<$prefix>),+
|
||||
> HasKeyPrefix<($( [<KArg $prefix>] ),+)> for ($(Key<[<$keygen $keygen>], $keygen>),+) {
|
||||
type Suffix = $suffix;
|
||||
|
||||
fn partial_key(prefix: ($( [<KArg $prefix>] ),+)) -> Vec<u8> {
|
||||
<($(Key<[<$prefix $prefix>], $prefix>),+)>::final_key(prefix)
|
||||
}
|
||||
}
|
||||
|
||||
impl<
|
||||
$($keygen: FullCodec,)+
|
||||
$( [<$keygen $keygen>]: ReversibleStorageHasher,)+
|
||||
$( [<KArg $prefix>]: EncodeLike<$prefix> ),+
|
||||
> HasReversibleKeyPrefix<($( [<KArg $prefix>] ),+)> for
|
||||
($(Key<[<$keygen $keygen>], $keygen>),+)
|
||||
{
|
||||
fn decode_partial_key(key_material: &[u8]) -> Result<Self::Suffix, codec::Error> {
|
||||
<Key<[<$suffix $suffix>], $suffix>>::decode_final_key(key_material).map(|k| k.0)
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
impl<A, B, X, Y, KArg> HasKeyPrefix<(KArg,)> for (Key<X, A>, Key<Y, B>)
|
||||
where
|
||||
A: FullCodec,
|
||||
B: FullCodec,
|
||||
X: StorageHasher,
|
||||
Y: StorageHasher,
|
||||
KArg: EncodeLike<A>,
|
||||
{
|
||||
type Suffix = B;
|
||||
|
||||
fn partial_key(prefix: (KArg,)) -> Vec<u8> {
|
||||
<Key<X, A>>::final_key(prefix)
|
||||
}
|
||||
}
|
||||
|
||||
impl<A, B, X, Y, KArg> HasReversibleKeyPrefix<(KArg,)> for (Key<X, A>, Key<Y, B>)
|
||||
where
|
||||
A: FullCodec,
|
||||
B: FullCodec,
|
||||
X: ReversibleStorageHasher,
|
||||
Y: ReversibleStorageHasher,
|
||||
KArg: EncodeLike<A>,
|
||||
{
|
||||
fn decode_partial_key(key_material: &[u8]) -> Result<B, codec::Error> {
|
||||
<Key<Y, B>>::decode_final_key(key_material).map(|k| k.0)
|
||||
}
|
||||
}
|
||||
|
||||
impl_key_prefix_for!((A, B, C), (A, B), C);
|
||||
impl_key_prefix_for!((A, B, C), A, (B, C));
|
||||
impl_key_prefix_for!((A, B, C, D), (A, B, C), D);
|
||||
impl_key_prefix_for!((A, B, C, D), (A, B), (C, D));
|
||||
impl_key_prefix_for!((A, B, C, D), A, (B, C, D));
|
||||
impl_key_prefix_for!((A, B, C, D, E), (A, B, C, D), E);
|
||||
impl_key_prefix_for!((A, B, C, D, E), (A, B, C), (D, E));
|
||||
impl_key_prefix_for!((A, B, C, D, E), (A, B), (C, D, E));
|
||||
impl_key_prefix_for!((A, B, C, D, E), A, (B, C, D, E));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F), (A, B, C, D, E), F);
|
||||
impl_key_prefix_for!((A, B, C, D, E, F), (A, B, C, D), (E, F));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F), (A, B, C), (D, E, F));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F), (A, B), (C, D, E, F));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F), A, (B, C, D, E, F));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G), (A, B, C, D, E, F), G);
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G), (A, B, C, D, E), (F, G));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G), (A, B, C, D), (E, F, G));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G), (A, B, C), (D, E, F, G));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G), (A, B), (C, D, E, F, G));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G), A, (B, C, D, E, F, G));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H), (A, B, C, D, E, F, G), H);
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H), (A, B, C, D, E, F), (G, H));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H), (A, B, C, D, E), (F, G, H));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H), (A, B, C, D), (E, F, G, H));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H), (A, B, C), (D, E, F, G, H));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H), (A, B), (C, D, E, F, G, H));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H), A, (B, C, D, E, F, G, H));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H, I), (A, B, C, D, E, F, G, H), I);
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H, I), (A, B, C, D, E, F, G), (H, I));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H, I), (A, B, C, D, E, F), (G, H, I));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H, I), (A, B, C, D, E), (F, G, H, I));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H, I), (A, B, C, D), (E, F, G, H, I));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H, I), (A, B, C), (D, E, F, G, H, I));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H, I), (A, B), (C, D, E, F, G, H, I));
|
||||
impl_key_prefix_for!((A, B, C, D, E, F, G, H, I), A, (B, C, D, E, F, G, H, I));
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(A, B, C, D, E, F, G, H, I),
|
||||
J
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(A, B, C, D, E, F, G, H),
|
||||
(I, J)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(A, B, C, D, E, F, G),
|
||||
(H, I, J)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(A, B, C, D, E, F),
|
||||
(G, H, I, J)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(A, B, C, D, E),
|
||||
(F, G, H, I, J)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(A, B, C, D),
|
||||
(E, F, G, H, I, J)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(A, B, C),
|
||||
(D, E, F, G, H, I, J)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(A, B),
|
||||
(C, D, E, F, G, H, I, J)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
A,
|
||||
(B, C, D, E, F, G, H, I, J)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
K
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(A, B, C, D, E, F, G, H, I),
|
||||
(J, K)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(A, B, C, D, E, F, G, H),
|
||||
(I, J, K)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(A, B, C, D, E, F, G),
|
||||
(H, I, J, K)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(A, B, C, D, E, F),
|
||||
(G, H, I, J, K)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(A, B, C, D, E),
|
||||
(F, G, H, I, J, K)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(A, B, C, D),
|
||||
(E, F, G, H, I, J, K)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(A, B, C),
|
||||
(D, E, F, G, H, I, J, K)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(A, B),
|
||||
(C, D, E, F, G, H, I, J, K)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
A,
|
||||
(B, C, D, E, F, G, H, I, J, K)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
L
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(K, L)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(A, B, C, D, E, F, G, H, I),
|
||||
(J, K, L)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(A, B, C, D, E, F, G, H),
|
||||
(I, J, K, L)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(A, B, C, D, E, F, G),
|
||||
(H, I, J, K, L)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(A, B, C, D, E, F),
|
||||
(G, H, I, J, K, L)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(A, B, C, D, E),
|
||||
(F, G, H, I, J, K, L)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(A, B, C, D),
|
||||
(E, F, G, H, I, J, K, L)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(A, B, C),
|
||||
(D, E, F, G, H, I, J, K, L)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(A, B),
|
||||
(C, D, E, F, G, H, I, J, K, L)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
A,
|
||||
(B, C, D, E, F, G, H, I, J, K, L)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
M
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(L, M)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(K, L, M)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(A, B, C, D, E, F, G, H, I),
|
||||
(J, K, L, M)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(A, B, C, D, E, F, G, H),
|
||||
(I, J, K, L, M)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(A, B, C, D, E, F, G),
|
||||
(H, I, J, K, L, M)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(A, B, C, D, E, F),
|
||||
(G, H, I, J, K, L, M)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(A, B, C, D, E),
|
||||
(F, G, H, I, J, K, L, M)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(A, B, C, D),
|
||||
(E, F, G, H, I, J, K, L, M)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(A, B, C),
|
||||
(D, E, F, G, H, I, J, K, L, M)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(A, B),
|
||||
(C, D, E, F, G, H, I, J, K, L, M)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
A,
|
||||
(B, C, D, E, F, G, H, I, J, K, L, M)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
N
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(L, M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(K, L, M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B, C, D, E, F, G, H, I),
|
||||
(J, K, L, M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B, C, D, E, F, G, H),
|
||||
(I, J, K, L, M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B, C, D, E, F, G),
|
||||
(H, I, J, K, L, M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B, C, D, E, F),
|
||||
(G, H, I, J, K, L, M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B, C, D, E),
|
||||
(F, G, H, I, J, K, L, M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B, C, D),
|
||||
(E, F, G, H, I, J, K, L, M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B, C),
|
||||
(D, E, F, G, H, I, J, K, L, M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(A, B),
|
||||
(C, D, E, F, G, H, I, J, K, L, M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
A,
|
||||
(B, C, D, E, F, G, H, I, J, K, L, M, N)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
O
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(L, M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(K, L, M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C, D, E, F, G, H, I),
|
||||
(J, K, L, M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C, D, E, F, G, H),
|
||||
(I, J, K, L, M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C, D, E, F, G),
|
||||
(H, I, J, K, L, M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C, D, E, F),
|
||||
(G, H, I, J, K, L, M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C, D, E),
|
||||
(F, G, H, I, J, K, L, M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C, D),
|
||||
(E, F, G, H, I, J, K, L, M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B, C),
|
||||
(D, E, F, G, H, I, J, K, L, M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(A, B),
|
||||
(C, D, E, F, G, H, I, J, K, L, M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
A,
|
||||
(B, C, D, E, F, G, H, I, J, K, L, M, N, O)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
P
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(L, M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(K, L, M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D, E, F, G, H, I),
|
||||
(J, K, L, M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D, E, F, G, H),
|
||||
(I, J, K, L, M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D, E, F, G),
|
||||
(H, I, J, K, L, M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D, E, F),
|
||||
(G, H, I, J, K, L, M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D, E),
|
||||
(F, G, H, I, J, K, L, M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C, D),
|
||||
(E, F, G, H, I, J, K, L, M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B, C),
|
||||
(D, E, F, G, H, I, J, K, L, M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(A, B),
|
||||
(C, D, E, F, G, H, I, J, K, L, M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
A,
|
||||
(B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
Q
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(L, M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(K, L, M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E, F, G, H, I),
|
||||
(J, K, L, M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E, F, G, H),
|
||||
(I, J, K, L, M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E, F, G),
|
||||
(H, I, J, K, L, M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E, F),
|
||||
(G, H, I, J, K, L, M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D, E),
|
||||
(F, G, H, I, J, K, L, M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C, D),
|
||||
(E, F, G, H, I, J, K, L, M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B, C),
|
||||
(D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
(A, B),
|
||||
(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
A,
|
||||
(B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
|
||||
R
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P),
|
||||
(Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O),
|
||||
(P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N),
|
||||
(O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M),
|
||||
(N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L),
|
||||
(M, N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F, G, H, I, J, K),
|
||||
(L, M, N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F, G, H, I, J),
|
||||
(K, L, M, N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F, G, H, I),
|
||||
(J, K, L, M, N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F, G, H),
|
||||
(I, J, K, L, M, N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F, G),
|
||||
(H, I, J, K, L, M, N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E, F),
|
||||
(G, H, I, J, K, L, M, N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D, E),
|
||||
(F, G, H, I, J, K, L, M, N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C, D),
|
||||
(E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B, C),
|
||||
(D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
(A, B),
|
||||
(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
|
||||
);
|
||||
impl_key_prefix_for!(
|
||||
(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R),
|
||||
A,
|
||||
(B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
|
||||
);
|
||||
frame_support_procedural::impl_key_prefix_for_tuples!();
|
||||
|
||||
Reference in New Issue
Block a user