@@ -81,15 +81,14 @@ where
81
81
V : Decodable < D > ,
82
82
{
83
83
fn decode ( d : & mut D ) -> BTreeMap < K , V > {
84
- d. read_map ( |d, len| {
85
- let mut map = BTreeMap :: new ( ) ;
86
- for _ in 0 ..len {
87
- let key = Decodable :: decode ( d) ;
88
- let val = Decodable :: decode ( d) ;
89
- map. insert ( key, val) ;
90
- }
91
- map
92
- } )
84
+ let len = d. read_usize ( ) ;
85
+ let mut map = BTreeMap :: new ( ) ;
86
+ for _ in 0 ..len {
87
+ let key = Decodable :: decode ( d) ;
88
+ let val = Decodable :: decode ( d) ;
89
+ map. insert ( key, val) ;
90
+ }
91
+ map
93
92
}
94
93
}
95
94
@@ -145,16 +144,15 @@ where
145
144
S : BuildHasher + Default ,
146
145
{
147
146
fn decode ( d : & mut D ) -> HashMap < K , V , S > {
148
- d. read_map ( |d, len| {
149
- let state = Default :: default ( ) ;
150
- let mut map = HashMap :: with_capacity_and_hasher ( len, state) ;
151
- for _ in 0 ..len {
152
- let key = Decodable :: decode ( d) ;
153
- let val = Decodable :: decode ( d) ;
154
- map. insert ( key, val) ;
155
- }
156
- map
157
- } )
147
+ let len = d. read_usize ( ) ;
148
+ let state = Default :: default ( ) ;
149
+ let mut map = HashMap :: with_capacity_and_hasher ( len, state) ;
150
+ for _ in 0 ..len {
151
+ let key = Decodable :: decode ( d) ;
152
+ let val = Decodable :: decode ( d) ;
153
+ map. insert ( key, val) ;
154
+ }
155
+ map
158
156
}
159
157
}
160
158
@@ -223,16 +221,15 @@ where
223
221
S : BuildHasher + Default ,
224
222
{
225
223
fn decode ( d : & mut D ) -> indexmap:: IndexMap < K , V , S > {
226
- d. read_map ( |d, len| {
227
- let state = Default :: default ( ) ;
228
- let mut map = indexmap:: IndexMap :: with_capacity_and_hasher ( len, state) ;
229
- for _ in 0 ..len {
230
- let key = Decodable :: decode ( d) ;
231
- let val = Decodable :: decode ( d) ;
232
- map. insert ( key, val) ;
233
- }
234
- map
235
- } )
224
+ let len = d. read_usize ( ) ;
225
+ let state = Default :: default ( ) ;
226
+ let mut map = indexmap:: IndexMap :: with_capacity_and_hasher ( len, state) ;
227
+ for _ in 0 ..len {
228
+ let key = Decodable :: decode ( d) ;
229
+ let val = Decodable :: decode ( d) ;
230
+ map. insert ( key, val) ;
231
+ }
232
+ map
236
233
}
237
234
}
238
235
0 commit comments