【发布时间】:2018-09-01 01:25:55
【问题描述】:
我对 GHC-7.10.3 及更早版本的文档测试失败感到困惑。完整的错误信息是
Data/ByteString/Builder/HTTP/Chunked.hs:75:0:
error: missing binary operator before token "("
#if MIN_VERSION_base(4,8,0)
^
doctests: doctests: phase `C pre-processor' failed (exitcode = 1)
使用 GHC >= 8.0,测试按预期工作。在所有情况下,我都使用doctest-0.15.0。
编辑:我从https://ghc.haskell.org/trac/ghc/ticket/10970 收集到的是,MIN_VERSION_ 宏最初是由 cabal 定义的,但自 v8.0 起由 GHC 自身生成。看来 cabal v2.2 仍然为 GHC new-build 有效,但 doctest 绕过了 cabal。
有人可以提出一个好的解决方法吗?
【问题讨论】:
-
由于 doctest 主要用于确保您的 doc cmets 与代码库同步,我只需在您的 cabal 文件中添加一个标志,以允许您禁用旧版本的 doctest。例如,我这样做here。
标签: haskell c-preprocessor ghc doctest