Skip to content

Commit 45e3289

Browse files
authored
Merge pull request haskell#10719 from cabalism/hlint/use-fewer-imports
Follow HLint suggestion: use fewer imports
2 parents 04db7d0 + d165dfd commit 45e3289

File tree

12 files changed

+57
-42
lines changed

12 files changed

+57
-42
lines changed

Diff for: .hlint.yaml

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Warnings currently triggered by your code
22
- ignore: {name: "Avoid NonEmpty.unzip"} # 1 hint
33
- ignore: {name: "Avoid lambda"} # 47 hints
4-
- ignore: {name: "Avoid lambda using `infix`"} # 22 hints
4+
- ignore: {name: "Avoid lambda using `infix`"} # 23 hints
55
- ignore: {name: "Eta reduce"} # 124 hints
66
- ignore: {name: "Evaluate"} # 10 hints
77
- ignore: {name: "Functor law"} # 10 hints
@@ -16,11 +16,11 @@
1616
- ignore: {name: "Monoid law, right identity"} # 3 hints
1717
- ignore: {name: "Move filter"} # 4 hints
1818
- ignore: {name: "Move guards forward"} # 4 hints
19-
- ignore: {name: "Redundant $"} # 179 hints
19+
- ignore: {name: "Redundant $"} # 178 hints
2020
- ignore: {name: "Redundant $!"} # 1 hint
2121
- ignore: {name: "Redundant <$>"} # 16 hints
2222
- ignore: {name: "Redundant =="} # 1 hint
23-
- ignore: {name: "Redundant bracket"} # 239 hints
23+
- ignore: {name: "Redundant bracket"} # 240 hints
2424
- ignore: {name: "Redundant fmap"} # 1 hint
2525
- ignore: {name: "Redundant guard"} # 2 hints
2626
- ignore: {name: "Redundant if"} # 6 hints
@@ -48,9 +48,8 @@
4848
- ignore: {name: "Use concatMap"} # 2 hints
4949
- ignore: {name: "Use const"} # 36 hints
5050
- ignore: {name: "Use elem"} # 2 hints
51-
- ignore: {name: "Use fewer imports"} # 13 hints
5251
- ignore: {name: "Use first"} # 4 hints
53-
- ignore: {name: "Use fmap"} # 26 hints
52+
- ignore: {name: "Use fmap"} # 25 hints
5453
- ignore: {name: "Use fold"} # 1 hint
5554
- ignore: {name: "Use for"} # 1 hint
5655
- ignore: {name: "Use forM_"} # 1 hint
@@ -66,7 +65,7 @@
6665
- ignore: {name: "Use isNothing"} # 1 hint
6766
- ignore: {name: "Use lambda-case"} # 55 hints
6867
- ignore: {name: "Use lefts"} # 1 hint
69-
- ignore: {name: "Use list comprehension"} # 18 hints
68+
- ignore: {name: "Use list comprehension"} # 19 hints
7069
- ignore: {name: "Use list literal"} # 3 hints
7170
- ignore: {name: "Use list literal pattern"} # 11 hints
7271
- ignore: {name: "Use map once"} # 7 hints
@@ -95,6 +94,8 @@
9594

9695
- arguments:
9796
- --ignore-glob=Cabal-syntax/src/Distribution/Fields/Lexer.hs
97+
- --ignore-glob=Cabal-tests/tests/custom-setup/CabalDoctestSetup.hs
98+
- --ignore-glob=Cabal-tests/tests/custom-setup/IdrisSetup.hs
9899
- --ignore-glob=cabal-testsuite/PackageTests/BuildWays/q/app/Main.hs
99100
- --ignore-glob=cabal-testsuite/PackageTests/CmmSources/src/Demo.hs
100101
- --ignore-glob=cabal-testsuite/PackageTests/CmmSourcesDyn/src/Demo.hs

