about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2021-12-14 10:21:07 +0100
committerGitHub <noreply@github.com>2021-12-14 10:21:07 +0100
commitd0e6bb707663d03e6cbbe3e0c5168327b138a405 (patch)
tree4edcb38cbfe400ae93099942f82a706b0c8a9592 /src
parent3a42dc8be1226740495400ce189b2db6087610ac (diff)
parent75729afcc040f8df101baebc7eba438dfb044d72 (diff)
downloadrust-d0e6bb707663d03e6cbbe3e0c5168327b138a405.tar.gz
rust-d0e6bb707663d03e6cbbe3e0c5168327b138a405.zip
Rollup merge of #91892 - compiler-errors:fix-inferty-hashtable, r=dtolnay
Fix HashStable implementation on InferTy

HashStable impl forgot to hash the discriminant.

Fixes #91807
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/traits/vtable/issue-91807.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/ui/traits/vtable/issue-91807.rs b/src/test/ui/traits/vtable/issue-91807.rs
new file mode 100644
index 00000000000..f435ff09dc3
--- /dev/null
+++ b/src/test/ui/traits/vtable/issue-91807.rs
@@ -0,0 +1,17 @@
+// check-pass
+// incremental
+
+struct Struct<T>(T);
+
+impl<T> std::ops::Deref for Struct<T> {
+    type Target = dyn Fn(T);
+    fn deref(&self) -> &Self::Target {
+        unimplemented!()
+    }
+}
+
+fn main() {
+    let f = Struct(Default::default());
+    f(0);
+    f(0);
+}