about summary refs log tree commit diff
diff options
context:
space:
mode:
authorlcnr <rust@lcnr.de>2022-03-10 08:29:20 +0100
committerlcnr <rust@lcnr.de>2022-03-10 08:29:20 +0100
commit299dd02e11f9165cc9e9b2038eb6723d96767b60 (patch)
tree9658debd8fe5cc0125bfd97d910c013126ee9123
parent01ad0ad653d57a5ccecffb08aff3c5564012f133 (diff)
downloadrust-299dd02e11f9165cc9e9b2038eb6723d96767b60.tar.gz
rust-299dd02e11f9165cc9e9b2038eb6723d96767b60.zip
update `hash_stable` for `List<Ty<'tcx>>`
-rw-r--r--compiler/rustc_middle/src/ty/impls_ty.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/compiler/rustc_middle/src/ty/impls_ty.rs b/compiler/rustc_middle/src/ty/impls_ty.rs
index 54a345daec8..1dc7083c2a0 100644
--- a/compiler/rustc_middle/src/ty/impls_ty.rs
+++ b/compiler/rustc_middle/src/ty/impls_ty.rs
@@ -73,18 +73,16 @@ impl<'a, 'tcx> HashStable<StableHashingContext<'a>> for ty::subst::GenericArgKin
             //
             // In order to make it very unlikely for the sequence of bytes being hashed for
             // a `GenericArgKind::Type` to be the same as the sequence of bytes being
-            // hashed for one of the other variants, we hash a `0xFF` byte before hashing
-            // their discriminant (since the discriminant of `TyKind` is unlikely to ever start
-            // with 0xFF).
+            // hashed for one of the other variants, we hash some very high number instead
+            // of their actual discriminant since `TyKind` should never start with anything
+            // that high.
             ty::subst::GenericArgKind::Type(ty) => ty.hash_stable(hcx, hasher),
             ty::subst::GenericArgKind::Const(ct) => {
-                0xFFu8.hash_stable(hcx, hasher);
-                mem::discriminant(self).hash_stable(hcx, hasher);
+                0xF3u8.hash_stable(hcx, hasher).hash_stable(hcx, hasher);
                 ct.hash_stable(hcx, hasher);
             }
             ty::subst::GenericArgKind::Lifetime(lt) => {
-                0xFFu8.hash_stable(hcx, hasher);
-                mem::discriminant(self).hash_stable(hcx, hasher);
+                0xF5u8.hash_stable(hcx, hasher);
                 lt.hash_stable(hcx, hasher);
             }
         }