Diff for: Cabal/src/Distribution/Compat/Internal/TempFile.hs

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,17 @@ import System.FilePath ((</>))
1515
import System.IO (Handle, openBinaryTempFile, openTempFile)
1616
#if defined(__IO_MANAGER_WINIO__)
1717
import System.IO (openBinaryTempFileWithDefaultPermissions)
18+
import System.Posix.Internals (c_getpid)
1819
#else
1920
import Control.Exception (onException)
2021
import Data.Bits ((.|.))
2122
import Foreign.C (CInt, eEXIST, getErrno, errnoToIOError)
2223
import GHC.IO.Handle.FD (fdToHandle)
23-
import System.Posix.Internals (c_open, c_close, o_EXCL, o_BINARY, withFilePath,
24+
import System.Posix.Internals (c_getpid, c_open, c_close, o_EXCL, o_BINARY, withFilePath,
2425
o_CREAT, o_RDWR, o_NONBLOCK, o_NOCTTY)
2526
#endif
2627

2728
import System.IO.Error (isAlreadyExistsError)
28-
import System.Posix.Internals (c_getpid)
2929

3030
#if defined(mingw32_HOST_OS) || defined(ghcjs_HOST_OS)
3131
import System.Directory ( createDirectory )

Diff for: Cabal/src/Distribution/Compat/Time.hs

+5-4
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,14 @@ import System.Win32.Types ( BOOL, DWORD, LPCTSTR, LPVOID, withTString )
4141

4242
#else
4343

44-
import System.Posix.Files ( FileStatus, getFileStatus )
45-
44+
import System.Posix.Files
45+
( FileStatus, getFileStatus
4646
#if MIN_VERSION_unix(2,6,0)
47-
import System.Posix.Files ( modificationTimeHiRes )
47+
, modificationTimeHiRes
4848
#else
49-
import System.Posix.Files ( modificationTime )
49+
, modificationTime
5050
#endif
51+
)
5152

5253
#endif
5354

Diff for: Cabal/src/Distribution/Simple/GHC.hs

+14-9
Original file line numberDiff line numberDiff line change
@@ -124,24 +124,29 @@ import Distribution.Utils.Path
124124
import Distribution.Verbosity
125125
import Distribution.Version
126126
import Language.Haskell.Extension
127-
import System.Directory
128-
( canonicalizePath
129-
, createDirectoryIfMissing
130-
, doesDirectoryExist
131-
, doesFileExist
132-
, getAppUserDataDirectory
133-
, getDirectoryContents
134-
)
135127
import System.FilePath
136128
( isRelative
137129
, takeDirectory
138130
)
139131
import qualified System.Info
140132
#ifndef mingw32_HOST_OS
141-
import System.Directory (renameFile)
142133
import System.Posix (createSymbolicLink)
143134
#endif /* mingw32_HOST_OS */
144135

136+
{- FOURMOLU_DISABLE -}
137+
import System.Directory
138+
( canonicalizePath
139+
, createDirectoryIfMissing
140+
, doesDirectoryExist
141+
, doesFileExist
142+
, getAppUserDataDirectory
143+
, getDirectoryContents
144+
#ifndef mingw32_HOST_OS
145+
, renameFile
146+
#endif
147+
)
148+
{- FOURMOLU_ENABLE -}
149+
145150
import Distribution.Simple.Setup (BuildingWhat (..))
146151
import Distribution.Simple.Setup.Build
147152

Diff for: cabal-install/src/Distribution/Client/CmdTest.hs

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ import Distribution.Client.NixStyleOptions
3333
)
3434
import Distribution.Client.ProjectOrchestration
3535
import Distribution.Client.Setup
36-
( ConfigFlags (..)
36+
( CommonSetupFlags (..)
37+
, ConfigFlags (..)
3738
, GlobalFlags (..)
3839
)
3940
import Distribution.Client.TargetProblem
@@ -66,7 +67,6 @@ import Distribution.Verbosity
6667
import qualified System.Exit (exitSuccess)
6768

6869
import Distribution.Client.Errors
69-
import Distribution.Client.Setup (CommonSetupFlags (..))
7070
import GHC.Environment
7171
( getFullArgs
7272
)

Diff for: cabal-install/src/Distribution/Client/Config.hs

+4-4
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,10 @@ module Distribution.Client.Config
4949
) where
5050

5151
import Distribution.Client.Compat.Prelude
52-
import Distribution.Compat.Environment (lookupEnv)
52+
import Distribution.Compat.Environment
53+
( getEnvironment
54+
, lookupEnv
55+
)
5356
import Prelude ()
5457

