summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2015-05-01 15:51:10 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2015-05-07 09:10:14 +0100
commitd1295da3a4031cd102de77ab65d6d5b9b452213c (patch)
treebc61a1f846116fc6bc93ca96ec039345e33a0444
parent97d320f56b5848d6ba2c723c6e7f04f98e349a86 (diff)
downloadhaskell-d1295da3a4031cd102de77ab65d6d5b9b452213c.tar.gz
Comments only
-rw-r--r--compiler/typecheck/TcFlatten.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/typecheck/TcFlatten.hs b/compiler/typecheck/TcFlatten.hs
index 4c74ba9cb1..09ed3402b8 100644
--- a/compiler/typecheck/TcFlatten.hs
+++ b/compiler/typecheck/TcFlatten.hs
@@ -1576,6 +1576,11 @@ Consider f1 = (Given, ReprEq)
f2 = (Derived, NomEq)
f = (Derived, ReprEq)
+I thought maybe we could never get Derived ReprEq constraints, but
+we can; straight from the Wanteds during improvment. And from a Derived
+ReprEq we could conceivably get a Derived NomEq improvment (by decomposing
+a type constructor with Nomninal role), and hence unify.
+
Note [canRewriteOrSame]
~~~~~~~~~~~~~~~~~~~~~~~
canRewriteOrSame is similar but