Use varToCoreExpr in mkWWcpr_help
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 20 Jul 2015 22:34:31 +0000 (23:34 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Tue, 21 Jul 2015 12:21:30 +0000 (13:21 +0100)
Lacking this cuased Trac #10658.
The fix is easy; it was a simple omission.

compiler/stranal/WwLib.hs

index 304a3cb..b442f3d 100644 (file)
@@ -635,7 +635,9 @@ mkWWcpr_help (data_con, inst_tys, arg_tys, co)
 
        ; return ( True
                 , \ wkr_call -> Case wkr_call arg (exprType con_app) [(DEFAULT, [], con_app)]
-                , \ body     -> mkUnpackCase body co work_uniq data_con [arg] (Var arg)
+                , \ body     -> mkUnpackCase body co work_uniq data_con [arg] (varToCoreExpr arg)
+                                -- varToCoreExpr important here: arg can be a coercion
+                                -- Lacking this caused Trac #10658
                 , arg_ty1 ) }
 
   | otherwise   -- The general case