Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport #10719: Follow HLint suggestion: use fewer imports #10733

Open
wants to merge 6 commits into
base: 3.14
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .hlint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,8 @@
- ignore: {name: "Use concatMap"} # 1 hint
- ignore: {name: "Use const"} # 36 hints
- ignore: {name: "Use elem"} # 2 hints
- ignore: {name: "Use fewer imports"} # 19 hints
- ignore: {name: "Use first"} # 4 hints
- ignore: {name: "Use fmap"} # 24 hints
- ignore: {name: "Use fmap"} # 25 hints
- ignore: {name: "Use fold"} # 1 hint
- ignore: {name: "Use for"} # 1 hint
- ignore: {name: "Use forM_"} # 1 hint
Expand All @@ -67,7 +66,7 @@
- ignore: {name: "Use isNothing"} # 1 hint
- ignore: {name: "Use lambda-case"} # 47 hints
- ignore: {name: "Use lefts"} # 1 hint
- ignore: {name: "Use list comprehension"} # 16 hints
- ignore: {name: "Use list comprehension"} # 19 hints
- ignore: {name: "Use list literal"} # 3 hints
- ignore: {name: "Use list literal pattern"} # 11 hints
- ignore: {name: "Use map once"} # 7 hints
Expand Down Expand Up @@ -96,6 +95,9 @@

- arguments:
- --ignore-glob=Cabal-syntax/src/Distribution/Fields/Lexer.hs
- --ignore-glob=Cabal-tests/tests/custom-setup/CabalDoctestSetup.hs
- --ignore-glob=Cabal-tests/tests/custom-setup/IdrisSetup.hs
- --ignore-glob=cabal-testsuite/PackageTests/BuildWays/q/app/Main.hs
- --ignore-glob=cabal-testsuite/PackageTests/CmmSources/src/Demo.hs
- --ignore-glob=cabal-testsuite/PackageTests/CmmSourcesDyn/src/Demo.hs
- --ignore-glob=cabal-testsuite/PackageTests/CmmSourcesExe/src/Demo.hs
Expand Down
4 changes: 2 additions & 2 deletions Cabal/src/Distribution/Compat/Internal/TempFile.hs
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@ import System.FilePath ((</>))
import System.IO (Handle, openBinaryTempFile, openTempFile)
#if defined(__IO_MANAGER_WINIO__)
import System.IO (openBinaryTempFileWithDefaultPermissions)
import System.Posix.Internals (c_getpid)
#else
import Control.Exception (onException)
import Data.Bits ((.|.))
import Foreign.C (CInt, eEXIST, getErrno, errnoToIOError)
import GHC.IO.Handle.FD (fdToHandle)
import System.Posix.Internals (c_open, c_close, o_EXCL, o_BINARY, withFilePath,
import System.Posix.Internals (c_getpid, c_open, c_close, o_EXCL, o_BINARY, withFilePath,
o_CREAT, o_RDWR, o_NONBLOCK, o_NOCTTY)
#endif

import System.IO.Error (isAlreadyExistsError)
import System.Posix.Internals (c_getpid)

#if defined(mingw32_HOST_OS) || defined(ghcjs_HOST_OS)
import System.Directory ( createDirectory )
Expand Down
9 changes: 5 additions & 4 deletions Cabal/src/Distribution/Compat/Time.hs
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,14 @@ import System.Win32.Types ( BOOL, DWORD, LPCTSTR, LPVOID, withTString )

#else

import System.Posix.Files ( FileStatus, getFileStatus )

import System.Posix.Files
( FileStatus, getFileStatus
#if MIN_VERSION_unix(2,6,0)
import System.Posix.Files ( modificationTimeHiRes )
, modificationTimeHiRes
#else
import System.Posix.Files ( modificationTime )
, modificationTime
#endif
)

#endif

Expand Down
23 changes: 14 additions & 9 deletions Cabal/src/Distribution/Simple/GHC.hs
Original file line number Diff line number Diff line change
Expand Up @@ -125,24 +125,29 @@ import Distribution.Utils.Path
import Distribution.Verbosity
import Distribution.Version
import Language.Haskell.Extension
import System.Directory
( canonicalizePath
, createDirectoryIfMissing
, doesDirectoryExist
, doesFileExist
, getAppUserDataDirectory
, getDirectoryContents
)
import System.FilePath
( isRelative
, takeDirectory
)
import qualified System.Info
#ifndef mingw32_HOST_OS
import System.Directory (renameFile)
import System.Posix (createSymbolicLink)
#endif /* mingw32_HOST_OS */

{- FOURMOLU_DISABLE -}
import System.Directory
( canonicalizePath
, createDirectoryIfMissing
, doesDirectoryExist
, doesFileExist
, getAppUserDataDirectory
, getDirectoryContents
#ifndef mingw32_HOST_OS
, renameFile
#endif
)
{- FOURMOLU_ENABLE -}

import Distribution.Simple.Setup (BuildingWhat (..))
import Distribution.Simple.Setup.Build

Expand Down
4 changes: 2 additions & 2 deletions cabal-install/src/Distribution/Client/CmdTest.hs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ import Distribution.Client.NixStyleOptions
)
import Distribution.Client.ProjectOrchestration
import Distribution.Client.Setup
( ConfigFlags (..)
( CommonSetupFlags (..)
, ConfigFlags (..)
, GlobalFlags (..)
)
import Distribution.Client.TargetProblem
Expand Down Expand Up @@ -66,7 +67,6 @@ import Distribution.Verbosity
import qualified System.Exit (exitSuccess)

import Distribution.Client.Errors
import Distribution.Client.Setup (CommonSetupFlags (..))
import GHC.Environment
( getFullArgs
)
Expand Down
8 changes: 4 additions & 4 deletions cabal-install/src/Distribution/Client/Config.hs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,10 @@ module Distribution.Client.Config
) where

