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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions