hlint 2.1.13 → 2.1.14
raw patch · 5 files changed
+26/−5 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGES.txt +3/−0
- README.md +2/−2
- data/hlint.yaml +16/−0
- hlint.cabal +1/−1
- src/HSE/Util.hs +4/−2
CHANGES.txt view
@@ -1,5 +1,8 @@ Changelog for HLint (* = breaking change) +2.1.14, released 2019-01-28+ #587, fix extensions implied by ImplicitParams+ #588, suggest optional from attoparsec 2.1.13, released 2019-01-23 #583, suggest left sections to avoid lambdas #580, remove redundant LANGUAGE pragmas which are implied by others
README.md view
@@ -68,7 +68,7 @@ On the CI you should then run `hlint .` (or `hlint src` if you only want to check the `src` directory). To avoid the cost of compilation you may wish to fetch the [latest HLint binary release](https://github.com/ndmitchell/hlint/releases/latest). For certain CI environments there are helper scripts to do that. -**Travis:** Execute the following command:+**Travis (Linux, Mac, Windows):** Execute the following command: ```sh curl -sSL https://raw.github.com/ndmitchell/hlint/master/misc/travis.sh | sh -s .@@ -76,7 +76,7 @@ The arguments after `-s` are passed to `hlint`, so modify the final `.` if you want other arguments. -**Appveyor:** Add the following statement to `.appveyor.yml`:+**Appveyor (Windows only):** Add the following statement to `.appveyor.yml`: ```powershell - ps: Invoke-Command ([Scriptblock]::Create((Invoke-WebRequest 'https://raw.githubusercontent.com/ndmitchell/hlint/master/misc/appveyor.ps1').Content)) -ArgumentList @('.')
data/hlint.yaml view
@@ -43,6 +43,12 @@ - import Control.Lens.Operators - import Control.Monad.Reader +- package:+ name: attoparsec+ modules:+ - import Data.Attoparsec.Text+ - import Data.Attoparsec.ByteString+ - group: name: default enabled: true@@ -657,6 +663,16 @@ - error: {lhs: "Control.Lens.has (a . Control.Lens.at b)", rhs: "Control.Lens.has a"} - error: {lhs: "Control.Lens.nullOf (Control.Lens.at a)", rhs: "False"} - error: {lhs: "Control.Lens.nullOf (a . Control.Lens.at b)", rhs: "Control.Lens.nullOf a"}++- group:+ name: attoparsec+ enabled: true+ imports:+ - package base+ - package attoparsec+ rules:+ - warn: {lhs: Data.Attoparsec.Text.option Nothing (Just <$> p), rhs: optional p}+ - warn: {lhs: Data.Attoparsec.ByteString.option Nothing (Just <$> p), rhs: optional p} - group: name: generalise
hlint.cabal view
@@ -1,7 +1,7 @@ cabal-version: >= 1.18 build-type: Simple name: hlint-version: 2.1.13+version: 2.1.14 license: BSD3 license-file: LICENSE category: Development
src/HSE/Util.hs view
@@ -398,7 +398,8 @@ extensionImpliedBy = \x -> Map.findWithDefault [] x mp where mp = Map.fromListWith (++) [(b, [a]) | (a,bs) <- extensionImplications, b <- bs] --- | (a, bs) means extension a implies all of bs+-- | (a, bs) means extension a implies all of bs.+-- Taken from https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#language-options extensionImplications :: [(Extension, [Extension])] extensionImplications = map (first EnableExtension) $ (RebindableSyntax, [DisableExtension ImplicitPrelude]) :@@ -410,7 +411,8 @@ , (FunctionalDependencies , [MultiParamTypeClasses]) , (GADTs , [MonoLocalBinds]) , (IncoherentInstances , [OverlappingInstances])- , (ImplicitParams , [FlexibleContexts, FlexibleInstances])+-- Incorrect, see https://github.com/ndmitchell/hlint/issues/587+-- , (ImplicitParams , [FlexibleContexts, FlexibleInstances]) , (ImpredicativeTypes , [ExplicitForAll, RankNTypes]) , (LiberalTypeSynonyms , [ExplicitForAll]) , (PolyKinds , [KindSignatures])