summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2016-02-29 14:16:18 +0000
committerSimon Peyton Jones <simonpj@microsoft.com>2016-03-01 17:08:32 +0000
commit243e2abb3d50b73ede06f5302e51ba804a9321ec (patch)
treecddb2d49d26c53832a5f32ef07d0a82c08a4e4c6 /compiler
parent3c29c770be7a8c7268dcb8d8624853428aa42071 (diff)
downloadhaskell-243e2abb3d50b73ede06f5302e51ba804a9321ec.tar.gz
Comments only
Diffstat (limited to 'compiler')
-rw-r--r--compiler/typecheck/TcCanonical.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/typecheck/TcCanonical.hs b/compiler/typecheck/TcCanonical.hs
index 2da3153c3c..a5fd412052 100644
--- a/compiler/typecheck/TcCanonical.hs
+++ b/compiler/typecheck/TcCanonical.hs
@@ -866,12 +866,13 @@ can_eq_app ev NomEq s1 t1 s2 t2
-----------------------
-- | Break apart an equality over a casted type
+-- looking like (ty1 |> co1) ~ ty2 (modulo a swap-flag)
canEqCast :: Bool -- are both types flat?
-> CtEvidence
-> EqRel
-> SwapFlag
- -> TcType -> Coercion -- LHS (res. RHS), the casted type
- -> TcType -> TcType -- RHS (res. LHS), both normal and pretty
+ -> TcType -> Coercion -- LHS (res. RHS), ty1 |> co1
+ -> TcType -> TcType -- RHS (res. LHS), ty2 both normal and pretty
-> TcS (StopOrContinue Ct)
canEqCast flat ev eq_rel swapped ty1 co1 ty2 ps_ty2
= do { traceTcS "Decomposing cast" (vcat [ ppr ev