From 09043598bab8c4a83846be6365d314209ca2004d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20K=C3=A4nner?= Date: Sat, 3 Aug 2024 13:16:40 +0200 Subject: [PATCH] make miniconf serialization and deserialization obey limits --- src/lib.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index c0cd1fb..cd74633 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -467,7 +467,7 @@ fn generate_tree_serialize(ident: &Ident, consts: &[Ident]) -> TokenStream2 { let matches = consts.iter().enumerate().map(|(i, ident)| { let index = i + 1; quote! { - #index => ::miniconf::Serialize::serialize(&Self::#ident, ser).map_err(|err| ::miniconf::Error::Inner(0, err))?, + #index => Self::#ident.serialize(ser).map_err(|err| ::miniconf::Error::Inner(0, err))?, } }); quote! { @@ -483,7 +483,7 @@ fn generate_tree_serialize(ident: &Ident, consts: &[Ident]) -> TokenStream2 { { let ::core::result::Result::Ok(key) = keys.next::() else { return ::miniconf::Error::increment_result({ - ::miniconf::Serialize::serialize(&self.0, ser).map_err(|err| ::miniconf::Error::Inner(0, err))?; + self.serialize(ser).map_err(|err| ::miniconf::Error::Inner(0, err))?; ::core::result::Result::Ok(0) }); }; @@ -493,7 +493,7 @@ fn generate_tree_serialize(ident: &Ident, consts: &[Ident]) -> TokenStream2 { } ::miniconf::Error::increment_result({ match index { - 0 => ::miniconf::Serialize::serialize(&self.0, ser).map_err(|err| ::miniconf::Error::Inner(0, err))?, + 0 => self.serialize(ser).map_err(|err| ::miniconf::Error::Inner(0, err))?, #(#matches)* _ => unreachable!(), }; @@ -517,7 +517,7 @@ fn generate_tree_deserialize(ident: &Ident, num_keys: usize) -> TokenStream2 { D: ::serde::Deserializer<'de>, { let ::core::result::Result::Ok(key) = keys.next::() else { - self.0 = ::miniconf::Deserialize::deserialize(de).map_err(|err| ::miniconf::Error::Inner(0, err))?; + *self = Self::deserialize(de).map_err(|err| ::miniconf::Error::Inner(0, err))?; return ::core::result::Result::Ok(0); }; let index = ::miniconf::Key::find::(&key).ok_or(::miniconf::Traversal::NotFound(1))?; @@ -526,7 +526,7 @@ fn generate_tree_deserialize(ident: &Ident, num_keys: usize) -> TokenStream2 { } match index { 0 => ::miniconf::Error::increment_result((||{ - self.0 = ::miniconf::Deserialize::deserialize(de).map_err(|err| ::miniconf::Error::Inner(0, err))?; + *self = Self::deserialize(de).map_err(|err| ::miniconf::Error::Inner(0, err))?; Ok(0) })()), 1..=#num_keys => ::core::result::Result::Err(::miniconf::Traversal::Absent(0))?,