@@ -3487,7 +3487,6 @@ mod test_map {
34873487 use super :: DefaultHashBuilder ;
34883488 use super :: Entry :: { Occupied , Vacant } ;
34893489 use super :: { HashMap , RawEntryMut } ;
3490- use crate :: TryReserveError :: * ;
34913490 use rand:: { rngs:: SmallRng , Rng , SeedableRng } ;
34923491 use std:: borrow:: ToOwned ;
34933492 use std:: cell:: RefCell ;
@@ -3556,6 +3555,7 @@ mod test_map {
35563555 assert_eq ! ( m. len( ) , 1 ) ;
35573556 assert ! ( m. insert( 2 , 4 ) . is_none( ) ) ;
35583557 assert_eq ! ( m. len( ) , 2 ) ;
3558+ #[ allow( clippy:: redundant_clone) ]
35593559 let m2 = m. clone ( ) ;
35603560 assert_eq ! ( * m2. get( & 1 ) . unwrap( ) , 2 ) ;
35613561 assert_eq ! ( * m2. get( & 2 ) . unwrap( ) , 4 ) ;
@@ -3709,6 +3709,7 @@ mod test_map {
37093709 }
37103710 } ) ;
37113711
3712+ #[ allow( clippy:: let_underscore_drop) ] // kind-of a false positive
37123713 for _ in half. by_ref ( ) { }
37133714
37143715 DROP_VECTOR . with ( |v| {
@@ -3920,7 +3921,7 @@ mod test_map {
39203921 fn test_keys ( ) {
39213922 let vec = vec ! [ ( 1 , 'a' ) , ( 2 , 'b' ) , ( 3 , 'c' ) ] ;
39223923 let map: HashMap < _ , _ > = vec. into_iter ( ) . collect ( ) ;
3923- let keys: Vec < _ > = map. keys ( ) . cloned ( ) . collect ( ) ;
3924+ let keys: Vec < _ > = map. keys ( ) . copied ( ) . collect ( ) ;
39243925 assert_eq ! ( keys. len( ) , 3 ) ;
39253926 assert ! ( keys. contains( & 1 ) ) ;
39263927 assert ! ( keys. contains( & 2 ) ) ;
@@ -3931,7 +3932,7 @@ mod test_map {
39313932 fn test_values ( ) {
39323933 let vec = vec ! [ ( 1 , 'a' ) , ( 2 , 'b' ) , ( 3 , 'c' ) ] ;
39333934 let map: HashMap < _ , _ > = vec. into_iter ( ) . collect ( ) ;
3934- let values: Vec < _ > = map. values ( ) . cloned ( ) . collect ( ) ;
3935+ let values: Vec < _ > = map. values ( ) . copied ( ) . collect ( ) ;
39353936 assert_eq ! ( values. len( ) , 3 ) ;
39363937 assert ! ( values. contains( & 'a' ) ) ;
39373938 assert ! ( values. contains( & 'b' ) ) ;
@@ -3943,9 +3944,9 @@ mod test_map {
39433944 let vec = vec ! [ ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ] ;
39443945 let mut map: HashMap < _ , _ > = vec. into_iter ( ) . collect ( ) ;
39453946 for value in map. values_mut ( ) {
3946- * value = ( * value ) * 2
3947+ * value *= 2 ;
39473948 }
3948- let values: Vec < _ > = map. values ( ) . cloned ( ) . collect ( ) ;
3949+ let values: Vec < _ > = map. values ( ) . copied ( ) . collect ( ) ;
39493950 assert_eq ! ( values. len( ) , 3 ) ;
39503951 assert ! ( values. contains( & 2 ) ) ;
39513952 assert ! ( values. contains( & 4 ) ) ;
@@ -4110,7 +4111,7 @@ mod test_map {
41104111 fn test_from_iter ( ) {
41114112 let xs = [ ( 1 , 1 ) , ( 2 , 2 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) , ( 5 , 5 ) , ( 6 , 6 ) ] ;
41124113
4113- let map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4114+ let map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
41144115
41154116 for & ( k, v) in & xs {
41164117 assert_eq ! ( map. get( & k) , Some ( & v) ) ;
@@ -4123,7 +4124,7 @@ mod test_map {
41234124 fn test_size_hint ( ) {
41244125 let xs = [ ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) , ( 5 , 5 ) , ( 6 , 6 ) ] ;
41254126
4126- let map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4127+ let map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
41274128
41284129 let mut iter = map. iter ( ) ;
41294130
@@ -4136,7 +4137,7 @@ mod test_map {
41364137 fn test_iter_len ( ) {
41374138 let xs = [ ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) , ( 5 , 5 ) , ( 6 , 6 ) ] ;
41384139
4139- let map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4140+ let map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
41404141
41414142 let mut iter = map. iter ( ) ;
41424143
@@ -4149,7 +4150,7 @@ mod test_map {
41494150 fn test_mut_size_hint ( ) {
41504151 let xs = [ ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) , ( 5 , 5 ) , ( 6 , 6 ) ] ;
41514152
4152- let mut map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4153+ let mut map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
41534154
41544155 let mut iter = map. iter_mut ( ) ;
41554156
@@ -4162,7 +4163,7 @@ mod test_map {
41624163 fn test_iter_mut_len ( ) {
41634164 let xs = [ ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) , ( 5 , 5 ) , ( 6 , 6 ) ] ;
41644165
4165- let mut map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4166+ let mut map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
41664167
41674168 let mut iter = map. iter_mut ( ) ;
41684169
@@ -4191,14 +4192,15 @@ mod test_map {
41914192 map. insert ( 2 , 1 ) ;
41924193 map. insert ( 3 , 4 ) ;
41934194
4195+ #[ allow( clippy:: no_effect) ] // false positive lint
41944196 map[ & 4 ] ;
41954197 }
41964198
41974199 #[ test]
41984200 fn test_entry ( ) {
41994201 let xs = [ ( 1 , 10 ) , ( 2 , 20 ) , ( 3 , 30 ) , ( 4 , 40 ) , ( 5 , 50 ) , ( 6 , 60 ) ] ;
42004202
4201- let mut map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4203+ let mut map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
42024204
42034205 // Existing key (insert)
42044206 match map. entry ( 1 ) {
@@ -4327,11 +4329,11 @@ mod test_map {
43274329 let key = "hello there" ;
43284330 let value = "value goes here" ;
43294331 assert ! ( a. is_empty( ) ) ;
4330- a. insert ( key. clone ( ) , value. clone ( ) ) ;
4332+ a. insert ( key, value) ;
43314333 assert_eq ! ( a. len( ) , 1 ) ;
43324334 assert_eq ! ( a[ key] , value) ;
43334335
4334- match a. entry ( key. clone ( ) ) {
4336+ match a. entry ( key) {
43354337 Vacant ( _) => panic ! ( ) ,
43364338 Occupied ( e) => assert_eq ! ( key, * e. key( ) ) ,
43374339 }
@@ -4346,11 +4348,11 @@ mod test_map {
43464348 let value = "value goes here" ;
43474349
43484350 assert ! ( a. is_empty( ) ) ;
4349- match a. entry ( key. clone ( ) ) {
4351+ match a. entry ( key) {
43504352 Occupied ( _) => panic ! ( ) ,
43514353 Vacant ( e) => {
43524354 assert_eq ! ( key, * e. key( ) ) ;
4353- e. insert ( value. clone ( ) ) ;
4355+ e. insert ( value) ;
43544356 }
43554357 }
43564358 assert_eq ! ( a. len( ) , 1 ) ;
@@ -4615,10 +4617,12 @@ mod test_map {
46154617 #[ test]
46164618 #[ cfg_attr( miri, ignore) ] // FIXME: no OOM signalling (https://github.com/rust-lang/miri/issues/613)
46174619 fn test_try_reserve ( ) {
4618- let mut empty_bytes : HashMap < u8 , u8 > = HashMap :: new ( ) ;
4620+ use crate :: TryReserveError :: { AllocError , CapacityOverflow } ;
46194621
46204622 const MAX_USIZE : usize = usize:: MAX ;
46214623
4624+ let mut empty_bytes: HashMap < u8 , u8 > = HashMap :: new ( ) ;
4625+
46224626 if let Err ( CapacityOverflow ) = empty_bytes. try_reserve ( MAX_USIZE ) {
46234627 } else {
46244628 panic ! ( "usize::MAX should trigger an overflow!" ) ;
@@ -4644,9 +4648,9 @@ mod test_map {
46444648 fn test_raw_entry ( ) {
46454649 use super :: RawEntryMut :: { Occupied , Vacant } ;
46464650
4647- let xs = [ ( 1i32 , 10i32 ) , ( 2 , 20 ) , ( 3 , 30 ) , ( 4 , 40 ) , ( 5 , 50 ) , ( 6 , 60 ) ] ;
4651+ let xs = [ ( 1_i32 , 10_i32 ) , ( 2 , 20 ) , ( 3 , 30 ) , ( 4 , 40 ) , ( 5 , 50 ) , ( 6 , 60 ) ] ;
46484652
4649- let mut map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4653+ let mut map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
46504654
46514655 let compute_hash = |map : & HashMap < i32 , i32 > , k : i32 | -> u64 {
46524656 super :: make_insert_hash :: < i32 , _ > ( map. hasher ( ) , & k)
@@ -4719,7 +4723,7 @@ mod test_map {
47194723 // Ensure all lookup methods produce equivalent results.
47204724 for k in 0 ..12 {
47214725 let hash = compute_hash ( & map, k) ;
4722- let v = map. get ( & k) . cloned ( ) ;
4726+ let v = map. get ( & k) . copied ( ) ;
47234727 let kv = v. as_ref ( ) . map ( |v| ( & k, v) ) ;
47244728
47254729 assert_eq ! ( map. raw_entry( ) . from_key( & k) , kv) ;
@@ -4876,7 +4880,7 @@ mod test_map {
48764880 const EMPTY_MAP : HashMap < u32 , std:: string:: String , MyHasher > =
48774881 HashMap :: with_hasher ( MyHasher ) ;
48784882
4879- let mut map = EMPTY_MAP . clone ( ) ;
4883+ let mut map = EMPTY_MAP ;
48804884 map. insert ( 17 , "seventeen" . to_owned ( ) ) ;
48814885 assert_eq ! ( "seventeen" , map[ & 17 ] ) ;
48824886 }
0 commit comments