diff options
author | Adam Gundry <adam@well-typed.com> | 2017-02-14 09:53:28 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-02-14 10:53:01 -0500 |
commit | da493897ac6ee2b17a0c58b51315f9d136de730d (patch) | |
tree | 08e13ee790290eada30f1ff1c7d1a2cae9f9d69b /compiler/parser | |
parent | c3bbd1afc85cd634d8d26e27bafb92cc7481667b (diff) | |
download | haskell-da493897ac6ee2b17a0c58b51315f9d136de730d.tar.gz |
Implement HasField constraint solving and modify OverloadedLabels
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
Diffstat (limited to 'compiler/parser')
-rw-r--r-- | compiler/parser/Parser.y | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/parser/Parser.y b/compiler/parser/Parser.y index e0e060e053..175cfbbdfc 100644 --- a/compiler/parser/Parser.y +++ b/compiler/parser/Parser.y @@ -2485,7 +2485,7 @@ aexp2 :: { LHsExpr RdrName } : qvar { sL1 $1 (HsVar $! $1) } | qcon { sL1 $1 (HsVar $! $1) } | ipvar { sL1 $1 (HsIPVar $! unLoc $1) } - | overloaded_label { sL1 $1 (HsOverLabel $! unLoc $1) } + | overloaded_label { sL1 $1 (HsOverLabel Nothing $! unLoc $1) } | literal { sL1 $1 (HsLit $! unLoc $1) } -- This will enable overloaded strings permanently. Normally the renamer turns HsString -- into HsOverLit when -foverloaded-strings is on. |