Fix overnight build breakage (fix from simonpj)
authorSimon Marlow <marlowsd@gmail.com>
Thu, 3 May 2012 07:47:40 +0000 (08:47 +0100)
committerSimon Marlow <marlowsd@gmail.com>
Fri, 4 May 2012 08:34:13 +0000 (09:34 +0100)
compiler/simplCore/SimplUtils.lhs:1668:5-25: Irrefutable pattern failed for pattern ((_, _, rhs1) : _)

compiler/simplCore/SimplUtils.lhs

index 5ec3276..78798b6 100644 (file)
@@ -1636,7 +1636,7 @@ mkCase dflags scrut bndr alts_ty alts = mkCase1 dflags scrut bndr alts_ty alts
 --     2. Eliminate Identity Case
 --------------------------------------------------
 
-mkCase1 _dflags scrut case_bndr _ alts -- Identity case
+mkCase1 _dflags scrut case_bndr _ alts@((_,_,rhs1) : _)      -- Identity case
   | all identity_alt alts
   = do { tick (CaseIdentity case_bndr)
        ; return (re_cast scrut rhs1) }
@@ -1665,8 +1665,6 @@ mkCase1 _dflags scrut case_bndr _ alts    -- Identity case
        -- 
        -- Don't worry about nested casts, because the simplifier combines them
 
-    ((_,_,rhs1):_) = alts
-
     re_cast scrut (Cast rhs co) = Cast (re_cast scrut rhs) co
     re_cast scrut _             = scrut