diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 1bae4d3d71b490a69eeb26f86151fa28786b0838..b16a5ef09257c160cc9bc757015f1683d67d6814 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/checkout@v4 - uses: haskell-actions/hlint-setup@v2 with: - version: "3.5" + version: "3.8" - uses: haskell-actions/hlint-run@v2 with: path: "." diff --git a/.hlint.yaml b/.hlint.yaml index e38cc7be72e518bd9342d5ae04e7041eb7c0e82f..6266b76964fcef9857f3cf7d47fc61178c9c8038 100644 --- a/.hlint.yaml +++ b/.hlint.yaml @@ -1,96 +1,96 @@ # Warnings currently triggered by your code -- ignore: {name: "Avoid lambda"} # 49 hints -- ignore: {name: "Avoid lambda using `infix`"} # 19 hints -- ignore: {name: "Eta reduce"} # 91 hints -- ignore: {name: "Evaluate"} # 9 hints -- ignore: {name: "Functor law"} # 14 hints +- ignore: {name: "Avoid NonEmpty.unzip"} # 1 hint +- ignore: {name: "Avoid lambda"} # 46 hints +- ignore: {name: "Avoid lambda using `infix`"} # 22 hints +- ignore: {name: "Eta reduce"} # 116 hints +- ignore: {name: "Evaluate"} # 10 hints +- ignore: {name: "Functor law"} # 10 hints - ignore: {name: "Fuse concatMap/map"} # 3 hints - ignore: {name: "Fuse foldr/map"} # 3 hints -- ignore: {name: "Fuse mapMaybe/map"} # 2 hints +- ignore: {name: "Fuse mapMaybe/map"} # 1 hint +- ignore: {name: "Fuse traverse_/fmap"} # 1 hint - ignore: {name: "Fuse traverse_/map"} # 1 hint -- ignore: {name: "Hoist not"} # 30 hints +- ignore: {name: "Hoist not"} # 16 hints - ignore: {name: "Missing NOINLINE pragma"} # 1 hint - ignore: {name: "Monoid law, left identity"} # 3 hints - ignore: {name: "Monoid law, right identity"} # 3 hints +- ignore: {name: "Move filter"} # 4 hints - ignore: {name: "Move guards forward"} # 4 hints -- ignore: {name: "Redundant $"} # 125 hints -- ignore: {name: "Redundant $!"} # 4 hints -- ignore: {name: "Redundant <$>"} # 6 hints +- ignore: {name: "Redundant $"} # 175 hints +- ignore: {name: "Redundant $!"} # 1 hint +- ignore: {name: "Redundant <$>"} # 16 hints - ignore: {name: "Redundant =="} # 1 hint -- ignore: {name: "Redundant bracket"} # 206 hints +- ignore: {name: "Redundant bracket"} # 232 hints +- ignore: {name: "Redundant fmap"} # 1 hint - ignore: {name: "Redundant guard"} # 2 hints -- ignore: {name: "Redundant if"} # 1 hint -- ignore: {name: "Redundant lambda"} # 22 hints -- ignore: {name: "Redundant map"} # 1 hint +- ignore: {name: "Redundant if"} # 3 hints +- ignore: {name: "Redundant lambda"} # 19 hints - ignore: {name: "Redundant multi-way if"} # 1 hint -- ignore: {name: "Redundant return"} # 4 hints +- ignore: {name: "Redundant return"} # 7 hints - ignore: {name: "Replace case with fromMaybe"} # 5 hints - ignore: {name: "Replace case with maybe"} # 10 hints -- ignore: {name: "Unused LANGUAGE pragma"} # 121 hints +- ignore: {name: "Unused LANGUAGE pragma"} # 167 hints - ignore: {name: "Use $>"} # 5 hints - ignore: {name: "Use ++"} # 4 hints -- ignore: {name: "Use :"} # 28 hints +- ignore: {name: "Use :"} # 25 hints - ignore: {name: "Use <$"} # 2 hints -- ignore: {name: "Use <$>"} # 67 hints +- ignore: {name: "Use <$>"} # 86 hints - ignore: {name: "Use <&>"} # 14 hints - ignore: {name: "Use <=<"} # 5 hints -- ignore: {name: "Use =<<"} # 6 hints -- ignore: {name: "Use =="} # 2 hints +- ignore: {name: "Use =<<"} # 7 hints +- ignore: {name: "Use =="} # 3 hints - ignore: {name: "Use >=>"} # 3 hints - ignore: {name: "Use ?~"} # 1 hint +- ignore: {name: "Use Down"} # 3 hints - ignore: {name: "Use Just"} # 2 hints -- ignore: {name: "Use all"} # 8 hints -- ignore: {name: "Use bimap"} # 1 hint -- ignore: {name: "Use camelCase"} # 68 hints +- ignore: {name: "Use bimap"} # 7 hints +- ignore: {name: "Use camelCase"} # 96 hints - ignore: {name: "Use catMaybes"} # 3 hints - ignore: {name: "Use concatMap"} # 1 hint -- ignore: {name: "Use const"} # 38 hints -- ignore: {name: "Use elem"} # 3 hints -- ignore: {name: "Use fewer imports"} # 13 hints -- ignore: {name: "Use first"} # 2 hints -- ignore: {name: "Use fmap"} # 28 hints +- 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 fold"} # 1 hint - ignore: {name: "Use for"} # 1 hint - ignore: {name: "Use forM_"} # 1 hint -- ignore: {name: "Use for_"} # 1 hint -- ignore: {name: "Use fromMaybe"} # 2 hints +- ignore: {name: "Use fromMaybe"} # 1 hint - ignore: {name: "Use fromRight"} # 1 hint - ignore: {name: "Use fst"} # 1 hint - ignore: {name: "Use if"} # 4 hints -- ignore: {name: "Use infix"} # 19 hints +- ignore: {name: "Use infix"} # 20 hints - ignore: {name: "Use isAsciiLower"} # 2 hints - ignore: {name: "Use isAsciiUpper"} # 2 hints - ignore: {name: "Use isDigit"} # 2 hints -- ignore: {name: "Use isJust"} # 2 hints -- ignore: {name: "Use isNothing"} # 3 hints -- ignore: {name: "Use lambda-case"} # 49 hints +- ignore: {name: "Use isJust"} # 1 hint +- ignore: {name: "Use isNothing"} # 1 hint +- ignore: {name: "Use lambda-case"} # 47 hints - ignore: {name: "Use lefts"} # 1 hint -- ignore: {name: "Use list comprehension"} # 11 hints +- ignore: {name: "Use list comprehension"} # 16 hints - ignore: {name: "Use list literal"} # 3 hints - ignore: {name: "Use list literal pattern"} # 11 hints -- ignore: {name: "Use map"} # 5 hints -- ignore: {name: "Use map once"} # 6 hints -- ignore: {name: "Use mapMaybe"} # 11 hints +- ignore: {name: "Use map once"} # 7 hints +- ignore: {name: "Use map with tuple-section"} # 3 hints +- ignore: {name: "Use mapMaybe"} # 13 hints - ignore: {name: "Use max"} # 1 hint -- ignore: {name: "Use maybe"} # 10 hints -- ignore: {name: "Use newtype instead of data"} # 19 hints -- ignore: {name: "Use notElem"} # 11 hints -- ignore: {name: "Use null"} # 3 hints -- ignore: {name: "Use or"} # 1 hint +- ignore: {name: "Use maybe"} # 8 hints +- ignore: {name: "Use minimumBy"} # 1 hint +- ignore: {name: "Use newtype instead of data"} # 26 hints +- ignore: {name: "Use notElem"} # 8 hints +- ignore: {name: "Use null"} # 2 hints - ignore: {name: "Use record patterns"} # 16 hints - ignore: {name: "Use replicateM"} # 1 hint -- ignore: {name: "Use replicateM_"} # 6 hints +- ignore: {name: "Use replicateM_"} # 2 hints - ignore: {name: "Use rights"} # 2 hints - ignore: {name: "Use second"} # 7 hints -- ignore: {name: "Use section"} # 19 hints -- ignore: {name: "Use sortOn"} # 15 hints +- ignore: {name: "Use section"} # 17 hints - ignore: {name: "Use traverse"} # 1 hint -- ignore: {name: "Use traverse_"} # 1 hint - ignore: {name: "Use tuple-section"} # 28 hints - ignore: {name: "Use typeRep"} # 2 hints -- ignore: {name: "Use unless"} # 17 hints +- ignore: {name: "Use unless"} # 20 hints - ignore: {name: "Use unwords"} # 8 hints -- ignore: {name: "Use void"} # 17 hints +- ignore: {name: "Use void"} # 22 hints - ignore: {name: "Use when"} # 1 hint - arguments: diff --git a/Cabal/src/Distribution/Simple/Install.hs b/Cabal/src/Distribution/Simple/Install.hs index 789845c620177074b648e1ac0826f22799450d92..7a6c49e0d48552e9c86220561226593106a12f0b 100644 --- a/Cabal/src/Distribution/Simple/Install.hs +++ b/Cabal/src/Distribution/Simple/Install.hs @@ -282,7 +282,7 @@ copyComponent _ _ _ (CTest _) _ _ = return () -- | Install the files listed in data-files installDataFiles :: Verbosity -> PackageDescription -> FilePath -> IO () installDataFiles verbosity pkg_descr destDataDir = - flip traverse_ (dataFiles pkg_descr) $ \glob -> do + for_ (dataFiles pkg_descr) $ \glob -> do let srcDataDirRaw = dataDir pkg_descr srcDataDir = if null srcDataDirRaw