Removed anyhow dependency
This commit is contained in:
@@ -48,7 +48,7 @@ macro_rules! pop_derive_macro {
|
||||
|
||||
quote!(
|
||||
impl $trait_name for #struct_ident {
|
||||
fn $trait_pop_fn(mut source: &mut &[u8]) -> anyhow::Result<Self>
|
||||
fn $trait_pop_fn(mut source: &mut &[u8]) -> std::io::Result<Self>
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
@@ -57,7 +57,7 @@ macro_rules! pop_derive_macro {
|
||||
#(#names),*
|
||||
})
|
||||
}
|
||||
fn $trait_push_fn<T: Pushable>(&self, dest: &mut T) -> anyhow::Result<()> {
|
||||
fn $trait_push_fn<T: Pushable>(&self, dest: &mut T) -> std::io::Result<()> {
|
||||
#(#pop)*
|
||||
Ok(())
|
||||
}
|
||||
@@ -70,47 +70,3 @@ macro_rules! pop_derive_macro {
|
||||
pop_derive_macro!(pop_ne_derive_macro, PopFromNE, pop_ne_from, push_ne_into);
|
||||
pop_derive_macro!(pop_le_derive_macro, PopFromLE, pop_le_from, push_le_into);
|
||||
pop_derive_macro!(pop_be_derive_macro, PopFromBE, pop_be_from, push_be_into);
|
||||
/*
|
||||
#[proc_macro_derive(PopFromNE)]
|
||||
pub fn pop_ne_derive_macro(item: TokenStream) -> TokenStream {
|
||||
let ast: DeriveInput = syn::parse(item).unwrap();
|
||||
let struct_ident = ast.ident;
|
||||
let struct_data: syn::DataStruct = match ast.data {
|
||||
syn::Data::Struct(struct_data) => struct_data,
|
||||
syn::Data::Enum(_) => panic!("Error: Enum support not implemented"),
|
||||
syn::Data::Union(_) => panic!("Error: Union support not implemented"),
|
||||
};
|
||||
|
||||
let recursive = struct_data.fields.iter().map(|f| {
|
||||
let name = &f.ident;
|
||||
let ty = &f.ty;
|
||||
quote_spanned!(f.span()=> let #name = <#ty>::pop_ne_from(&mut source)?;)
|
||||
});
|
||||
|
||||
let names = struct_data.fields.iter().map(|f| {
|
||||
let name = &f.ident;
|
||||
quote_spanned!(f.span()=> #name)
|
||||
});
|
||||
let pop = struct_data.fields.iter().map(|f| {
|
||||
let name = &f.ident;
|
||||
quote_spanned!(f.span()=> PopFromNE::push_ne_into(&self.#name, dest)?;)
|
||||
});
|
||||
|
||||
quote!(
|
||||
impl PopFromNE for #struct_ident {
|
||||
fn pop_ne_from(mut source: &mut &[u8]) -> anyhow::Result<Self>
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
#(#recursive)*
|
||||
Ok(#struct_ident{
|
||||
#(#names),*
|
||||
})
|
||||
}
|
||||
fn push_ne_into<T: Pushable>(&self, dest: &mut T) -> anyhow::Result<()> {
|
||||
#(#pop)*
|
||||
Ok(())
|
||||
}
|
||||
})
|
||||
.into()
|
||||
}*/
|
||||
|
||||
Reference in New Issue
Block a user