packages feed

criterion 1.6.0.0 → 1.6.1.0

raw patch · 7 files changed

+42/−27 lines, 7 filesdep −ansi-wl-pprintdep ~optparse-applicativePVP ok

version bump matches the API change (PVP)

Dependencies removed: ansi-wl-pprint

Dependency ranges changed: optparse-applicative

API changes (from Hackage documentation)

Files

Criterion/Main/Options.hs view
@@ -25,7 +25,7 @@  import Control.Monad (when) import Criterion.Analysis (validateAccessors)-import Criterion.Main.Options.Internal (tabulate)+import Criterion.Main.Options.Internal (tabulate, text) import Criterion.Types (Config(..), Verbosity(..), measureAccessors,                         measureKeys) import Data.Char (isSpace, toLower)@@ -36,13 +36,12 @@ import GHC.Generics (Generic) import Options.Applicative import Options.Applicative.Help (Chunk(..))-import Options.Applicative.Help.Pretty ((.$.))+import Options.Applicative.Help.Pretty ((.$.), Doc) import Options.Applicative.Types import Paths_criterion (version) import Prelude () import Prelude.Compat import Statistics.Types (mkCL,cl95)-import Text.PrettyPrint.ANSI.Leijen (Doc, text) import qualified Data.Map as M  -- | How to match a benchmark name.
Criterion/Main/Options/Internal.hs view
@@ -9,17 +9,22 @@ -- Stability   : experimental -- Portability : GHC ----- Provides a shim on top of @optparse-applicative@'s 'Options.tabulate'--- function that is backwards-compatible with pre-@0.17.*@ versions of--- @optparse-applicative@. This is deliberately kept separate from the rest of--- "Criterion.Main.Options" because this function requires CPP to define, and+-- Provides a shim on top of @optparse-applicative@ to define two functions:+--+-- * Define a 'tabulate' function that is backwards-compatible with+--   pre-@0.17.*@ versions of @optparse-applicative@.+-- * Define a 'text' function that is forward-compatible with+--   @optparse-applicative-0.18.*@ or later.+--+-- These are deliberately kept separate from the rest of+-- "Criterion.Main.Options" because these functions require CPP to define, and -- there is a Haddock comment in "Criterion.Main.Options" that will cause the -- CPP preprocessor to trigger an \"unterminated comment\" error. Ugh. ----- TODO: When we support @optparse-applicative-0.17@ as the minimum, remove--- this module and simply inline the definition of 'tabulate' in+-- TODO: When we support @optparse-applicative-0.18@ as the minimum, remove+-- this module, and simply inline the definitions of 'tabulate' and 'text' in -- "Criterion.Main.Options".-module Criterion.Main.Options.Internal (tabulate) where+module Criterion.Main.Options.Internal (tabulate, text) where  import qualified Options.Applicative.Help as Options import Options.Applicative.Help (Chunk, Doc)@@ -35,4 +40,13 @@ tabulate = Options.tabulate (prefTabulateFill defaultPrefs) #else tabulate = Options.tabulate+#endif++-- | A shim on top of 'Options.pretty' from @optparse-applicative@ that is+-- forward-compatible with @optparse-applicative-0.18.*@ or later.+text :: String -> Doc+#if MIN_VERSION_optparse_applicative(0,18,0)+text = Options.pretty+#else+text = Options.text #endif
README.markdown view
@@ -13,14 +13,6 @@ in the <a href="/examples" target="_blank">examples directory</a>. --# Building and installing--To build and install criterion, just run--    cabal install criterion-- # Get involved!  Please report bugs via the
changelog.md view
@@ -1,3 +1,7 @@+1.6.1.0++* Support building with `optparse-applicative-0.18.*`.+ 1.6.0.0  * `criterion-measurement-0.2.0.0` adds the `measPeakMbAllocated` field to
criterion.cabal view
@@ -1,5 +1,5 @@ name:           criterion-version:        1.6.0.0+version:        1.6.1.0 synopsis:       Robust, reliable performance measurement and analysis license:        BSD3 license-file:   LICENSE@@ -29,7 +29,9 @@   GHC==8.8.4,   GHC==8.10.7,   GHC==9.0.2,-  GHC==9.2.2+  GHC==9.2.7,+  GHC==9.4.5,+  GHC==9.6.1  data-files:   templates/*.css@@ -85,9 +87,8 @@     -- TODO: Eventually, we should bump the lower version bounds to >=2 so that     -- we can remove some CPP in Criterion.Report. See #247.     aeson >= 1 && < 2.2,-    ansi-wl-pprint >= 0.6.7.2,     base >= 4.5 && < 5,-    base-compat-batteries >= 0.10 && < 0.13,+    base-compat-batteries >= 0.10 && < 0.14,     binary >= 0.5.1.0,     binary-orphans >= 1.0.1 && < 1.1,     bytestring >= 0.9 && < 1.0,@@ -104,8 +105,8 @@     js-chart >= 2.9.4 && < 3,     mtl >= 2,     mwc-random >= 0.8.0.3,-    -- TODO: Depend on optparse-applicative-0.17 as the minimum (see #258)-    optparse-applicative >= 0.13 && < 0.18,+    -- TODO: Depend on optparse-applicative-0.18 as the minimum (see #258)+    optparse-applicative >= 0.13 && < 0.19,     parsec >= 3.1.0,     statistics >= 0.14 && < 0.17,     text >= 0.11,
examples/Fibber.hs view
@@ -1,8 +1,11 @@--- The simplest/silliest of all benchmarks!+{- cabal:+build-depends: base, criterion+-}  import Criterion.Main -fib :: Integer -> Integer+-- The function we're benchmarking.+fib :: Int -> Int fib m | m < 0     = error "negative!"       | otherwise = go m   where
examples/criterion-examples.cabal view
@@ -22,7 +22,9 @@   GHC==8.8.4,   GHC==8.10.7,   GHC==9.0.2,-  GHC==9.2.2+  GHC==9.2.7,+  GHC==9.4.5,+  GHC==9.6.1  flag conduit-vs-pipes   default: True