Skip to content

Convert pretty-printed suggestions to proper GhcHints inside GHC.Parser.Errors.Ppr

See #18516 and #19905.

Currently (for pragmatic reasons) a lot of diagnostic messages inside GHC.Parser.Errors.Ppr have their suggestions bundled together the diagnostic message. Example:

diagnosticMessage = \case
    ...
    PsErrIllegalBangPattern e
      -> mkSimpleDecorated $ text "Illegal bang-pattern (use BangPatterns):" $$ ppr e
    ...
...
diagnosticHints = \case
    ...
    PsErrIllegalBangPattern{}                     -> noHints
    ...

This is bad, because it means we cannot meaningfully recover hints by calling diagnosticHints on the input diagnostic, and we are not benefitting from all the work we have done on #18516, which is a shame.

Once again, the current status quo was accepted just to expedite merging the bulk of the work, but not that the former has been merged, we need to march along with the conversion.

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