aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-05-20 22:54:39 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-05-20 22:54:39 +0200
commit89d9f9ad228271c1777cb6744f365601cd12310b (patch)
treeb3f7e9830594affbfd893f82e4bdbfc42c20f78c
parent0ee5ef7d514c9030e016383e3d90e91d9fba8e92 (diff)
conditionally generate reader limiting code
-rw-r--r--src/lib.rs18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/lib.rs b/src/lib.rs
index ea37815..66a1dcb 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -88,16 +88,14 @@ pub fn derive_deserialize(item: TokenStream) -> TokenStream {
discriminant_for.insert(attr, ());
}
- out.extend(
- vec![quote!(
- let r = if let Some(attr) = len_for.get("#field_name") {
- r.take(attr)
- } else {
- r
- };
- )]
- .into_iter(),
- );
+ if len_for.contains_key(&field_name.to_string()) {
+ out.extend(
+ vec![quote!(
+ let r = r.take(len_for.get("#field_name").unwrap());
+ )]
+ .into_iter(),
+ );
+ }
if discriminant_for.contains_key(&field_name.to_string()) {
out.extend(