NewTypes doctest examples expect [Char] not String
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
**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.
[^1]: `DOCTEST := cabal repl --with-compiler=doctest --build-depends=QuickCheck --verbose=0 --repl-options='-w -Wdefault -Wno-inconsistent-flags'`
Contributor guide
Assessment
This issue has not been assessed yet.