[commit: ghc] master: Adding almost devoid check for covar in ForAllCo (879db55)

git at git.haskell.org git at git.haskell.org
Fri Oct 19 09:43:50 UTC 2018


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/879db5595208fb665ff1a0a2b12b9921d3efae0e/ghc

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

commit 879db5595208fb665ff1a0a2b12b9921d3efae0e
Author: Ningning Xie <xnningxie at gmail.com>
Date:   Fri Oct 19 17:10:08 2018 +0800

    Adding almost devoid check for covar in ForAllCo
    
    Summary:
    For the sake of consistency of the dependent core, there is a restriction on
    where a coercion variable can appear in ForAllCo: the coercion variable can
    appear nowhere except in coherence coercions.
    
    Currently this restriction is missing in Core. The goal of this patch is to add
    the missing restriction.
    
    After discussion, we decide: coercion variables can appear nowhere except in
    `GRefl` and `Refl`. Relaxing the restriction to include `Refl` should not break
    consistency, we premuse.
    
    Test Plan: ./validate
    
    Reviewers: goldfire, simonpj, bgamari
    
    Reviewed By: goldfire
    
    Subscribers: rwbarton, carter
    
    GHC Trac Issues: #15757
    
    Differential Revision: https://phabricator.haskell.org/D5231


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

879db5595208fb665ff1a0a2b12b9921d3efae0e
 compiler/coreSyn/CoreLint.hs    |  4 +-
 compiler/types/Coercion.hs      | 53 +++++++++++++++--------
 compiler/types/Coercion.hs-boot |  2 +-
 compiler/types/TyCoRep.hs       | 96 ++++++++++++++++++++++++++++++++++++++++-
 4 files changed, 132 insertions(+), 23 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 879db5595208fb665ff1a0a2b12b9921d3efae0e


More information about the ghc-commits mailing list