summaryrefslogtreecommitdiff
path: root/compiler/deSugar
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2013-02-13 17:37:17 +0000
committerSimon Peyton Jones <simonpj@microsoft.com>2013-02-13 17:37:17 +0000
commit9162d159a62d19d4b371b7348eb1b524001fddcd (patch)
tree0d4ead91720ccaa5072652d153634a5a51ff3451 /compiler/deSugar
parent257b4ae9861ad13d97ae209e57295bc1bb7ded4f (diff)
downloadhaskell-9162d159a62d19d4b371b7348eb1b524001fddcd.tar.gz
Simplify the base case for 'check', and thereby fix Trac #7669
Diffstat (limited to 'compiler/deSugar')
-rw-r--r--compiler/deSugar/Check.lhs5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/deSugar/Check.lhs b/compiler/deSugar/Check.lhs
index 7736aa69ed..2932b01822 100644
--- a/compiler/deSugar/Check.lhs
+++ b/compiler/deSugar/Check.lhs
@@ -205,7 +205,10 @@ check' :: [(EqnNo, EquationInfo)]
-> ([ExhaustivePat], -- Pattern scheme that might not be matched at all
EqnSet) -- Eqns that are used (others are overlapped)
-check' [] = ([([],[])],emptyUniqSet)
+check' [] = ([],emptyUniqSet)
+ -- Was ([([],[])], emptyUniqSet)
+ -- But that (a) seems weird, and (b) triggered Trac #7669
+ -- So now I'm just doing the simple obvious thing
check' ((n, EqnInfo { eqn_pats = ps, eqn_rhs = MatchResult can_fail _ }) : rs)
| first_eqn_all_vars && case can_fail of { CantFail -> True; CanFail -> False }