Skip to content

Commit 0fbce40

Browse files
authored
der: rename decode_value fns for cleaner cargo bloat output (#1802)
1 parent 0948909 commit 0fbce40

2 files changed

Lines changed: 26 additions & 18 deletions

File tree

der/src/asn1/sequence_of.rs

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,19 @@ where
181181
}
182182
}
183183

184+
#[cfg(feature = "alloc")]
185+
fn decode_value_vec_inner<'a, T: Decode<'a>, R: Reader<'a>>(
186+
reader: &mut R,
187+
) -> Result<Vec<T>, T::Error> {
188+
let mut sequence_of = Vec::<T>::new();
189+
190+
while !reader.is_finished() {
191+
sequence_of.push(T::decode(reader)?);
192+
}
193+
194+
Ok(sequence_of)
195+
}
196+
184197
#[cfg(feature = "alloc")]
185198
impl<'a, T> DecodeValue<'a> for Vec<T>
186199
where
@@ -189,15 +202,7 @@ where
189202
type Error = T::Error;
190203

191204
fn decode_value<R: Reader<'a>>(reader: &mut R, header: Header) -> Result<Self, Self::Error> {
192-
reader.read_nested(header.length, |reader| {
193-
let mut sequence_of = Self::new();
194-
195-
while !reader.is_finished() {
196-
sequence_of.push(T::decode(reader)?);
197-
}
198-
199-
Ok(sequence_of)
200-
})
205+
reader.read_nested(header.length, decode_value_vec_inner)
201206
}
202207
}
203208

der_derive/src/sequence.rs

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -104,22 +104,25 @@ impl DeriveSequence {
104104
let error = self.error.to_token_stream();
105105

106106
quote! {
107+
impl #impl_generics #ident #ty_generics #where_clause {
108+
fn decode_value_inner<R: ::der::Reader<#lifetime>>(reader: &mut R) -> ::core::result::Result<Self, #error> {
109+
use ::der::{Decode as _, DecodeValue as _, Reader as _};
110+
#(#decode_body)*
111+
112+
Ok(Self {
113+
#(#decode_result),*
114+
})
115+
}
116+
}
117+
107118
impl #impl_generics ::der::DecodeValue<#lifetime> for #ident #ty_generics #where_clause {
108119
type Error = #error;
109120

110121
fn decode_value<R: ::der::Reader<#lifetime>>(
111122
reader: &mut R,
112123
header: ::der::Header,
113124
) -> ::core::result::Result<Self, #error> {
114-
use ::der::{Decode as _, DecodeValue as _, Reader as _};
115-
116-
reader.read_nested(header.length, |reader| {
117-
#(#decode_body)*
118-
119-
Ok(Self {
120-
#(#decode_result),*
121-
})
122-
})
125+
reader.read_nested(header.length, Self::decode_value_inner)
123126
}
124127
}
125128
}

0 commit comments

Comments
 (0)