[commit: ghc] master: Associate pattern synonyms with types in module exports (96621b1)

git at git.haskell.org git at git.haskell.org
Wed Nov 11 09:53:29 UTC 2015


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/96621b1b4979f449e873513e9de8d806257c9493/ghc

>---------------------------------------------------------------

commit 96621b1b4979f449e873513e9de8d806257c9493
Author: Matthew Pickering <matthewtpickering at gmail.com>
Date:   Wed Nov 11 10:49:44 2015 +0100

    Associate pattern synonyms with types in module exports
    
    This patch implements #10653.
    
    It adds the ability to bundle pattern synonyms with type constructors in
    export lists so that users can treat pattern synonyms more like data
    constructors.
    
    Updates haddock submodule.
    
    Test Plan: ./validate
    
    Reviewers: goldfire, austin, bgamari
    
    Reviewed By: bgamari
    
    Subscribers: simonpj, gridaphobe, thomie
    
    Differential Revision: https://phabricator.haskell.org/D1258
    
    GHC Trac Issues: #10653


>---------------------------------------------------------------

96621b1b4979f449e873513e9de8d806257c9493
 compiler/basicTypes/Avail.hs                       |  41 ++++--
 compiler/basicTypes/RdrName.hs                     |  13 +-
 compiler/hsSyn/HsImpExp.hs                         |  41 ++++--
 compiler/iface/LoadIface.hs                        |   2 +-
 compiler/iface/MkIface.hs                          |   2 +-
 compiler/main/HscTypes.hs                          |   2 +-
 compiler/parser/Parser.y                           |  52 +++++---
 compiler/parser/RdrHsSyn.hs                        |  54 +++++++-
 compiler/prelude/PrelInfo.hs                       |   4 +-
 compiler/rename/RnEnv.hs                           |   4 +-
 compiler/rename/RnNames.hs                         | 120 +++++++++++------
 compiler/rename/RnPat.hs                           |   1 +
 compiler/rename/RnSource.hs                        |   4 +-
 compiler/typecheck/TcDeriv.hs                      |   2 +-
 compiler/typecheck/TcRnDriver.hs                   | 142 ++++++++++++++++++++-
 compiler/typecheck/TcRnTypes.hs                    |   2 +
 compiler/types/TyCon.hs                            |  16 +++
 .../tests/ghc-api/annotations/BundleExport.hs      |   9 ++
 testsuite/tests/ghc-api/annotations/Makefile       |   4 +
 testsuite/tests/ghc-api/annotations/all.T          |   1 +
 .../tests/ghc-api/annotations/bundle-export.stdout |  31 +++++
 .../tests/patsyn/should_compile/Associated.hs      |   9 ++
 .../tests/patsyn/should_compile/Associated1.hs     |   9 ++
 .../patsyn/should_compile/AssociatedInternal.hs    |   8 ++
 .../patsyn/should_compile/AssociatedInternal1.hs   |   8 ++
 .../tests/patsyn/should_compile/ExportSyntax.hs    |  17 +++
 .../patsyn/should_compile/ExportSyntaxImport.hs    |   7 +
 .../tests/patsyn/should_compile/TransAssociated.hs |   9 ++
 testsuite/tests/patsyn/should_compile/all.T        |  12 ++
 .../should_compile/export-record-selector.hs       |   8 ++
 .../patsyn/should_compile/export-super-class.hs    |  22 ++++
 .../tests/patsyn/should_compile/multi-export.hs    |  11 ++
 .../tests/patsyn/should_compile/poly-export.hs     |  17 +++
 .../tests/patsyn/should_compile/poly-export2.hs    |  11 ++
 .../tests/patsyn/should_compile/poly-export3.hs    |  10 ++
 testsuite/tests/patsyn/should_fail/all.T           |   8 ++
 testsuite/tests/patsyn/should_fail/export-class.hs |   8 ++
 .../tests/patsyn/should_fail/export-class.stderr   |   4 +
 .../tests/patsyn/should_fail/export-ps-rec-sel.hs  |   8 ++
 .../patsyn/should_fail/export-ps-rec-sel.stderr    |  12 ++
 .../patsyn/should_fail/export-super-class-fail.hs  |  24 ++++
 .../tests/patsyn/should_fail/export-syntax.hs      |   3 +
 .../tests/patsyn/should_fail/export-syntax.stderr  |   3 +
 .../patsyn/should_fail/export-type-synonym.hs      |  11 ++
 .../patsyn/should_fail/export-type-synonym.stderr  |   6 +
 testsuite/tests/patsyn/should_fail/export-type.hs  |  15 +++
 .../tests/patsyn/should_fail/export-type.stderr    |  18 +++
 .../tests/patsyn/should_fail/import-syntax.hs      |   4 +
 .../tests/patsyn/should_fail/import-syntax.stderr  |   3 +
 .../tests/patsyn/should_fail/poly-export-fail2.hs  |   9 ++
 .../patsyn/should_fail/poly-export-fail2.stderr    |   7 +
 utils/haddock                                      |   2 +-
 52 files changed, 755 insertions(+), 95 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 96621b1b4979f449e873513e9de8d806257c9493


More information about the ghc-commits mailing list