@@ -3487,7 +3487,6 @@ mod test_map {
3487
3487
use super :: DefaultHashBuilder ;
3488
3488
use super :: Entry :: { Occupied , Vacant } ;
3489
3489
use super :: { HashMap , RawEntryMut } ;
3490
- use crate :: TryReserveError :: * ;
3491
3490
use rand:: { rngs:: SmallRng , Rng , SeedableRng } ;
3492
3491
use std:: borrow:: ToOwned ;
3493
3492
use std:: cell:: RefCell ;
@@ -3556,6 +3555,7 @@ mod test_map {
3556
3555
assert_eq ! ( m. len( ) , 1 ) ;
3557
3556
assert ! ( m. insert( 2 , 4 ) . is_none( ) ) ;
3558
3557
assert_eq ! ( m. len( ) , 2 ) ;
3558
+ #[ allow( clippy:: redundant_clone) ]
3559
3559
let m2 = m. clone ( ) ;
3560
3560
assert_eq ! ( * m2. get( & 1 ) . unwrap( ) , 2 ) ;
3561
3561
assert_eq ! ( * m2. get( & 2 ) . unwrap( ) , 4 ) ;
@@ -3709,6 +3709,7 @@ mod test_map {
3709
3709
}
3710
3710
} ) ;
3711
3711
3712
+ #[ allow( clippy:: let_underscore_drop) ] // kind-of a false positive
3712
3713
for _ in half. by_ref ( ) { }
3713
3714
3714
3715
DROP_VECTOR . with ( |v| {
@@ -3920,7 +3921,7 @@ mod test_map {
3920
3921
fn test_keys ( ) {
3921
3922
let vec = vec ! [ ( 1 , 'a' ) , ( 2 , 'b' ) , ( 3 , 'c' ) ] ;
3922
3923
let map: HashMap < _ , _ > = vec. into_iter ( ) . collect ( ) ;
3923
- let keys: Vec < _ > = map. keys ( ) . cloned ( ) . collect ( ) ;
3924
+ let keys: Vec < _ > = map. keys ( ) . copied ( ) . collect ( ) ;
3924
3925
assert_eq ! ( keys. len( ) , 3 ) ;
3925
3926
assert ! ( keys. contains( & 1 ) ) ;
3926
3927
assert ! ( keys. contains( & 2 ) ) ;
@@ -3931,7 +3932,7 @@ mod test_map {
3931
3932
fn test_values ( ) {
3932
3933
let vec = vec ! [ ( 1 , 'a' ) , ( 2 , 'b' ) , ( 3 , 'c' ) ] ;
3933
3934
let map: HashMap < _ , _ > = vec. into_iter ( ) . collect ( ) ;
3934
- let values: Vec < _ > = map. values ( ) . cloned ( ) . collect ( ) ;
3935
+ let values: Vec < _ > = map. values ( ) . copied ( ) . collect ( ) ;
3935
3936
assert_eq ! ( values. len( ) , 3 ) ;
3936
3937
assert ! ( values. contains( & 'a' ) ) ;
3937
3938
assert ! ( values. contains( & 'b' ) ) ;
@@ -3943,9 +3944,9 @@ mod test_map {
3943
3944
let vec = vec ! [ ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ] ;
3944
3945
let mut map: HashMap < _ , _ > = vec. into_iter ( ) . collect ( ) ;
3945
3946
for value in map. values_mut ( ) {
3946
- * value = ( * value ) * 2
3947
+ * value *= 2 ;
3947
3948
}
3948
- let values: Vec < _ > = map. values ( ) . cloned ( ) . collect ( ) ;
3949
+ let values: Vec < _ > = map. values ( ) . copied ( ) . collect ( ) ;
3949
3950
assert_eq ! ( values. len( ) , 3 ) ;
3950
3951
assert ! ( values. contains( & 2 ) ) ;
3951
3952
assert ! ( values. contains( & 4 ) ) ;
@@ -4110,7 +4111,7 @@ mod test_map {
4110
4111
fn test_from_iter ( ) {
4111
4112
let xs = [ ( 1 , 1 ) , ( 2 , 2 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) , ( 5 , 5 ) , ( 6 , 6 ) ] ;
4112
4113
4113
- let map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4114
+ let map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
4114
4115
4115
4116
for & ( k, v) in & xs {
4116
4117
assert_eq ! ( map. get( & k) , Some ( & v) ) ;
@@ -4123,7 +4124,7 @@ mod test_map {
4123
4124
fn test_size_hint ( ) {
4124
4125
let xs = [ ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) , ( 5 , 5 ) , ( 6 , 6 ) ] ;
4125
4126
4126
- let map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4127
+ let map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
4127
4128
4128
4129
let mut iter = map. iter ( ) ;
4129
4130
@@ -4136,7 +4137,7 @@ mod test_map {
4136
4137
fn test_iter_len ( ) {
4137
4138
let xs = [ ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) , ( 5 , 5 ) , ( 6 , 6 ) ] ;
4138
4139
4139
- let map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4140
+ let map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
4140
4141
4141
4142
let mut iter = map. iter ( ) ;
4142
4143
@@ -4149,7 +4150,7 @@ mod test_map {
4149
4150
fn test_mut_size_hint ( ) {
4150
4151
let xs = [ ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) , ( 5 , 5 ) , ( 6 , 6 ) ] ;
4151
4152
4152
- let mut map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4153
+ let mut map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
4153
4154
4154
4155
let mut iter = map. iter_mut ( ) ;
4155
4156
@@ -4162,7 +4163,7 @@ mod test_map {
4162
4163
fn test_iter_mut_len ( ) {
4163
4164
let xs = [ ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) , ( 5 , 5 ) , ( 6 , 6 ) ] ;
4164
4165
4165
- let mut map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4166
+ let mut map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
4166
4167
4167
4168
let mut iter = map. iter_mut ( ) ;
4168
4169
@@ -4191,14 +4192,15 @@ mod test_map {
4191
4192
map. insert ( 2 , 1 ) ;
4192
4193
map. insert ( 3 , 4 ) ;
4193
4194
4195
+ #[ allow( clippy:: no_effect) ] // false positive lint
4194
4196
map[ & 4 ] ;
4195
4197
}
4196
4198
4197
4199
#[ test]
4198
4200
fn test_entry ( ) {
4199
4201
let xs = [ ( 1 , 10 ) , ( 2 , 20 ) , ( 3 , 30 ) , ( 4 , 40 ) , ( 5 , 50 ) , ( 6 , 60 ) ] ;
4200
4202
4201
- let mut map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4203
+ let mut map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
4202
4204
4203
4205
// Existing key (insert)
4204
4206
match map. entry ( 1 ) {
@@ -4327,11 +4329,11 @@ mod test_map {
4327
4329
let key = "hello there" ;
4328
4330
let value = "value goes here" ;
4329
4331
assert ! ( a. is_empty( ) ) ;
4330
- a. insert ( key. clone ( ) , value. clone ( ) ) ;
4332
+ a. insert ( key, value) ;
4331
4333
assert_eq ! ( a. len( ) , 1 ) ;
4332
4334
assert_eq ! ( a[ key] , value) ;
4333
4335
4334
- match a. entry ( key. clone ( ) ) {
4336
+ match a. entry ( key) {
4335
4337
Vacant ( _) => panic ! ( ) ,
4336
4338
Occupied ( e) => assert_eq ! ( key, * e. key( ) ) ,
4337
4339
}
@@ -4346,11 +4348,11 @@ mod test_map {
4346
4348
let value = "value goes here" ;
4347
4349
4348
4350
assert ! ( a. is_empty( ) ) ;
4349
- match a. entry ( key. clone ( ) ) {
4351
+ match a. entry ( key) {
4350
4352
Occupied ( _) => panic ! ( ) ,
4351
4353
Vacant ( e) => {
4352
4354
assert_eq ! ( key, * e. key( ) ) ;
4353
- e. insert ( value. clone ( ) ) ;
4355
+ e. insert ( value) ;
4354
4356
}
4355
4357
}
4356
4358
assert_eq ! ( a. len( ) , 1 ) ;
@@ -4615,10 +4617,12 @@ mod test_map {
4615
4617
#[ test]
4616
4618
#[ cfg_attr( miri, ignore) ] // FIXME: no OOM signalling (https://github.com/rust-lang/miri/issues/613)
4617
4619
fn test_try_reserve ( ) {
4618
- let mut empty_bytes : HashMap < u8 , u8 > = HashMap :: new ( ) ;
4620
+ use crate :: TryReserveError :: { AllocError , CapacityOverflow } ;
4619
4621
4620
4622
const MAX_USIZE : usize = usize:: MAX ;
4621
4623
4624
+ let mut empty_bytes: HashMap < u8 , u8 > = HashMap :: new ( ) ;
4625
+
4622
4626
if let Err ( CapacityOverflow ) = empty_bytes. try_reserve ( MAX_USIZE ) {
4623
4627
} else {
4624
4628
panic ! ( "usize::MAX should trigger an overflow!" ) ;
@@ -4644,9 +4648,9 @@ mod test_map {
4644
4648
fn test_raw_entry ( ) {
4645
4649
use super :: RawEntryMut :: { Occupied , Vacant } ;
4646
4650
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 ) ] ;
4648
4652
4649
- let mut map: HashMap < _ , _ > = xs. iter ( ) . cloned ( ) . collect ( ) ;
4653
+ let mut map: HashMap < _ , _ > = xs. iter ( ) . copied ( ) . collect ( ) ;
4650
4654
4651
4655
let compute_hash = |map : & HashMap < i32 , i32 > , k : i32 | -> u64 {
4652
4656
super :: make_insert_hash :: < i32 , _ > ( map. hasher ( ) , & k)
@@ -4719,7 +4723,7 @@ mod test_map {
4719
4723
// Ensure all lookup methods produce equivalent results.
4720
4724
for k in 0 ..12 {
4721
4725
let hash = compute_hash ( & map, k) ;
4722
- let v = map. get ( & k) . cloned ( ) ;
4726
+ let v = map. get ( & k) . copied ( ) ;
4723
4727
let kv = v. as_ref ( ) . map ( |v| ( & k, v) ) ;
4724
4728
4725
4729
assert_eq ! ( map. raw_entry( ) . from_key( & k) , kv) ;
@@ -4876,7 +4880,7 @@ mod test_map {
4876
4880
const EMPTY_MAP : HashMap < u32 , std:: string:: String , MyHasher > =
4877
4881
HashMap :: with_hasher ( MyHasher ) ;
4878
4882
4879
- let mut map = EMPTY_MAP . clone ( ) ;
4883
+ let mut map = EMPTY_MAP ;
4880
4884
map. insert ( 17 , "seventeen" . to_owned ( ) ) ;
4881
4885
assert_eq ! ( "seventeen" , map[ & 17 ] ) ;
4882
4886
}
0 commit comments