Skip to content
  • Richard Eisenberg's avatar
    Fix #14729 by making the normaliser homogeneous · a53b2f45
    Richard Eisenberg authored and Ben Gamari's avatar Ben Gamari committed
    This ports the fix to #12919 to the normaliser. (#12919 was about
    the flattener.) Because the fix is involved, this is done by
    moving the critical piece of code to Coercion, and then calling
    this from both the flattener and the normaliser.
    
    The key bit is: simplifying type families in a type is always
    a *homogeneous* operation. See #12919 for a discussion of why
    this is the Right Way to simplify type families.
    
    Also fixes #15549.
    
    test case: dependent/should_compile/T14729{,kind}
               typecheck/should_compile/T15549[ab]
    
    (cherry picked from commit 2b90356d)
    a53b2f45