5558
import Language.Haskell.Extension (Language (Haskell2010))
@@ -126,9 +129,6 @@ import Distribution.Client.Version
126129
( cabalInstallVersion
127130
)
128131
import qualified Distribution.Compat.CharParsing as P
129-
import Distribution.Compat.Environment
130-
( getEnvironment
131-
)
132132
import Distribution.Compiler
133133
( CompilerFlavor (..)
134134
, defaultCompilerFlavor

Diff for: cabal-install/src/Distribution/Client/ProjectPlanning.hs

+12-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
{-# LANGUAGE CPP #-}
21
{-# LANGUAGE DataKinds #-}
32
{-# LANGUAGE DeriveFunctor #-}
43
{-# LANGUAGE LambdaCase #-}
@@ -99,7 +98,18 @@ module Distribution.Client.ProjectPlanning
9998
) where
10099

101100
import Distribution.Client.Compat.Prelude
102-
import Text.PrettyPrint (render)
101+
import Text.PrettyPrint
102+
( colon
103+
, comma
104+
, fsep
105+
, hang
106+
, punctuate
107+
, quotes
108+
, render
109+
, text
110+
, vcat
111+
, ($$)
112+
)
103113
import Prelude ()
104114

105115
import Distribution.Client.Config
@@ -222,7 +232,6 @@ import qualified Data.Set as Set
222232
import Distribution.Client.Errors
223233
import Distribution.Solver.Types.ProjectConfigPath
224234
import System.FilePath
225-
import Text.PrettyPrint (colon, comma, fsep, hang, punctuate, quotes, text, vcat, ($$))
226235
import qualified Text.PrettyPrint as Disp
227236

228237
-- | Check that an 'ElaboratedConfiguredPackage' actually makes

Diff for: cabal-install/src/Distribution/Client/SetupWrapper.hs

+4-2
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,10 @@ import Distribution.Simple.Program.GHC
143143
, renderGhcOptions
144144
)
145145
import Distribution.Simple.Setup
146-
( Flag (..), CommonSetupFlags (..), GlobalFlags (..)
146+
( CommonSetupFlags (..)
147+
, Flag (..)
148+
, GlobalFlags (..)
149+
, globalCommand
147150
)
148151
import Distribution.Simple.Utils
149152
( cabalVersion
@@ -175,7 +178,6 @@ import Distribution.Verbosity
175178

176179
import Data.List (foldl1')
177180
import qualified Data.Map.Lazy as Map
178-
import Distribution.Simple.Setup (globalCommand)
179181
import Distribution.Client.Compat.ExecutablePath (getExecutablePath)
180182
import Distribution.Compat.Process (proc)
181183
import System.Directory (doesFileExist)

Diff for: cabal-install/src/Distribution/Client/Store.hs

+1-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ import System.FilePath
4747
import Lukko
4848
#else
4949
import System.IO (openFile, IOMode(ReadWriteMode), hClose)
50-
import GHC.IO.Handle.Lock (hLock, hTryLock, LockMode(ExclusiveLock))
51-
import GHC.IO.Handle.Lock (hUnlock)
50+
import GHC.IO.Handle.Lock (LockMode (ExclusiveLock), hLock, hTryLock, hUnlock)
5251
#endif
5352

5453
-- $concurrency

Diff for: cabal-install/tests/IntegrationTests2.hs

+5-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,11 @@ import qualified Distribution.Client.CmdTest as CmdTest
5454

5555
import qualified Distribution.Client.CmdHaddockProject as CmdHaddockProject
5656
import Distribution.Client.Config (SavedConfig (savedGlobalFlags), createDefaultConfigFile, loadConfig)
57-
import Distribution.Client.GlobalFlags (defaultGlobalFlags)
57+
import Distribution.Client.GlobalFlags
58+
( GlobalFlags
59+
, defaultGlobalFlags
60+
, globalNix
61+
)
5862
import Distribution.Client.Setup (globalCommand, globalStoreDir)
5963
import Distribution.InstalledPackageInfo (InstalledPackageInfo)
6064
import Distribution.ModuleName (ModuleName)
@@ -90,7 +94,6 @@ import Test.Tasty.Options
9094

9195
import qualified Data.ByteString as BS
9296
import Data.Maybe (fromJust)
93-
import Distribution.Client.GlobalFlags (GlobalFlags, globalNix)
9497
import Distribution.Simple.Flag (Flag (Flag, NoFlag))
9598
import Distribution.Types.ParStrat
9699

Diff for: cabal-testsuite/src/Test/Cabal/Monad.hs

-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
{-# LANGUAGE CPP #-}
21
{-# LANGUAGE ScopedTypeVariables #-}
32

43
-- | The test monad
@@ -88,9 +87,6 @@ import Distribution.Verbosity
8887
import Distribution.Version
8988

9089
import Control.Concurrent.Async
91-
#if !MIN_VERSION_base(4,11,0)
92-
import Data.Monoid ((<>))
93-
#endif
9490
import Data.Monoid (mempty)
9591
import qualified Control.Exception as E
9692
import Control.Monad

Diff for: cabal-testsuite/src/Test/Cabal/NeedleHaystack.hs

+1-2
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,10 @@ module Test.Cabal.NeedleHaystack
2020

2121
import Prelude hiding (unlines)
2222
import qualified Prelude (unlines)
23-
import Data.List (tails)
2423
import Data.Maybe (isJust)
2524
import Distribution.System
2625
import Distribution.Utils.Generic (unsnoc)
27-
import Data.List (isPrefixOf)
26+
import Data.List (isPrefixOf, tails)
2827
import qualified System.FilePath.Posix as Posix
2928
import qualified System.FilePath.Windows as Windows
3029
import Network.URI (parseURI)

0 commit comments

Comments
 (0)