diff options
-rw-r--r-- | compiler/typecheck/TcMType.hs | 2 | ||||
-rw-r--r-- | compiler/types/TyCoRep.hs | 9 |
2 files changed, 6 insertions, 5 deletions
diff --git a/compiler/typecheck/TcMType.hs b/compiler/typecheck/TcMType.hs index 39190680f6..2ec1ea0851 100644 --- a/compiler/typecheck/TcMType.hs +++ b/compiler/typecheck/TcMType.hs @@ -347,7 +347,7 @@ checkCoercionHole cv mco ok :: Type -> Bool ok cv_ty = case mco of - MRefl | EqPred NomEq cv_t1 cv_t2 <- classifyPredType cv_ty + MRefl | EqPred _ cv_t1 cv_t2 <- classifyPredType cv_ty -> cv_t1 `eqType` cv_t2 MCo co | (Pair t1 t2, role) <- coercionKindRole co diff --git a/compiler/types/TyCoRep.hs b/compiler/types/TyCoRep.hs index 065efcd417..0837271b7c 100644 --- a/compiler/types/TyCoRep.hs +++ b/compiler/types/TyCoRep.hs @@ -1168,11 +1168,12 @@ instance Outputable Coercion where -- | A semantically more meaningful type to represent what may or may not be a -- useful 'Coercion'. data MCoercion - = MRefl - -- A trivial Reflexivity coercion - | MCo Coercion - -- Other coercions + = MRefl -- A trivial Reflexivity coercion, + -- could be Nominal or Representational + + | MCo Coercion -- Other coercions; maybe reflexive maybe not deriving Data.Data + type MCoercionR = MCoercion type MCoercionN = MCoercion |