import Distribution.Client.Compat.Prelude
import Distribution.Compat.Environment (lookupEnv)
import Distribution.Compat.Environment
( getEnvironment
, lookupEnv
)
import Prelude ()

import Language.Haskell.Extension (Language (Haskell2010))
Expand Down Expand Up @@ -126,9 +129,6 @@ import Distribution.Client.Version
( cabalInstallVersion
)
import qualified Distribution.Compat.CharParsing as P
import Distribution.Compat.Environment
( getEnvironment
)
import Distribution.Compiler
( CompilerFlavor (..)
, defaultCompilerFlavor
Expand Down
15 changes: 12 additions & 3 deletions cabal-install/src/Distribution/Client/ProjectPlanning.hs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveFunctor #-}
Expand Down Expand Up @@ -100,7 +99,18 @@ module Distribution.Client.ProjectPlanning
) where

import Distribution.Client.Compat.Prelude
import Text.PrettyPrint (render)
import Text.PrettyPrint
( colon
, comma
, fsep
, hang
, punctuate
, quotes
, render
, text
, vcat
, ($$)
)
import Prelude ()

import Distribution.Client.Config
Expand Down Expand Up @@ -220,7 +230,6 @@ import qualified Data.Set as Set
import Distribution.Client.Errors
import Distribution.Solver.Types.ProjectConfigPath
import System.FilePath
import Text.PrettyPrint (colon, comma, fsep, hang, punctuate, quotes, text, vcat, ($$))
import qualified Text.PrettyPrint as Disp

