I'm building ghc-events as part of static-haskell-nix's CI, where sometimes I build with -O0.
An assertion appears:
test-versions: Assertion failed
CallStack (from HasCallStack):
assert, called at src/GHC/RTS/Events/Binary.hs:822:5 in ghc-events-0.19.0.1-863kLHKqkAq5pQOjpORL0w:GHC.RTS.Events.Binary
That's this one:
|
assert (fromIntegral payloadLen == |
|
(sum |
|
[ 8 -- tickyCtrDefId |
|
, 2 -- tickyCtrDefArity |
|
, textByteLen tickyCtrDefKinds |
|
, textByteLen tickyCtrDefName |
|
, 8 -- tickyCtrInfoTbl |
|
, maybe 0 textByteLen tickyCtrJsonDesc |
|
])) |
I tested also with stack test on a stack.yaml with this config:
resolver:
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/25.yaml
packages:
- .
As documented in assert, it's disabled on -O, which cabal enables by default.
So probably nobody noticed that.
I recommend setting either
ghc-options: -Wall -fno-ignore-asserts
if assertions should be used in code, or not using assert.
I'm building
ghc-eventsas part of static-haskell-nix's CI, where sometimes I build with-O0.An assertion appears:
That's this one:
ghc-events/src/GHC/RTS/Events/Binary.hs
Lines 822 to 830 in 2168f61
I tested also with
stack teston astack.yamlwith this config:As documented in assert, it's disabled on
-O, whichcabalenables by default.So probably nobody noticed that.
I recommend setting either
if assertions should be used in code, or not using
assert.