diff options
Diffstat (limited to 'compiler/GHC/HsToCore/ListComp.hs')
-rw-r--r-- | compiler/GHC/HsToCore/ListComp.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/GHC/HsToCore/ListComp.hs b/compiler/GHC/HsToCore/ListComp.hs index 12a40e6c90..9c42d87c6c 100644 --- a/compiler/GHC/HsToCore/ListComp.hs +++ b/compiler/GHC/HsToCore/ListComp.hs @@ -285,7 +285,7 @@ deBindComp pat core_list1 quals core_list2 = do letrec_body = App (Var h) core_list1 rest_expr <- deListComp quals core_fail - core_match <- matchSimply (Var u2) (StmtCtxt (HsDoStmt ListComp)) pat rest_expr core_fail + core_match <- matchSimply (Var u2) (StmtCtxt (HsDoStmt ListComp)) (mkVisPat pat) rest_expr core_fail let rhs = Lam u1 $ @@ -374,7 +374,7 @@ dfBindComp c_id n_id (pat, core_list1) quals = do -- build the pattern match core_expr <- matchSimply (Var x) (StmtCtxt (HsDoStmt ListComp)) - pat core_rest (Var b) + (mkVisPat pat) core_rest (Var b) -- now build the outermost foldr, and return mkFoldrExpr x_ty b_ty (mkLams [x, b] core_expr) (Var n_id) core_list1 @@ -611,7 +611,7 @@ dsMcBindStmt :: LPat GhcTc dsMcBindStmt pat rhs' bind_op fail_op res1_ty stmts = do { body <- dsMcStmts stmts ; var <- selectSimpleMatchVarL Many pat - ; match <- matchSinglePatVar var Nothing (StmtCtxt (HsDoStmt (DoExpr Nothing))) pat + ; match <- matchSinglePatVar var Nothing (StmtCtxt (HsDoStmt (DoExpr Nothing))) (mkVisPat pat) res1_ty (cantFailMatchResult body) ; match_code <- dsHandleMonadicFailure MonadComp pat match fail_op ; dsSyntaxExpr bind_op [rhs', Lam var match_code] } |