Evan Laforge <[email protected]> writes: > I recently noticed that with -O1, ghc was optimizing some code > > if Trace.traceShowId "b" $ True > then return $ Left $ Serialize.BadMagic (Serialize.magicBytes > magic) file_magic > else first Serialize.UnserializeError <$> Exception.evaluate > (Serialize.decode rest) > > to always evaluate the 'else' branch. This is fixed in 8.4.2, so I'm > pretty sure it's https://ghc.haskell.org/trac/ghc/ticket/13930 > > I assume there's no point trying to get a minimal reproduction, since > it's a known issue and fixed. Still, > https://downloads.haskell.org/~ghc/8.4.2/docs/html/users_guide/8.4.2-notes.html > says "incorrectly optimised, resulting in space leaks". > > Maybe it should instead say "incorrectly optimised, resulting in > taking the wrong branch in 'if' expressions"? That's a bit more > alarming, and is a stronger "upgrade to 8.4.2" signal.
Yes, I suppose the language in the release notes does rather understate the degree of the incorrectness. I'll push a new version of the manual with some stronger language tomorrow. Cheers, - Ben
signature.asc
Description: PGP signature
_______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