-- | Check that an 'ElaboratedConfiguredPackage' actually makes
Expand Down
6 changes: 4 additions & 2 deletions cabal-install/src/Distribution/Client/SetupWrapper.hs
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,10 @@ import Distribution.Simple.Program.GHC
, renderGhcOptions
)
import Distribution.Simple.Setup
( Flag (..), CommonSetupFlags (..), GlobalFlags (..)
( CommonSetupFlags (..)
, Flag (..)
, GlobalFlags (..)
, globalCommand
)
import Distribution.Simple.Utils
( cabalVersion
Expand Down Expand Up @@ -175,7 +178,6 @@ import Distribution.Verbosity

import Data.List (foldl1')
import qualified Data.Map.Lazy as Map
import Distribution.Simple.Setup (globalCommand)
import Distribution.Client.Compat.ExecutablePath (getExecutablePath)
import Distribution.Compat.Process (proc)
import System.Directory (doesFileExist)
Expand Down
3 changes: 1 addition & 2 deletions cabal-install/src/Distribution/Client/Store.hs
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,7 @@ import System.FilePath
import Lukko
#else
import System.IO (openFile, IOMode(ReadWriteMode), hClose)
import GHC.IO.Handle.Lock (hLock, hTryLock, LockMode(ExclusiveLock))
import GHC.IO.Handle.Lock (hUnlock)
import GHC.IO.Handle.Lock (LockMode (ExclusiveLock), hLock, hTryLock, hUnlock)
#endif

-- $concurrency
Expand Down
12 changes: 11 additions & 1 deletion cabal-install/tests/IntegrationTests2.hs
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,20 @@
import qualified Distribution.Client.CmdHaddock as CmdHaddock
import qualified Distribution.Client.CmdListBin as CmdListBin

import qualified Distribution.Client.CmdHaddockProject as CmdHaddockProject

Check warning on line 48 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import qualified Distribution.Client.CmdHaddockProject as CmdHaddockProject\nimport qualified Distribution.Client.CmdHaddockProject as CmdHaddockProject\n" ▫︎ Perhaps: "import qualified Distribution.Client.CmdHaddockProject as CmdHaddockProject\n"

Check warning on line 48 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import qualified Distribution.Client.CmdHaddockProject as CmdHaddockProject\nimport qualified Distribution.Client.CmdHaddockProject as CmdHaddockProject\n" ▫︎ Perhaps: "import qualified Distribution.Client.CmdHaddockProject as CmdHaddockProject\n"
import Distribution.Client.Config (SavedConfig (savedGlobalFlags), createDefaultConfigFile, loadConfig)

Check warning on line 49 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.Client.Config\n ( SavedConfig(savedGlobalFlags),\n createDefaultConfigFile,\n loadConfig )\nimport Distribution.Client.Config\n ( loadConfig,\n SavedConfig(savedGlobalFlags),\n createDefaultConfigFile )\n" ▫︎ Perhaps: "import Distribution.Client.Config\n ( SavedConfig(savedGlobalFlags),\n createDefaultConfigFile,\n loadConfig,\n loadConfig,\n SavedConfig(savedGlobalFlags),\n createDefaultConfigFile )\n"

Check warning on line 49 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.Client.Config\n ( SavedConfig(savedGlobalFlags),\n createDefaultConfigFile,\n loadConfig )\nimport Distribution.Client.Config\n ( loadConfig,\n SavedConfig(savedGlobalFlags),\n createDefaultConfigFile )\n" ▫︎ Perhaps: "import Distribution.Client.Config\n ( SavedConfig(savedGlobalFlags),\n createDefaultConfigFile,\n loadConfig,\n loadConfig,\n SavedConfig(savedGlobalFlags),\n createDefaultConfigFile )\n"
import Distribution.Client.GlobalFlags

Check warning on line 50 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.Client.GlobalFlags\n ( GlobalFlags, defaultGlobalFlags, globalNix )\nimport Distribution.Client.GlobalFlags ( defaultGlobalFlags )\n" ▫︎ Perhaps: "import Distribution.Client.GlobalFlags\n ( GlobalFlags, defaultGlobalFlags, globalNix, defaultGlobalFlags )\n"

Check warning on line 50 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.Client.GlobalFlags\n ( GlobalFlags, defaultGlobalFlags, globalNix )\nimport Distribution.Client.GlobalFlags ( defaultGlobalFlags )\n" ▫︎ Perhaps: "import Distribution.Client.GlobalFlags\n ( GlobalFlags, defaultGlobalFlags, globalNix, defaultGlobalFlags )\n"
( GlobalFlags
, defaultGlobalFlags
, globalNix
)
import Distribution.Client.Setup (globalCommand, globalStoreDir)

Check warning on line 55 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.Client.Setup ( globalCommand, globalStoreDir )\nimport Distribution.Client.Setup ( globalCommand )\nimport Distribution.Client.Setup ( globalStoreDir )\n" ▫︎ Perhaps: "import Distribution.Client.Setup\n ( globalCommand, globalStoreDir, globalCommand, globalStoreDir )\n"

Check warning on line 55 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.Client.Setup ( globalCommand, globalStoreDir )\nimport Distribution.Client.Setup ( globalCommand )\nimport Distribution.Client.Setup ( globalStoreDir )\n" ▫︎ Perhaps: "import Distribution.Client.Setup\n ( globalCommand, globalStoreDir, globalCommand, globalStoreDir )\n"
import Distribution.InstalledPackageInfo (InstalledPackageInfo)

Check warning on line 56 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.InstalledPackageInfo ( InstalledPackageInfo )\nimport Distribution.InstalledPackageInfo ( InstalledPackageInfo )\n" ▫︎ Perhaps: "import Distribution.InstalledPackageInfo\n ( InstalledPackageInfo, InstalledPackageInfo )\n"

Check warning on line 56 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.InstalledPackageInfo ( InstalledPackageInfo )\nimport Distribution.InstalledPackageInfo ( InstalledPackageInfo )\n" ▫︎ Perhaps: "import Distribution.InstalledPackageInfo\n ( InstalledPackageInfo, InstalledPackageInfo )\n"
import Distribution.ModuleName (ModuleName)

Check warning on line 57 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.ModuleName ( ModuleName )\nimport Distribution.ModuleName ( ModuleName )\n" ▫︎ Perhaps: "import Distribution.ModuleName ( ModuleName, ModuleName )\n"

Check warning on line 57 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.ModuleName ( ModuleName )\nimport Distribution.ModuleName ( ModuleName )\n" ▫︎ Perhaps: "import Distribution.ModuleName ( ModuleName, ModuleName )\n"
import Distribution.Package
import Distribution.PackageDescription
import Distribution.InstalledPackageInfo (InstalledPackageInfo)
import Distribution.Simple.Setup (toFlag, HaddockFlags(..), defaultHaddockFlags)

Check warning on line 61 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.Simple.Setup\n ( toFlag, HaddockFlags(..), defaultHaddockFlags )\nimport Distribution.Simple.Setup\n ( HaddockProjectFlags(..), defaultHaddockProjectFlags )\n" ▫︎ Perhaps: "import Distribution.Simple.Setup\n ( toFlag,\n HaddockFlags(..),\n defaultHaddockFlags,\n HaddockProjectFlags(..),\n defaultHaddockProjectFlags )\n"

Check warning on line 61 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Distribution.Simple.Setup\n ( toFlag, HaddockFlags(..), defaultHaddockFlags )\nimport Distribution.Simple.Setup\n ( HaddockProjectFlags(..), defaultHaddockProjectFlags )\n" ▫︎ Perhaps: "import Distribution.Simple.Setup\n ( toFlag,\n HaddockFlags(..),\n defaultHaddockFlags,\n HaddockProjectFlags(..),\n defaultHaddockProjectFlags )\n"
import Distribution.Client.Setup (globalCommand)
import Distribution.Client.Config (loadConfig, SavedConfig(savedGlobalFlags), createDefaultConfigFile)
import Distribution.Simple.Compiler
Expand Down Expand Up @@ -83,7 +93,7 @@
import Data.Tagged (Tagged(..))

import qualified Data.ByteString as BS
import Distribution.Client.GlobalFlags (GlobalFlags, globalNix)
import Data.Maybe (fromJust)

Check warning on line 96 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Data.Maybe ( fromJust )\nimport Data.Maybe ( fromJust )\n" ▫︎ Perhaps: "import Data.Maybe ( fromJust, fromJust )\n"

Check warning on line 96 in cabal-install/tests/IntegrationTests2.hs

View workflow job for this annotation

GitHub Actions / hlint

Warning in module Main: Use fewer imports ▫︎ Found: "import Data.Maybe ( fromJust )\nimport Data.Maybe ( fromJust )\n" ▫︎ Perhaps: "import Data.Maybe ( fromJust, fromJust )\n"
import Distribution.Simple.Flag (Flag (Flag, NoFlag))
import Distribution.Types.ParStrat
import Data.Maybe (fromJust)
Expand Down
4 changes: 0 additions & 4 deletions cabal-testsuite/src/Test/Cabal/Monad.hs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE ScopedTypeVariables #-}

-- | The test monad
Expand Down Expand Up @@ -88,9 +87,6 @@ import Distribution.Verbosity
import Distribution.Version

import Control.Concurrent.Async
#if !MIN_VERSION_base(4,11,0)
import Data.Monoid ((<>))
#endif
import Data.Monoid (mempty)
import qualified Control.Exception as E
import Control.Monad
Expand Down
Loading
Loading