diff options
Diffstat (limited to 'compiler/stranal')
| -rw-r--r-- | compiler/stranal/DmdAnal.lhs | 4 | ||||
| -rw-r--r-- | compiler/stranal/WwLib.lhs | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index afa722fa8a..fab75a0601 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -35,7 +35,7 @@ import TysWiredIn ( unboxedPairDataCon ) import TysPrim ( realWorldStatePrimTy ) import UniqFM ( addToUFM_Directly, lookupUFM_Directly, minusUFM, filterUFM ) -import Type ( isUnLiftedType, eqType, splitTyConApp_maybe ) +import Type ( isUnLiftedType, eqType, tyConAppTyCon_maybe ) import Coercion ( coercionKind ) import Util ( mapAndUnzip, lengthIs, zipEqual ) import BasicTypes ( Arity, TopLevelFlag(..), isTopLevel, isNeverActive, @@ -157,7 +157,7 @@ dmdAnal env dmd (Cast e co) (dmd_ty, e') = dmdAnal env dmd' e to_co = pSnd (coercionKind co) dmd' - | Just (tc, _) <- splitTyConApp_maybe to_co + | Just tc <- tyConAppTyCon_maybe to_co , isRecursiveTyCon tc = evalDmd | otherwise = dmd -- This coerce usually arises from a recursive diff --git a/compiler/stranal/WwLib.lhs b/compiler/stranal/WwLib.lhs index 1b8b270024..7627ac9b04 100644 --- a/compiler/stranal/WwLib.lhs +++ b/compiler/stranal/WwLib.lhs @@ -515,7 +515,7 @@ mk_absent_let :: Id -> Maybe (CoreExpr -> CoreExpr) mk_absent_let arg | not (isUnLiftedType arg_ty) = Just (Let (NonRec arg abs_rhs)) - | Just (tc, _) <- splitTyConApp_maybe arg_ty + | Just tc <- tyConAppTyCon_maybe arg_ty , Just lit <- absentLiteralOf tc = Just (Let (NonRec arg (Lit lit))) | arg_ty `eqType` realWorldStatePrimTy |
