difftreelog
path: Impl AbiWrite for tuples
in: master
1 file changed
crates/evm-coder/src/abi.rsdiffbeforeafterboth328 }328 }329}329}330330331macro_rules! impl_tuples {331macro_rules! impl_tuples_abi_reader {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<'_>345 };345 };346}346}347347348impl_tuples! {A}348impl_tuples_abi_reader! {A}349impl_tuples! {A B}349impl_tuples_abi_reader! {A B}350impl_tuples! {A B C}350impl_tuples_abi_reader! {A B C}351impl_tuples! {A B C D}351impl_tuples_abi_reader! {A B C D}352impl_tuples! {A B C D E}352impl_tuples_abi_reader! {A B C D E}353impl_tuples! {A B C D E F}353impl_tuples_abi_reader! {A B C D E F}354impl_tuples! {A B C D E F G}354impl_tuples_abi_reader! {A B C D E F G}355impl_tuples! {A B C D E F G H}355impl_tuples_abi_reader! {A B C D E F G H}356impl_tuples! {A B C D E F G H I}356impl_tuples_abi_reader! {A B C D E F G H I}357impl_tuples! {A B C D E F G H I J}357impl_tuples_abi_reader! {A B C D E F G H I J}358358359pub trait AbiWrite {359pub trait AbiWrite {360 fn abi_write(&self, writer: &mut AbiWriter);360 fn abi_write(&self, writer: &mut AbiWriter);422 fn abi_write(&self, _writer: &mut AbiWriter) {}422 fn abi_write(&self, _writer: &mut AbiWriter) {}423}423}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}424450425#[macro_export]451#[macro_export]426macro_rules! abi_decode {452macro_rules! abi_decode {