criterion 1.5.4.0 → 1.5.5.0
raw patch · 5 files changed
+22/−13 lines, 5 filesdep ~transformers-compatPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: transformers-compat
API changes (from Hackage documentation)
Files
- Criterion/Monad/Internal.hs +4/−8
- Criterion/Report.hs +7/−1
- changelog.md +5/−0
- criterion.cabal +4/−3
- examples/criterion-examples.cabal +2/−1
Criterion/Monad/Internal.hs view
@@ -20,7 +20,8 @@ import Control.Monad.Catch (MonadThrow, MonadCatch, MonadMask) import qualified Control.Monad.Fail as Fail (MonadFail(..)) import Control.Monad.Reader (MonadReader(..), ReaderT)-import Control.Monad.Trans (MonadIO, lift)+import Control.Monad.Trans (MonadIO)+import Control.Monad.Trans.Instances () import Criterion.Types (Config) import Data.IORef (IORef) import Prelude ()@@ -35,15 +36,10 @@ -- | The monad in which most criterion code executes. newtype Criterion a = Criterion { runCriterion :: ReaderT Crit IO a- } deriving (Functor, Applicative, Monad, MonadIO, MonadThrow, MonadCatch, MonadMask)+ } deriving ( Functor, Applicative, Monad, Fail.MonadFail, MonadIO+ , MonadThrow, MonadCatch, MonadMask ) instance MonadReader Config Criterion where ask = config `fmap` Criterion ask local f = Criterion . local fconfig . runCriterion where fconfig c = c { config = f (config c) }---- ReaderT has a MonadFail instance, but only on GHC 8.0+, so I inline the--- fail implementation for ReaderT here to compensate. (Otherwise, I'd just--- derive this instance.)-instance Fail.MonadFail Criterion where- fail = Criterion . lift . Fail.fail
Criterion/Report.hs view
@@ -325,6 +325,12 @@ #if defined(EMBED) `E.catch` \(e :: IOException) -> maybe (throwIO e)- (pure . TLE.decodeUtf8 . BL.fromStrict)+ (pure . TLE.decodeUtf8 . fromStrict) (lookup fp dataFiles)+ where+# if MIN_VERSION_bytestring(0,10,0)+ fromStrict = BL.fromStrict+# else+ fromStrict x = BL.fromChunks [x]+# endif #endif
changelog.md view
@@ -1,3 +1,8 @@+1.5.5.0++* Fix the build on old GHCs with the `embed-data-files` flag.+* Require `transformers-compat-0.6.4` or later.+ 1.5.4.0 * Add `parserWith`, which allows creating a `criterion` command-line interface
criterion.cabal view
@@ -1,5 +1,5 @@ name: criterion-version: 1.5.4.0+version: 1.5.5.0 synopsis: Robust, reliable performance measurement and analysis license: BSD3 license-file: LICENSE@@ -25,7 +25,8 @@ GHC==8.0.2, GHC==8.2.2, GHC==8.4.4,- GHC==8.6.3+ GHC==8.6.5,+ GHC==8.8.1 data-files: templates/*.css@@ -103,7 +104,7 @@ text >= 0.11, time, transformers,- transformers-compat >= 0.4,+ transformers-compat >= 0.6.4, vector >= 0.7.1, vector-algorithms >= 0.4 if impl(ghc < 7.6)
examples/criterion-examples.cabal view
@@ -18,7 +18,8 @@ GHC==8.0.2, GHC==8.2.2, GHC==8.4.4,- GHC==8.6.3+ GHC==8.6.5,+ GHC==8.8.1 flag conduit-vs-pipes default: True