Skip to content

Fix #14729 by making the normaliser homogeneous

Richard Eisenberg requested to merge rae/ghc:wip/T14729 into master

This ports the fix to #12919 (closed) to the normaliser. (#12919 (closed) 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 (closed) for a discussion of why this is the Right Way to simplify type families.

test case: dependent/should_compile/T14729{,kind}

Merge request reports