Skip to content

NewTypes doctest examples expect [Char] not String #11796

@philderbeast

Description

@philderbeast

What is wrong with the docs?
When doctests are run with ghc-9.14.1 we get these failures:

$ make doctest-Cabal-syntax
Running doctests for Cabal-syntax:
src/Distribution/FieldGrammar/Newtypes.hs:145: failure in expression `:t alaList' FSep Token'
expected: alaList' FSep Token :: [String] -> List FSep Token String
 but got: alaList' FSep Token :: [[Char]] -> List FSep Token [Char]
                                  ^

src/Distribution/FieldGrammar/Newtypes.hs:175: failure in expression `:t alaSet' FSep Token'
expected: alaSet' FSep Token :: Set String -> Set' FSep Token String
 but got: alaSet' FSep Token :: Set [Char] -> Set' FSep Token [Char]
                                    ^

Examples: 154  Tried: 153  Errors: 0  Failures: 2
Error: [Cabal-7125]
repl failed for Cabal-syntax-3.17.0.0.

make: *** [Makefile:167: doctest-Cabal-syntax] Error 1
$ make doctest-cabal-install
Running doctests for cabal-install:

src/Distribution/Client/Utils/Parsec.hs:61: failure in expression `:t alaNubList' FSep Token'
expected: alaNubList' FSep Token
            :: NubList String -> NubList' FSep Token String
 but got: alaNubList' FSep Token
            :: NubList [Char] -> NubList' FSep Token [Char]
                       ^

Examples: 37  Tried: 36  Errors: 0  Failures: 1
Error: [Cabal-7125]
repl failed for cabal-install-3.17.0.0.

make: *** [Makefile:167: doctest-cabal-install] Error 1

It doesn't seem to matter that type String = [Char] is in scope.

Additional context
The example above uses the make doctest-PACKAGENAME target from #11793 but this is reproducible by substituting the "$(DOCTEST)"1 value from that pull request directly on the command line.

Footnotes

  1. DOCTEST := cabal repl --with-compiler=doctest --build-depends=QuickCheck --verbose=0 --repl-options='-w -Wdefault -Wno-inconsistent-flags'

Metadata

Metadata

Assignees

No one assigned

    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