Add a couple of HasDebugCallStack contexts
authorSimon Peyton Jones <simonpj@microsoft.com>
Wed, 29 Mar 2017 08:01:58 +0000 (09:01 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Wed, 29 Mar 2017 08:02:53 +0000 (09:02 +0100)
Just for future (and past) debugging...

compiler/types/Coercion.hs
compiler/types/Coercion.hs-boot

index 86f9d76..e1dcfde 100644 (file)
@@ -426,7 +426,7 @@ mkHeteroCoercionType Phantom          = panic "mkHeteroCoercionType"
 
 -- | Given a coercion @co1 :: (a :: TYPE r1) ~ (b :: TYPE r2)@,
 -- produce a coercion @rep_co :: r1 ~ r2@.
-mkRuntimeRepCo :: Coercion -> Coercion
+mkRuntimeRepCo :: HasDebugCallStack => Coercion -> Coercion
 mkRuntimeRepCo co
   = mkNthCo 0 kind_co
   where
@@ -1530,7 +1530,7 @@ liftCoSubstWith r tvs cos ty
 -- that coerces between @lc_left(ty)@ and @lc_right(ty)@, where
 -- @lc_left@ is a substitution mapping type variables to the left-hand
 -- types of the mapped coercions in @lc@, and similar for @lc_right@.
-liftCoSubst :: Role -> LiftingContext -> Type -> Coercion
+liftCoSubst :: HasDebugCallStack => Role -> LiftingContext -> Type -> Coercion
 liftCoSubst r lc@(LC subst env) ty
   | isEmptyVarEnv env = Refl r (substTy subst ty)
   | otherwise         = ty_co_subst lc r ty
index eefefd0..dd10d6e 100644 (file)
@@ -42,7 +42,7 @@ coVarRole :: CoVar -> Role
 mkCoercionType :: Role -> Type -> Type -> Type
 
 data LiftingContext
-liftCoSubst :: Role -> LiftingContext -> Type -> Coercion
+liftCoSubst :: HasDebugCallStack => Role -> LiftingContext -> Type -> Coercion
 seqCo :: Coercion -> ()
 
 coercionKind :: Coercion -> Pair Type