Add -XOverloadedRecordFields extension
Add GHC.Records and Has class as known-key things
Substantial reorganisation so that field labels are represented by OccNames, not Names
Drop the UniqSet from RecFieldEnv, since it is no longer needed
Store OccNames of selectors in interface files, not Names
Only mangle selector names when -XOverloadedRecordFields is enabled
Fixes for stage 2 compiler
Sort out PrelNames for Has and getField
Add HsOverloadedRecFld and HsSingleRecFld: rename and typecheck appropriately
Fix ambiguous name error message to show field labels, not selectors
Generate Has class instances
Complain about ambiguity when using an overloaded field somewhere it shouldn't be
-XOverloadedRecordFields implies -XDisambiguateRecordFields
Lookup record selector names in local module only, avoiding bogus ambiguity errors
Report used RdrNames when looking up potentially overloaded variables
Tidy up code to create Has instances; ignore naughty record selectors
Maintain the AvailTC invariant when importing and exporting fields
Make FldParent for non-overloaded record fields in gresFromAvail
Record uses of all overloaded fields (when generating Has instances)
Make AvailTC Name [Name] [(OccName, Name)] instead; remove selectors from GlobalRdrEnv