summaryrefslogtreecommitdiff
path: root/compiler/typecheck/TcCanonical.lhs
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2013-11-28 12:07:14 +0000
committerJoachim Breitner <mail@joachim-breitner.de>2013-11-28 12:36:49 +0000
commit1df2116c221941ef40a0f6f8fb7dcc42c56738e7 (patch)
treeaf3a062adb82421b24b4e90992f870ebd9e7212a /compiler/typecheck/TcCanonical.lhs
parent3fcde749f78f9dbd46d6d48be12567d7ea9dab56 (diff)
downloadhaskell-1df2116c221941ef40a0f6f8fb7dcc42c56738e7.tar.gz
EvCast needs to take a representational coercion
as the coercions for type literals are of that role.
Diffstat (limited to 'compiler/typecheck/TcCanonical.lhs')
-rw-r--r--compiler/typecheck/TcCanonical.lhs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/typecheck/TcCanonical.lhs b/compiler/typecheck/TcCanonical.lhs
index 5428d74e3a..d51fbf6e7b 100644
--- a/compiler/typecheck/TcCanonical.lhs
+++ b/compiler/typecheck/TcCanonical.lhs
@@ -1133,7 +1133,7 @@ canEqLeafTyVar ev tv s2 -- ev :: tv ~ s2
(Just tv1, Just tv2) | tv1 == tv2
-> do { when (isWanted ev) $
ASSERT ( tcCoercionRole co == Nominal )
- setEvBind (ctev_evar ev) (mkEvCast (EvCoercion (mkTcReflCo Nominal xi1)) co)
+ setEvBind (ctev_evar ev) (mkEvCast (EvCoercion (mkTcReflCo Nominal xi1)) (mkTcSubCo co))
; return Stop }
(Just tv1, _) -> do { dflags <- getDynFlags