Skip to content

Inspection tests fail if -O0 is forced #634

@Bodigrim

Description

@Bodigrim

Hackage builder for some reason enforces -O0, which causes inspection tests to fail:

$ cabal run test:tests --ghc-options='-O0' -- --hide-successes
All
  Properties
    folds-unfolds
      folds
        _S_foldl'_from_foldlM' ==~ _S_foldl':                              FAIL
          LHS:
              _S_foldl'_from_foldlM'
                = ... \ (f :: a -> Char -> a) (x :: a) ->
                        . runIdentity
                          (foldlM'
                             $fMonadIdentity
                             ((\ (i :: a) (c :: Char) -> f i c) `cast` <Co:9> :: ...)
                             x)
          RHS: _S_foldl' = ... inline foldl'
          Use -p '/_S_foldl'\''_from_foldlM'\'' ==~ _S_foldl'\''/' to rerun this test only.
    lowlevel
      misc
        t_literal_foo
          mentions none of Char, List:                                     FAIL
            t_literal_foo :: Text
            t_literal_foo = pack lvl_sNbt

            lvl_sNbs :: Addr#
            lvl_sNbs = "foo"#

            lvl_sNbt :: [Char]
            lvl_sNbt = unpackCString# lvl_sNbs

            Use -p '/mentions none of Char, List/' to rerun this test only.
          uses none of pack, unstream, map, safe, streamList:              FAIL
            t_literal_foo :: Text
            t_literal_foo = pack lvl_sNbt

            lvl_sNbs :: Addr#
            lvl_sNbs = "foo"#

            lvl_sNbt :: [Char]
            lvl_sNbt = unpackCString# lvl_sNbs

            Use -p '/uses none of pack, unstream, map, safe, streamList/' to rerun this test only.
          uses none of unpackCString#, unpackCStringUtf8#:                 FAIL
            t_literal_foo :: Text
            t_literal_foo = pack lvl_sNbt

            lvl_sNbs :: Addr#
            lvl_sNbs = "foo"#

            lvl_sNbt :: [Char]
            lvl_sNbt = unpackCString# lvl_sNbs

            Use -p '/uses none of unpackCString#, unpackCStringUtf8#/' to rerun this test only.

...which is kinda expected, but annoying.

In the wild: https://hackage.haskell.org/package/text-2.1.2/reports/2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions