File tree Expand file tree Collapse file tree 1 file changed +5
-8
lines changed Expand file tree Collapse file tree 1 file changed +5
-8
lines changed Original file line number Diff line number Diff line change @@ -135,12 +135,12 @@ impl DeriveSequence {
135
135
let ( _, ty_generics, where_clause) = self . generics . split_for_impl ( ) ;
136
136
let ( impl_generics, _, _) = self . generics . split_for_impl ( ) ;
137
137
138
- let mut encoded_lengths = Vec :: new ( ) ;
138
+ let mut sum_lengths = Vec :: new ( ) ;
139
139
let mut encode_fields = Vec :: new ( ) ;
140
140
141
141
for field in & self . fields {
142
142
let field = field. to_encode_tokens ( ) ;
143
- encoded_lengths . push ( quote ! ( #field. encoded_len( ) ?) ) ;
143
+ sum_lengths . push ( quote ! ( let len = ( len + #field. encoded_len( ) ?) ? ; ) ) ;
144
144
encode_fields. push ( quote ! ( #field. encode( writer) ?; ) ) ;
145
145
}
146
146
@@ -149,12 +149,9 @@ impl DeriveSequence {
149
149
impl #impl_generics :: der:: EncodeValue for #ident #ty_generics #where_clause {
150
150
fn value_len( & self ) -> :: der:: Result <:: der:: Length > {
151
151
use :: der:: Encode as _;
152
-
153
- [
154
- #( #encoded_lengths) , *
155
- ]
156
- . into_iter( )
157
- . try_fold( :: der:: Length :: ZERO , |acc, len| acc + len)
152
+ let len = :: der:: Length :: ZERO ;
153
+ #( #sum_lengths) *
154
+ Ok ( len)
158
155
}
159
156
160
157
fn encode_value( & self , writer: & mut impl :: der:: Writer ) -> :: der:: Result <( ) > {
You can’t perform that action at this time.
0 commit comments