Skip to content
  • Ryan Scott's avatar
    Make NoExtCon fields strict · 04b6cf94
    Ryan Scott authored
    This changes every unused TTG extension constructor to be strict in
    its field so that the pattern-match coverage checker is smart enough
    any such constructors are unreachable in pattern matches. This lets
    us remove nearly every use of `noExtCon` in the GHC API. The only
    ones we cannot remove are ones underneath uses of `ghcPass`, but that
    is only because GHC 8.8's and 8.10's coverage checkers weren't smart
    enough to perform this kind of reasoning. GHC HEAD's coverage
    checker, on the other hand, _is_ smart enough, so we guard these uses
    of `noExtCon` with CPP for now.
    
    Bumps the `haddock` submodule.
    
    Fixes #17992.
    04b6cf94