diff options
author | Richard Eisenberg <rae@richarde.dev> | 2020-01-15 22:49:51 +0000 |
---|---|---|
committer | Richard Eisenberg <rae@richarde.dev> | 2021-09-27 20:52:14 -0400 |
commit | 4a570b2bc5bdb4a445f4570519476ae7e89586cf (patch) | |
tree | 0e7d9534684372dbaf90b0ae663726ab9242c5ea /compiler/GHC/Core/Unify.hs | |
parent | 64923cf295ea914db458547432237a5ed1eff571 (diff) | |
download | haskell-wip/T17674.tar.gz |
Compare FunTys as if they were TyConApps.wip/T17674
See Note [Equality on FunTys] in TyCoRep.
Close #17675.
Close #17655, about documentation improvements included in
this patch.
Close #19677, about a further mistake around FunTy.
test cases: typecheck/should_compile/T19677
Diffstat (limited to 'compiler/GHC/Core/Unify.hs')
-rw-r--r-- | compiler/GHC/Core/Unify.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/GHC/Core/Unify.hs b/compiler/GHC/Core/Unify.hs index bd54ecee39..2e6b89f355 100644 --- a/compiler/GHC/Core/Unify.hs +++ b/compiler/GHC/Core/Unify.hs @@ -800,14 +800,14 @@ see Note [Non-trivial definitional equality] in GHC.Core.TyCo.Rep Unlike the "impure unifiers" in the typechecker (the eager unifier in GHC.Tc.Utils.Unify, and the constraint solver itself in GHC.Tc.Solver.Canonical), the pure -unifier It does /not/ work up to ~. +unifier does /not/ work up to ~. The algorithm implemented here is rather delicate, and we depend on it to uphold certain properties. This is a summary of these required properties. Notation: - θ,φ substitutions + θ,φ substitutions ξ type-function-free types τ,σ other types τ♭ type τ, flattened @@ -1067,7 +1067,7 @@ unify_ty :: UMEnv -> UM () -- See Note [Specification of unification] -- Respects newtypes, PredTypes - +-- See Note [Computing equality on types] in GHC.Core.Type unify_ty env ty1 ty2 kco -- See Note [Comparing nullary type synonyms] in GHC.Core.Type. | TyConApp tc1 [] <- ty1 |