packages feed

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 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])