Order the extracted bindings from a case expression properly.
[matthijs/master-project/cλash.git] / cλash / CLasH / Normalize.hs
index 85760bebd7e63026fc8f7ff815615c0123252a91..107876bf0f88a9358c5223b104b85231fccedeef 100644 (file)
@@ -362,7 +362,7 @@ casesimpl expr@(Case scrut b ty alts) = do
     (exprbinding_maybe, expr') <- doexpr expr uses_bndrs
     -- Create a new alternative
     let newalt = (con, newbndrs, expr')
-    let bindings = Maybe.catMaybes (exprbinding_maybe : bindings_maybe)
+    let bindings = Maybe.catMaybes (bindings_maybe ++ [exprbinding_maybe])
     return (bindings, newalt)
     where
       -- Make wild alternatives for each binder