• Edward Z. Yang's avatar
    Test for type synonym loops on TyCon. · 31398fbc
    Edward Z. Yang authored
    Summary:
    Previously, we tested for type synonym loops by doing
    a syntactic test on the literal type synonym declarations.
    However, in some cases, loops could go through hs-boot
    files, leading to an infinite loop (#12042); a similar
    situation can occur when signature merging.
    
    This commit replaces the syntactic test with a test on
    TyCon, simply by walking down all type synonyms until
    we bottom out, or find we've looped back.  It's a lot
    simpler.
    Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
    
    Test Plan: validate
    
    Reviewers: simonpj, austin, bgamari
    
    Subscribers: goldfire, thomie
    
    Differential Revision: https://phabricator.haskell.org/D2656
    
    GHC Trac Issues: #12042
    31398fbc
TcTyDecls.hs 38.1 KB