@@ -578,13 +578,7 @@ where
578
578
{
579
579
fn decode ( d : & mut D ) -> BTreeMap < K , V > {
580
580
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 ( )
588
582
}
589
583
}
590
584
@@ -606,11 +600,7 @@ where
606
600
{
607
601
fn decode ( d : & mut D ) -> BTreeSet < T > {
608
602
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 ( )
614
604
}
615
605
}
616
606
@@ -637,14 +627,7 @@ where
637
627
{
638
628
fn decode ( d : & mut D ) -> HashMap < K , V , S > {
639
629
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 ( )
648
631
}
649
632
}
650
633
@@ -668,12 +651,7 @@ where
668
651
{
669
652
fn decode ( d : & mut D ) -> HashSet < T , S > {
670
653
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 ( )
677
655
}
678
656
}
679
657
@@ -700,14 +678,7 @@ where
700
678
{
701
679
fn decode ( d : & mut D ) -> indexmap:: IndexMap < K , V , S > {
702
680
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 ( )
711
682
}
712
683
}
713
684
@@ -731,12 +702,7 @@ where
731
702
{
732
703
fn decode ( d : & mut D ) -> indexmap:: IndexSet < T , S > {
733
704
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 ( )
740
706
}
741
707
}
742
708
0 commit comments