summaryrefslogtreecommitdiff
path: root/compiler/deSugar
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2014-02-18 08:37:21 +0000
committerSimon Peyton Jones <simonpj@microsoft.com>2014-02-18 08:46:27 +0000
commit47f473b0f7ddf21b2cde825166d092cb6e72329d (patch)
treeb29a7d14db1e288a611990e562c4bd4cd691d5ac /compiler/deSugar
parent2931d19e90d2366f2ce308d65a36333336ca6059 (diff)
downloadhaskell-47f473b0f7ddf21b2cde825166d092cb6e72329d.tar.gz
Use NoGen plan for unboxed-tuple bindings
There was a small mixup here, exposed by Trac #8762. Now clarified with better function names and comments.
Diffstat (limited to 'compiler/deSugar')
-rw-r--r--compiler/deSugar/DsExpr.lhs6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/deSugar/DsExpr.lhs b/compiler/deSugar/DsExpr.lhs
index 546a198ca8..d1ef24070c 100644
--- a/compiler/deSugar/DsExpr.lhs
+++ b/compiler/deSugar/DsExpr.lhs
@@ -165,9 +165,9 @@ dsStrictBind bind body = pprPanic "dsLet: unlifted" (ppr bind $$ ppr body)
strictMatchOnly :: HsBind Id -> Bool
strictMatchOnly (AbsBinds { abs_binds = binds })
= anyBag (strictMatchOnly . unLoc . snd) binds
-strictMatchOnly (PatBind { pat_lhs = lpat, pat_rhs_ty = ty })
- = isUnLiftedType ty
- || isBangLPat lpat
+strictMatchOnly (PatBind { pat_lhs = lpat, pat_rhs_ty = rhs_ty })
+ = isUnLiftedType rhs_ty
+ || isStrictLPat lpat
|| any (isUnLiftedType . idType) (collectPatBinders lpat)
strictMatchOnly (FunBind { fun_id = L _ id })
= isUnLiftedType (idType id)