diff options
Diffstat (limited to 'compiler/deSugar/Match.hs')
-rw-r--r-- | compiler/deSugar/Match.hs | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/compiler/deSugar/Match.hs b/compiler/deSugar/Match.hs index 0128488d62..be089e6788 100644 --- a/compiler/deSugar/Match.hs +++ b/compiler/deSugar/Match.hs @@ -694,21 +694,9 @@ matchWrapper ctxt mb_scr (MG { mg_alts = L _ matches when (isAnyPmCheckEnabled dflags (DsMatchContext ctxt locn)) $ do - -- Count the number of guards that can fail - guards <- computeNoGuards matches - - let simplify = not (gopt Opt_FullGuardReasoning dflags) - && (guards > maximum_failing_guards) - -- See Note [Type and Term Equality Propagation] addTmCsDs (genCaseTmCs1 mb_scr new_vars) $ - dsPmWarn dflags (DsMatchContext ctxt locn) $ - checkMatches simplify new_vars matches - - when (not (gopt Opt_FullGuardReasoning dflags) - && wopt Opt_WarnTooManyGuards dflags - && guards > maximum_failing_guards) - (warnManyGuards (DsMatchContext ctxt locn)) + checkMatches dflags (DsMatchContext ctxt locn) new_vars matches ; result_expr <- handleWarnings $ matchEquations ctxt new_vars eqns_info rhs_ty @@ -777,7 +765,7 @@ matchSinglePat (Var var) ctx pat ty match_result ; locn <- getSrcSpanDs ; let pat' = getMaybeStrictPat dflags pat -- pattern match check warnings - ; dsPmWarn dflags (DsMatchContext ctx locn) (checkSingle var pat') + ; checkSingle dflags (DsMatchContext ctx locn) var pat' ; match [var] ty [EqnInfo { eqn_pats = [pat'], eqn_rhs = match_result }] } |