Don't hash non-fresh Ty::Infer or RegionKind::Infer
This commit is contained in:
parent
4b8f431995
commit
91af4f5d0b
3 changed files with 9 additions and 7 deletions
|
@ -198,9 +198,11 @@ impl<'tcx> CtxtInterners<'tcx> {
|
|||
.intern(kind, |kind| {
|
||||
let flags = super::flags::FlagComputation::for_kind(&kind);
|
||||
|
||||
// It's impossible to hash inference regions (and will ICE), so we don't need to try to cache them.
|
||||
// It's impossible to hash inference variables (and will ICE), so we don't need to try to cache them.
|
||||
// Without incremental, we rarely stable-hash types, so let's not do it proactively.
|
||||
let stable_hash = if flags.flags.intersects(TypeFlags::HAS_RE_INFER)
|
||||
let stable_hash = if flags
|
||||
.flags
|
||||
.intersects(TypeFlags::HAS_RE_INFER | TypeFlags::HAS_TY_INFER)
|
||||
|| sess.opts.incremental.is_none()
|
||||
{
|
||||
Fingerprint::ZERO
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue