@@ -81,15 +81,14 @@ where
8181 V : Decodable < D > ,
8282{
8383 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
9392 }
9493}
9594
@@ -145,16 +144,15 @@ where
145144 S : BuildHasher + Default ,
146145{
147146 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
158156 }
159157}
160158
@@ -223,16 +221,15 @@ where
223221 S : BuildHasher + Default ,
224222{
225223 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
236233 }
237234}
238235
0 commit comments