diff options
author | Joachim Breitner <mail@joachim-breitner.de> | 2013-11-28 12:07:14 +0000 |
---|---|---|
committer | Joachim Breitner <mail@joachim-breitner.de> | 2013-11-28 12:36:49 +0000 |
commit | 1df2116c221941ef40a0f6f8fb7dcc42c56738e7 (patch) | |
tree | af3a062adb82421b24b4e90992f870ebd9e7212a /compiler/typecheck/TcCanonical.lhs | |
parent | 3fcde749f78f9dbd46d6d48be12567d7ea9dab56 (diff) | |
download | haskell-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.lhs | 2 |
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 |