summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2020-01-08 16:29:04 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-01-12 21:32:44 -0500
commit1fd766ca7ac1feea1e9c752f8ce438fab8e01d35 (patch)
treef25a493cfbb54c7159b31db8e0c48d9341ce20a6
parent61916c5d038c3b0e87148d3b46149a32f7379ea9 (diff)
downloadhaskell-1fd766ca7ac1feea1e9c752f8ce438fab8e01d35.tar.gz
Comments about constraint floating
-rw-r--r--compiler/typecheck/TcSimplify.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/typecheck/TcSimplify.hs b/compiler/typecheck/TcSimplify.hs
index ddd53145ca..63a1552932 100644
--- a/compiler/typecheck/TcSimplify.hs
+++ b/compiler/typecheck/TcSimplify.hs
@@ -2544,6 +2544,11 @@ Here (1,2,3) are handled by the "seed_skols" calculation, and
The possible dependence on givens, and evidence bindings, is more
subtle than we'd realised at first. See #14584.
+How can (4) arise? Suppose we have (k :: *), (a :: k), and ([G} k ~ *).
+Then form an equality like (a ~ Int) we might end up with
+ [W] co1 :: k ~ *
+ [W] co2 :: (a |> co1) ~ Int
+
*********************************************************************************
* *