Skip to content

show COMPLETE pragmas in rendered Haddocks

Originally by Olaf Klinke:

This is a feature request. Much like MINIMAL pragmas for type classes, the COMPLETE pragma is used to signal a contract, namely that a set of functions (patterns in this case) cover a type. While the MINIMAL pragma is picked up by Haddock, COMPLETE is not. Thus the only way for a library user to discover this information is either to look at the source or compile with Wincomplete-uni-patterns.

Relevant haskell-cafe-thread: Wincomplete-uni-patterns and bidirectional patterns

A prominent example and test case is the module Data.Sequence.Internal which contains two COMPLETE pragmas.

-- https://github.com/haskell/haddock/issues/1625

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information