We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 0ca3565 commit bfd5bfeCopy full SHA for bfd5bfe
src/test/ui/deriving/deriving-hash.rs
@@ -44,6 +44,17 @@ fn fake_hash<A: Hash>(v: &mut Vec<u8>, a: A) {
44
a.hash(&mut FakeHasher(v));
45
}
46
47
+struct OnlyOneByteHasher;
48
+impl Hasher for OnlyOneByteHasher {
49
+ fn finish(&self) -> u64 {
50
+ unreachable!()
51
+ }
52
+
53
+ fn write(&mut self, bytes: &[u8]) {
54
+ assert_eq!(bytes.len(), 1);
55
56
+}
57
58
fn main() {
59
let person1 = Person {
60
id: 5,
@@ -73,4 +84,13 @@ fn main() {
73
84
let mut v = vec![];
74
85
fake_hash(&mut v, SingleVariantEnum::A(17));
75
86
assert_eq!(vec![17], v);
87
88
+ // issue #39137
89
+ #[repr(u8)]
90
+ #[derive(Hash)]
91
+ enum E {
92
+ A,
93
+ B,
94
95
+ E::A.hash(&mut OnlyOneByteHasher);
76
96
0 commit comments