- -- the case statement. Also, don't create a binding for applicable
- -- expressions, to prevent loops with inlinefun.
- doalt (con, bndrs, expr) | (not usesvars) && (not $ is_applicable expr) = do
- id <- mkInternalVar "caseval" (CoreUtils.exprType expr)
- -- We don't flag a change here, since casevalsimpl will do that above
- -- based on Just we return here.
- return $ (Just (id, expr), (con, bndrs, Var id))
+ -- the case statement. Also, don't create a binding for non-representable
+ -- expressions, to prevent loops with inlinenonrep.
+ doalt alt@(con, bndrs, expr) = do
+ repr <- isRepr expr