blob: e45e4bbc3ce7371e6aaaaca13998e63263f55da2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
#![warn(clippy::manual_hash_one)]
#![allow(clippy::needless_borrows_for_generic_args)]
use std::hash::{BuildHasher, Hash, Hasher};
fn returned(b: impl BuildHasher) -> u64 {
b.hash_one(&true)
//~^ manual_hash_one
}
fn unsized_receiver(b: impl BuildHasher, s: &str) {
let _ = b.hash_one(&s[4..10]);
//~^ manual_hash_one
}
fn owned_value(b: impl BuildHasher, v: Vec<u32>) -> Vec<u32> {
let _ = b.hash_one(&v);
//~^ manual_hash_one
v
}
fn reused_hasher(b: impl BuildHasher) {
let mut hasher = b.build_hasher();
true.hash(&mut hasher);
let _ = hasher.finish();
let _ = hasher.finish();
}
fn reused_hasher_in_return(b: impl BuildHasher) -> u64 {
let mut hasher = b.build_hasher();
true.hash(&mut hasher);
let _ = hasher.finish();
hasher.finish()
}
fn no_hash(b: impl BuildHasher) {
let mut hasher = b.build_hasher();
let _ = hasher.finish();
}
fn hash_twice(b: impl BuildHasher) {
let mut hasher = b.build_hasher();
true.hash(&mut hasher);
true.hash(&mut hasher);
let _ = hasher.finish();
}
fn other_hasher(b: impl BuildHasher) {
let mut other_hasher = b.build_hasher();
let mut hasher = b.build_hasher();
true.hash(&mut other_hasher);
let _ = hasher.finish();
}
fn finish_then_hash(b: impl BuildHasher) {
let mut hasher = b.build_hasher();
let _ = hasher.finish();
true.hash(&mut hasher);
}
fn in_macro(b: impl BuildHasher) {
macro_rules! m {
($b:expr) => {{
let mut hasher = $b.build_hasher();
true.hash(&mut hasher);
let _ = hasher.finish();
}};
}
m!(b);
}
#[clippy::msrv = "1.70"]
fn msrv_1_70(b: impl BuildHasher, v: impl Hash) {
let mut hasher = b.build_hasher();
v.hash(&mut hasher);
let _ = hasher.finish();
}
#[clippy::msrv = "1.71"]
fn msrv_1_71(b: impl BuildHasher, v: impl Hash) {
let _ = b.hash_one(&v);
//~^ manual_hash_one
}
|