From 6208bb73fef1a12874db0e2d9b9f25f5dadc2e29 Mon Sep 17 00:00:00 2001 From: Daniel Gröber Date: Sun, 16 Dec 2018 01:47:41 +0100 Subject: Make most record fields strict This lets GHC give better error messages when forgetting to initialize a field when using the `let field = _ in DataType{..}` RecordWildcards syntax. --- src/CabalHelper/Compiletime/Compile.hs | 16 ++++++++-------- src/CabalHelper/Compiletime/Program/GHC.hs | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/CabalHelper/Compiletime/Compile.hs b/src/CabalHelper/Compiletime/Compile.hs index 97adac2..c39a731 100644 --- a/src/CabalHelper/Compiletime/Compile.hs +++ b/src/CabalHelper/Compiletime/Compile.hs @@ -71,19 +71,19 @@ import Paths_cabal_helper (version) data Compile = CompileWithCabalSource - { compCabalSourceDir :: CabalSourceDir - , compCabalSourceVersion :: Version + { compCabalSourceDir :: !CabalSourceDir + , compCabalSourceVersion :: !Version } | CompileWithCabalPackage - { compPackageSource :: GhcPackageSource - , compCabalVersion :: ResolvedCabalVersion - , compProductTarget :: CompilationProductScope + { compPackageSource :: !GhcPackageSource + , compCabalVersion :: !ResolvedCabalVersion + , compProductTarget :: !CompilationProductScope } data CompPaths = CompPaths - { compBuildDir:: FilePath - , compOutDir :: FilePath - , compExePath :: FilePath + { compBuildDir:: !FilePath + , compOutDir :: !FilePath + , compExePath :: !FilePath } -- | The Helper executable we produce as a compilation product can either be diff --git a/src/CabalHelper/Compiletime/Program/GHC.hs b/src/CabalHelper/Compiletime/Program/GHC.hs index 4565a37..e21a258 100644 --- a/src/CabalHelper/Compiletime/Program/GHC.hs +++ b/src/CabalHelper/Compiletime/Program/GHC.hs @@ -49,15 +49,15 @@ data GhcPackageSource | GPSPackageEnv !PackageEnvFile data GhcInvocation = GhcInvocation - { giOutDir :: FilePath - , giOutput :: FilePath - , giCPPOptions :: [String] - , giIncludeDirs :: [FilePath] - , giHideAllPackages :: Bool - , giPackages :: [String] - , giWarningFlags :: [String] - , giInputs :: [String] + { giOutDir :: !FilePath + , giOutput :: !FilePath + , giCPPOptions :: ![String] , giPackageSource :: !GhcPackageSource + , giIncludeDirs :: ![FilePath] + , giHideAllPackages :: !Bool + , giPackages :: ![String] + , giWarningFlags :: ![String] + , giInputs :: ![String] } newtype GhcVersion = GhcVersion { unGhcVersion :: Version } -- cgit v1.2.3