@@ -578,13 +578,7 @@ where
578578{
579579 fn decode ( d : & mut D ) -> BTreeMap < K , V > {
580580 let len = d. read_usize ( ) ;
581- let mut map = BTreeMap :: new ( ) ;
582- for _ in 0 ..len {
583- let key = Decodable :: decode ( d) ;
584- let val = Decodable :: decode ( d) ;
585- map. insert ( key, val) ;
586- }
587- map
581+ ( 0 ..len) . map ( |_| ( Decodable :: decode ( d) , Decodable :: decode ( d) ) ) . collect ( )
588582 }
589583}
590584
@@ -606,11 +600,7 @@ where
606600{
607601 fn decode ( d : & mut D ) -> BTreeSet < T > {
608602 let len = d. read_usize ( ) ;
609- let mut set = BTreeSet :: new ( ) ;
610- for _ in 0 ..len {
611- set. insert ( Decodable :: decode ( d) ) ;
612- }
613- set
603+ ( 0 ..len) . map ( |_| Decodable :: decode ( d) ) . collect ( )
614604 }
615605}
616606
@@ -637,14 +627,7 @@ where
637627{
638628 fn decode ( d : & mut D ) -> HashMap < K , V , S > {
639629 let len = d. read_usize ( ) ;
640- let state = Default :: default ( ) ;
641- let mut map = HashMap :: with_capacity_and_hasher ( len, state) ;
642- for _ in 0 ..len {
643- let key = Decodable :: decode ( d) ;
644- let val = Decodable :: decode ( d) ;
645- map. insert ( key, val) ;
646- }
647- map
630+ ( 0 ..len) . map ( |_| ( Decodable :: decode ( d) , Decodable :: decode ( d) ) ) . collect ( )
648631 }
649632}
650633
@@ -668,12 +651,7 @@ where
668651{
669652 fn decode ( d : & mut D ) -> HashSet < T , S > {
670653 let len = d. read_usize ( ) ;
671- let state = Default :: default ( ) ;
672- let mut set = HashSet :: with_capacity_and_hasher ( len, state) ;
673- for _ in 0 ..len {
674- set. insert ( Decodable :: decode ( d) ) ;
675- }
676- set
654+ ( 0 ..len) . map ( |_| Decodable :: decode ( d) ) . collect ( )
677655 }
678656}
679657
@@ -700,14 +678,7 @@ where
700678{
701679 fn decode ( d : & mut D ) -> indexmap:: IndexMap < K , V , S > {
702680 let len = d. read_usize ( ) ;
703- let state = Default :: default ( ) ;
704- let mut map = indexmap:: IndexMap :: with_capacity_and_hasher ( len, state) ;
705- for _ in 0 ..len {
706- let key = Decodable :: decode ( d) ;
707- let val = Decodable :: decode ( d) ;
708- map. insert ( key, val) ;
709- }
710- map
681+ ( 0 ..len) . map ( |_| ( Decodable :: decode ( d) , Decodable :: decode ( d) ) ) . collect ( )
711682 }
712683}
713684
@@ -731,12 +702,7 @@ where
731702{
732703 fn decode ( d : & mut D ) -> indexmap:: IndexSet < T , S > {
733704 let len = d. read_usize ( ) ;
734- let state = Default :: default ( ) ;
735- let mut set = indexmap:: IndexSet :: with_capacity_and_hasher ( len, state) ;
736- for _ in 0 ..len {
737- set. insert ( Decodable :: decode ( d) ) ;
738- }
739- set
705+ ( 0 ..len) . map ( |_| Decodable :: decode ( d) ) . collect ( )
740706 }
741707}
742708
0 commit comments