From c9b901f4f9476d6d6f4adbd8c809ef20340ea5e6 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Mon, 9 Jun 2014 10:30:33 +0200 Subject: [PATCH] Fix problems with GHC's Typed Holes --- Language/Haskell/GhcMod/Gap.hs | 8 ++++++++ Language/Haskell/GhcMod/Info.hs | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Language/Haskell/GhcMod/Gap.hs b/Language/Haskell/GhcMod/Gap.hs index 03d9c9b..770b28e 100644 --- a/Language/Haskell/GhcMod/Gap.hs +++ b/Language/Haskell/GhcMod/Gap.hs @@ -15,6 +15,7 @@ module Language.Haskell.GhcMod.Gap ( , setHideAllPackages , addPackageFlags , setDeferTypeErrors + , setWarnTypedHoles , setDumpSplices , isDumpSplices , filterOutChildren @@ -259,6 +260,13 @@ setDeferTypeErrors dflag = dopt_set dflag Opt_DeferTypeErrors setDeferTypeErrors = id #endif +setWarnTypedHoles :: DynFlags -> DynFlags +#if __GLASGOW_HASKELL__ >= 708 +setWarnTypedHoles dflag = wopt_set dflag Opt_WarnTypedHoles +#else +setWarnTypedHoles = id +#endif + ---------------------------------------------------------------- ---------------------------------------------------------------- diff --git a/Language/Haskell/GhcMod/Info.hs b/Language/Haskell/GhcMod/Info.hs index 0159fa5..50a0811 100644 --- a/Language/Haskell/GhcMod/Info.hs +++ b/Language/Haskell/GhcMod/Info.hs @@ -22,7 +22,7 @@ import qualified GHC as G import GHC.SYB.Utils (Stage(TypeChecker), everythingStaged) import Language.Haskell.GhcMod.Doc (showPage, showOneLine, getStyle) import Language.Haskell.GhcMod.GHCApi -import Language.Haskell.GhcMod.Gap (HasType(..), setDeferTypeErrors) +import Language.Haskell.GhcMod.Gap (HasType(..), setWarnTypedHoles, setDeferTypeErrors) import qualified Language.Haskell.GhcMod.Gap as Gap import Language.Haskell.GhcMod.Types import Language.Haskell.GhcMod.Convert @@ -130,7 +130,7 @@ pretty dflag style = showOneLine dflag style . Gap.typeForUser inModuleContext :: FilePath -> (DynFlags -> PprStyle -> Ghc a) -> Ghc a inModuleContext file action = - withDynFlags (setDeferTypeErrors . setNoWaringFlags) $ do + withDynFlags (setWarnTypedHoles . setDeferTypeErrors . setNoWaringFlags) $ do setTargetFiles [file] Gap.withContext $ do dflag <- G.getSessionDynFlags