diff options
-rw-r--r-- | compiler/ghci/ByteCodeGen.lhs | 3 | ||||
-rw-r--r-- | compiler/types/Type.lhs | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/compiler/ghci/ByteCodeGen.lhs b/compiler/ghci/ByteCodeGen.lhs index c8b1b303b5..c84d84a78c 100644 --- a/compiler/ghci/ByteCodeGen.lhs +++ b/compiler/ghci/ByteCodeGen.lhs @@ -482,6 +482,9 @@ schemeE d s p exp@(AnnTick (Breakpoint _id _fvs) _rhs) -- ignore other kinds of tick schemeE d s p (AnnTick _ (_, rhs)) = schemeE d s p rhs +schemeE d s p (AnnCase (_,scrut) _ _ []) = schemeE d s p scrut + -- no alts: scrut is guaranteed to diverge + schemeE d s p (AnnCase scrut _ _ [(DataAlt dc, [bind1, bind2], rhs)]) | isUnboxedTupleCon dc, VoidArg <- typeCgRep (idType bind1) -- Convert diff --git a/compiler/types/Type.lhs b/compiler/types/Type.lhs index f81aebbfcd..62cc7bbfd1 100644 --- a/compiler/types/Type.lhs +++ b/compiler/types/Type.lhs @@ -285,7 +285,7 @@ expandTypeSynonyms ty = TyConApp tc (map go tys) go (LitTy l) = LitTy l go (TyVarTy tv) = TyVarTy tv - go (AppTy t1 t2) = AppTy (go t1) (go t2) + go (AppTy t1 t2) = mkAppTy (go t1) (go t2) go (FunTy t1 t2) = FunTy (go t1) (go t2) go (ForAllTy tv t) = ForAllTy tv (go t) \end{code} |