summaryrefslogtreecommitdiff
path: root/compiler/GHC/Unit/Module
diff options
context:
space:
mode:
authorsheaf <sam.derbyshire@gmail.com>2021-10-21 11:20:57 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-10-22 10:58:44 -0400
commit77c6f3e6be3b94c48ec6c9b7015dab69ae47564e (patch)
treee95282805588c9a03c95b86947b3d67406799d60 /compiler/GHC/Unit/Module
parent7f4e0e91530117fd4d477d553a7f03993b86fe74 (diff)
downloadhaskell-77c6f3e6be3b94c48ec6c9b7015dab69ae47564e.tar.gz
Use tcEqType in GHC.Core.Unify.uVar
Because uVar used eqType instead of tcEqType, it was possible to accumulate a substitution that unified Type and Constraint. For example, a call to `tc_unify_tys` with arguments tys1 = [ k, k ] tys2 = [ Type, Constraint ] would first add `k = Type` to the substitution. That's fine, but then the second call to `uVar` would claim that the substitution also unifies `k` with `Constraint`. This could then be used to cause trouble, as per #20521. Fixes #20521
Diffstat (limited to 'compiler/GHC/Unit/Module')
0 files changed, 0 insertions, 0 deletions