Skip to content
  • Ryan Scott's avatar
    Use HsForAllTelescope to avoid inferred, visible foralls · a31218f7
    Ryan Scott authored
    Currently, `HsForAllTy` permits the combination of `ForallVis` and
    `Inferred`, but you can't actually typecheck code that uses it
    (e.g., `forall {a} ->`). This patch refactors `HsForAllTy` to use a
    new `HsForAllTelescope` data type that makes a type-level distinction
    between visible and invisible `forall`s such that visible `forall`s
    do not track `Specificity`. That part of the patch is actually quite
    small; the rest is simply changing consumers of `HsType` to
    accommodate this new type.
    
    Fixes #18235. Bumps the `haddock` submodule.
    a31218f7