summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2013-02-14 11:41:30 +0000
committerSimon Peyton Jones <simonpj@microsoft.com>2013-02-14 11:41:30 +0000
commitf20312f90db4a0c8dc9d6e91b2a4b3a370b2f9c9 (patch)
treec625594129829ef8e4514e0fe3b4615016b3dd47
parent503b265079a0d637a2565601d13a8236950ba8f3 (diff)
downloadhaskell-f20312f90db4a0c8dc9d6e91b2a4b3a370b2f9c9.tar.gz
Comments only
-rw-r--r--compiler/typecheck/TcSimplify.lhs2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/typecheck/TcSimplify.lhs b/compiler/typecheck/TcSimplify.lhs
index b69962f715..de19b912ac 100644
--- a/compiler/typecheck/TcSimplify.lhs
+++ b/compiler/typecheck/TcSimplify.lhs
@@ -266,6 +266,7 @@ simplifyInfer _top_lvl apply_mr name_taus wanteds
meta_tvs = filter isMetaTyVar (varSetElems (tyVarsOfCts quant_cand))
; ((flats, _insols), _extra_binds) <- runTcS $
do { mapM_ (promoteAndDefaultTyVar untch gbl_tvs) meta_tvs
+ -- See Note [Promote _and_ default when inferring]
; _implics <- solveInteract quant_cand
; getInertUnsolved }
; return (map ctPred $ filter isWantedCt (bagToList flats)) }
@@ -910,6 +911,7 @@ have an instance (C ((x:*) -> Int)). The instance doesn't match -- but it
should! If we don't solve the constraint, we'll stupidly quantify over
(C (a->Int)) and, worse, in doing so zonkQuantifiedTyVar will quantify over
(b:*) instead of (a:OpenKind), which can lead to disaster; see Trac #7332.
+Trac #7641 is a simpler example.
Note [Float Equalities out of Implications]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~