Skip to content
  • Ningning Xie's avatar
    Adding almost devoid check for covar in ForAllCo · 879db559
    Ningning Xie authored
    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
    879db559