Skip to content

Haddock incompatibility with older GHC #383

@ag-eitilt

Description

@ag-eitilt

I like to locally test my packages against every version the Hackage matrix would be testing, just to have the most accurate data before actually releasing, and several times have run into issues with vector by the time I get back to GHC-8.4.4 -- namely, the Haddock fails to build. Since that's not marked in the vector.cabal (and since cabal.project files don't support if()), I need to manually add a --constraint=vector<0.12.2 every time I try to test an older GHC, which I never remember to do until after flailing around for a bit. The matrix (and presumably most users) don't have this issue because everything works fine if the Haddock is never built, but I have my global Cabal config set to build the docs for everything.

The issue seems to be with the {-# UNPACK #-} pragmas on Data.Vector.Mutable.MVector, and their interaction with the postfix Haddock; there might be other similar issues, but that's the first error the build hits. It's too late at night for me to pick it apart at the moment, but vector-0.12.2.0 added (admittedly needed) explanation of each argument to the constructor in a way which the older Haddock doesn't seem to be able to parse. I'll look into this a bit further soon, but I just wanted to put this out there before I lost track of it again, and in case anyone else knows the fix off the top of their head.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions