diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2013-02-14 11:41:30 +0000 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2013-02-14 11:41:30 +0000 |
commit | f20312f90db4a0c8dc9d6e91b2a4b3a370b2f9c9 (patch) | |
tree | c625594129829ef8e4514e0fe3b4615016b3dd47 | |
parent | 503b265079a0d637a2565601d13a8236950ba8f3 (diff) | |
download | haskell-f20312f90db4a0c8dc9d6e91b2a4b3a370b2f9c9.tar.gz |
Comments only
-rw-r--r-- | compiler/typecheck/TcSimplify.lhs | 2 |
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] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |