Skip to content
Snippets Groups Projects
Commit 6acaff2b authored by Vladislav Zavialov's avatar Vladislav Zavialov Committed by Marge Bot
Browse files

Tidy up error messages for TypeAbstractions

1. Print the '@' symbol before invisible patterns and improve phrasing:

      T24557c.hs:8:4: error: [GHC-11983]
     -    Invisible type pattern pat is not allowed here
     +    Illegal invisible type pattern: @pat
     +    An invisible type pattern must occur in an argument position.

2. Use a single error code for all type abstractions deemed illegal
   due to the TypeAbstractions extension being disabled.

   Before this change:
     * [GHC-78249] was used in function equations, lambdas
     * [GHC-17916] was used in constructor patterns

   After this change:
     * [GHC-78249] is used to report all illegal type abstractions
     * [GHC-17916] is no longer used

   There was no reason for both error codes to exist and this distinction
   was a source of complexity in GHC/Tc/Errors/* and GHC/Rename/Pat.hs

3. Group the different "invisible type pattern" error constructors
   under a single parent constructor, TcRnIllegalInvisibleTypePattern
   containing BadInvisPatReason
parent ec02f8c2
No related branches found
No related tags found
No related merge requests found
Showing
with 179 additions and 194 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment