• Ryan Scott's avatar
    Use an empty data type in TTG extension constructors (#15247) · 6a03d77b
    Ryan Scott authored
    To avoid having to `panic` any time a TTG extension constructor is
    consumed, this MR introduces an uninhabited 'NoExtCon' type and uses
    that in every extension constructor's type family instance where it
    is appropriate. This also introduces a 'noExtCon' function which
    eliminates a 'NoExtCon', much like 'Data.Void.absurd' eliminates
    a 'Void'.
    I also renamed the existing `NoExt` type to `NoExtField` to better
    distinguish it from `NoExtCon`. Unsurprisingly, there is a lot of
    code churn resulting from this.
    Bumps the Haddock submodule. Fixes #15247.
HscMain.hs 78.3 KB