diff options
Diffstat (limited to 'compiler/deSugar/DsGRHSs.hs')
-rw-r--r-- | compiler/deSugar/DsGRHSs.hs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/deSugar/DsGRHSs.hs b/compiler/deSugar/DsGRHSs.hs index 352534bb17..6b1b342058 100644 --- a/compiler/deSugar/DsGRHSs.hs +++ b/compiler/deSugar/DsGRHSs.hs @@ -19,12 +19,12 @@ import HsSyn import MkCore import CoreSyn import Var -import Type import DsMonad import DsUtils import TysWiredIn import PrelNames +import Type ( Type ) import Module import Name import Util @@ -140,7 +140,8 @@ isTrueLHsExpr (L _ (HsVar (L _ v))) | v `hasKey` otherwiseIdKey -- trueDataConId doesn't have the same unique as trueDataCon isTrueLHsExpr (L _ (HsTick tickish e)) | Just ticks <- isTrueLHsExpr e - = Just (\x -> ticks x >>= return . (Tick tickish)) + = Just (\x -> do wrapped <- ticks x + return (Tick tickish wrapped)) -- This encodes that the result is constant True for Hpc tick purposes; -- which is specifically what isTrueLHsExpr is trying to find out. isTrueLHsExpr (L _ (HsBinTick ixT _ e)) |