loopbreaker 0.1.1.0 → 0.1.1.1
raw patch · 4 files changed
+17/−6 lines, 4 filesdep ~ghcPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: ghc
API changes (from Hackage documentation)
Files
- loopbreaker.cabal +4/−3
- src/Loopbreaker.hs +2/−1
- src/Loopbreaker/InlineRecCalls.hs +2/−2
- test/Experiments.hs +9/−0
loopbreaker.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.12 name: loopbreaker-version: 0.1.1.0+version: 0.1.1.1 license: BSD3 license-file: LICENSE copyright: 2019 Matej Nižník,@@ -40,7 +40,7 @@ build-depends: base >=4.7 && <5, containers ==0.6.*,- ghc ==8.6.*,+ ghc >=8.6 && <8.9, syb ==0.7.* test-suite loopbreaker-test@@ -50,6 +50,7 @@ hs-source-dirs: test other-modules: DisableFlagSpec+ Experiments InlineRecCallsSpec PragmaDetectionSpec TestUtils@@ -64,7 +65,7 @@ build-depends: base >=4.7 && <5, containers ==0.6.*,- ghc ==8.6.*,+ ghc >=8.6 && <8.9, hspec >=2.6.1 && <3, inspection-testing >=0.4.2.1 && <0.5, loopbreaker -any,
src/Loopbreaker.hs view
@@ -49,6 +49,7 @@ ------------------------------------------------------------------------------ plugin :: Plugin plugin = defaultPlugin- { pluginRecompile = purePlugin+ { -- 'disable' flag changes behaviour+ pluginRecompile = flagRecompile , renamedResultAction = \opts -> traverse (action opts) .: (,) }
src/Loopbreaker/InlineRecCalls.hs view
@@ -74,7 +74,7 @@ inlineRecCall :: MonadInline m => Map Name (LHsSigWcType GhcRn) -- ^ types of bindings- -> Set Name -- ^ 'Loopbreaker' annotations+ -> Set Name -- ^ Loopbreaker annotations -> (RecFlag, LHsBinds GhcRn) -- ^ binding being inlined -> m ((RecFlag, LHsBinds GhcRn), [LSig GhcRn]) inlineRecCall types inlined (Recursive, binds)@@ -137,7 +137,7 @@ inlineSig how name = noLoc $ InlineSig NoExt (noLoc name) how --------------------------------------------------------------------------------- | Contrary to 'neverInlinePragma', this has behaviour of 'NOINLINE' pragma.+-- | Contrary to 'neverInlinePragma', this has behaviour of @NOINLINE@ pragma. noInlinePragma :: InlinePragma noInlinePragma = defaultInlinePragma { inl_inline = NoInline
+ test/Experiments.hs view
@@ -0,0 +1,9 @@+{-# OPTIONS_GHC -fplugin=Loopbreaker #-}++module Experiments where+++fact :: Int -> Int+fact 0 = 1+fact n = n * fact (n - 1)+{-# INLINE fact #-}