Simplify the base case for 'check', and thereby fix Trac #7669
authorSimon Peyton Jones <simonpj@microsoft.com>
Wed, 13 Feb 2013 17:37:17 +0000 (17:37 +0000)
committerSimon Peyton Jones <simonpj@microsoft.com>
Wed, 13 Feb 2013 17:37:17 +0000 (17:37 +0000)
compiler/deSugar/Check.lhs

index 7736aa6..2932b01 100644 (file)
@@ -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 }