adapt HetMet extensions to new GHC coercion representation
[ghc-hetmet.git] / compiler / typecheck / TcExpr.lhs
index 8b907d2..70592af 100644 (file)
@@ -48,7 +48,7 @@ import Var
 import VarSet
 import VarEnv
 import TysWiredIn
-import TysPrim( intPrimTy )
+import TysPrim( intPrimTy, ecKind )
 import PrimOp( tagToEnumKey )
 import PrelNames
 import Module
@@ -173,18 +173,18 @@ tcExpr (HsHetMetBrak _ e) res_ty =
        ; expr' <-  updHetMetLevel (\old_lev -> (fresh_ec_name:old_lev))
                    $ tcPolyExpr e elt_ty
        ; unifyType (TyVarTy fresh_ec_name) inferred_name
-       ; return $ mkHsWrapCoI coi (HsHetMetBrak (TyVarTy fresh_ec_name) expr') }
+       ; return $ mkHsWrapCo coi (HsHetMetBrak (TyVarTy fresh_ec_name) expr') }
 tcExpr (HsHetMetEsc _ _ e) res_ty =
     do { cur_level <- getHetMetLevel
        ; expr' <-  updHetMetLevel (\old_lev -> tail old_lev)
                    $ tcExpr (unLoc e) (mkTyConApp hetMetCodeTypeTyCon [(TyVarTy $ head cur_level),res_ty])
        ; ty' <- zonkTcType res_ty
-       ; return $ mkHsWrapCoI (ACo res_ty) (HsHetMetEsc (TyVarTy $ head cur_level) ty' (noLoc expr')) }
+       ; return $ HsHetMetEsc (TyVarTy $ head cur_level) ty' (noLoc expr') }
 tcExpr (HsHetMetCSP _ e) res_ty =
     do { cur_level <- getHetMetLevel
        ; expr' <-  updHetMetLevel (\old_lev -> tail old_lev)
                    $ tcExpr (unLoc e) res_ty
-       ; return $ mkHsWrapCoI (ACo res_ty) (HsHetMetCSP (TyVarTy $ head cur_level) (noLoc expr')) }
+       ; return $ HsHetMetCSP (TyVarTy $ head cur_level) (noLoc expr') }
 
 tcExpr (HsApp e1 e2) res_ty = tcApp e1 [e2] res_ty