summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--derive/src/lib.rs18
-rw-r--r--src/lib.rs10
2 files changed, 13 insertions, 15 deletions
diff --git a/derive/src/lib.rs b/derive/src/lib.rs
index ae9842c..0cb4e62 100644
--- a/derive/src/lib.rs
+++ b/derive/src/lib.rs
@@ -45,10 +45,8 @@ fn wrap_attr(attr: &mut syn::Attribute) {
#[proc_macro_attribute]
pub fn mt_derive(attr: TokenStream, item: TokenStream) -> TokenStream {
- let item2 = item.clone();
-
let attr_args = parse_macro_input!(attr as syn::AttributeArgs);
- let mut input = parse_macro_input!(item2 as syn::Item);
+ let mut input = parse_macro_input!(item as syn::Item);
let args = match MacroArgs::from_list(&attr_args) {
Ok(v) => v,
@@ -256,7 +254,7 @@ fn serialize_args(res: darling::Result<MtArgs>, body: impl FnOnce(&MtArgs) -> To
code
}
- Err(e) => return e.write_errors(),
+ Err(e) => e.write_errors(),
}
}
@@ -335,7 +333,7 @@ fn deserialize_args(res: darling::Result<MtArgs>, body: impl FnOnce(&MtArgs) ->
code
}
- Err(e) => return e.write_errors(),
+ Err(e) => e.write_errors(),
}
}
@@ -426,7 +424,7 @@ fn iter_variants(e: &syn::DataEnum, args: &MtArgs, mut f: impl FnMut(&syn::Varia
v.discriminant.clone().map(|x| x.1).unwrap_or(discr)
};
- f(&v, &discr);
+ f(v, &discr);
discr = parse_quote! { 1 + #discr };
}
@@ -440,10 +438,10 @@ pub fn derive_serialize(input: TokenStream) -> TokenStream {
let code = serialize_args(MtArgs::from_derive_input(&input), |args| {
match &input.data {
syn::Data::Enum(e) => {
- let repr = get_repr(&input, &args);
+ let repr = get_repr(&input, args);
let mut variants = TokStr::new();
- iter_variants(&e, &args, |v, discr| {
+ iter_variants(e, args, |v, discr| {
let (fields, fields_struct) = get_fields_struct(&v.fields);
let code =
serialize_args(MtArgs::from_variant(v), |_| serialize_fields(&fields));
@@ -492,12 +490,12 @@ pub fn derive_deserialize(input: TokenStream) -> TokenStream {
let code = deserialize_args(MtArgs::from_derive_input(&input), |args| {
match &input.data {
syn::Data::Enum(e) => {
- let repr = get_repr(&input, &args);
+ let repr = get_repr(&input, args);
let mut consts = TokStr::new();
let mut arms = TokStr::new();
- iter_variants(&e, &args, |v, discr| {
+ iter_variants(e, args, |v, discr| {
let ident = &v.ident;
let (fields, fields_struct) = get_fields_struct(&v.fields);
let code = deserialize_args(MtArgs::from_variant(v), |_| {
diff --git a/src/lib.rs b/src/lib.rs
index 7a85add..498a4c9 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -194,9 +194,9 @@ impl<T: MtCfgLen> MtCfg for T {
}
fn read_len(reader: &mut impl Read) -> Result<Self::Len, DeserializeError> {
- Ok(Self::mt_deserialize::<DefCfg>(reader)?
+ Self::mt_deserialize::<DefCfg>(reader)?
.try_into()
- .map_err(Into::into)?)
+ .map_err(Into::into)
}
}
@@ -369,9 +369,9 @@ pub fn mt_serialize_seq<C: MtCfg, T: MtSerialize>(
.try_for_each(|item| item.mt_serialize::<C::Inner>(writer))
}
-pub fn mt_deserialize_seq<'a, C: MtCfg, T: MtDeserialize>(
- reader: &'a mut impl Read,
-) -> Result<impl Iterator<Item = Result<T, DeserializeError>> + 'a, DeserializeError> {
+pub fn mt_deserialize_seq<C: MtCfg, T: MtDeserialize>(
+ reader: &mut impl Read,
+) -> Result<impl Iterator<Item = Result<T, DeserializeError>> + '_, DeserializeError> {
let len = C::read_len(reader)?;
mt_deserialize_sized_seq::<C, _>(&len, reader)
}