• Adam Gundry's avatar
    Implement HasField constraint solving and modify OverloadedLabels · da493897
    Adam Gundry authored
    This implements automatic constraint solving for the new HasField class
    and modifies the existing OverloadedLabels extension, as described in
    the GHC proposal
    (https://github.com/ghc-proposals/ghc-proposals/pull/6). Per the current
    form of the proposal, it does *not* currently introduce a separate
    `OverloadedRecordFields` extension.
    
    This replaces D1687.
    
    The users guide documentation still needs to be written, but I'll do
    that after the implementation is merged, in case there are further
    design changes.
    
    Test Plan: new and modified tests in overloadedrecflds
    
    Reviewers: simonpj, goldfire, dfeuer, bgamari, austin, hvr
    
    Reviewed By: bgamari
    
    Subscribers: maninalift, dfeuer, ysangkok, thomie, mpickering
    
    Differential Revision: https://phabricator.haskell.org/D2708
    da493897
RnPat.hs 34.5 KB