difftreelog
misk: Refactor tuple generation
in: master
1 file changed
crates/evm-coder/src/abi.rsdiffbeforeafterboth328 }328 }329}329}330330331macro_rules! impl_tuples_abi_reader {331macro_rules! impl_tuples {332 ($($ident:ident)+) => {332 ($($ident:ident)+) => {333 impl<$($ident),+> sealed::CanBePlacedInVec for ($($ident,)+) {}333 impl<$($ident),+> sealed::CanBePlacedInVec for ($($ident,)+) {}334 impl<$($ident),+> AbiRead<($($ident,)+)> for AbiReader<'_>334 impl<$($ident),+> AbiRead<($($ident,)+)> for AbiReader<'_>342 ))342 ))343 }343 }344 }344 }345 #[allow(non_snake_case)]346 impl<$($ident),+> AbiWrite for &($($ident,)+)347 where348 $($ident: AbiWrite,)+349 {350 fn abi_write(&self, writer: &mut AbiWriter) {351 let ($($ident,)+) = self;352 $($ident.abi_write(writer);)+353 }354 }345 };355 };346}356}347357348impl_tuples_abi_reader! {A}358impl_tuples! {A}349impl_tuples_abi_reader! {A B}359impl_tuples! {A B}350impl_tuples_abi_reader! {A B C}360impl_tuples! {A B C}351impl_tuples_abi_reader! {A B C D}361impl_tuples! {A B C D}352impl_tuples_abi_reader! {A B C D E}362impl_tuples! {A B C D E}353impl_tuples_abi_reader! {A B C D E F}363impl_tuples! {A B C D E F}354impl_tuples_abi_reader! {A B C D E F G}364impl_tuples! {A B C D E F G}355impl_tuples_abi_reader! {A B C D E F G H}365impl_tuples! {A B C D E F G H}356impl_tuples_abi_reader! {A B C D E F G H I}366impl_tuples! {A B C D E F G H I}357impl_tuples_abi_reader! {A B C D E F G H I J}367impl_tuples! {A B C D E F G H I J}358368359pub trait AbiWrite {369pub trait AbiWrite {360 fn abi_write(&self, writer: &mut AbiWriter);370 fn abi_write(&self, writer: &mut AbiWriter);422 fn abi_write(&self, _writer: &mut AbiWriter) {}432 fn abi_write(&self, _writer: &mut AbiWriter) {}423}433}424425macro_rules! impl_tuples_abi_writer {426 ($($ident:ident)+) => {427 #[allow(non_snake_case)]428 impl<$($ident),+> AbiWrite for &($($ident,)+)429 where430 $($ident: AbiWrite,)+431 {432 fn abi_write(&self, writer: &mut AbiWriter) {433 let ($($ident,)+) = self;434 $($ident.abi_write(writer);)+435 }436 }437 };438}439440impl_tuples_abi_writer! {A}441impl_tuples_abi_writer! {A B}442impl_tuples_abi_writer! {A B C}443impl_tuples_abi_writer! {A B C D}444impl_tuples_abi_writer! {A B C D E}445impl_tuples_abi_writer! {A B C D E F}446impl_tuples_abi_writer! {A B C D E F G}447impl_tuples_abi_writer! {A B C D E F G H}448impl_tuples_abi_writer! {A B C D E F G H I}449impl_tuples_abi_writer! {A B C D E F G H I J}450434451#[macro_export]435#[macro_export]452macro_rules! abi_decode {436macro_rules! abi_decode {