• Ryan Scott's avatar
    Fix #13885 by freshening reified GADT constructors' universal tyvars · 79b259ae
    Ryan Scott authored
    Summary:
    When reifying GADTs with Template Haskell, the universally quantified
    type variables were being reused across both the data type head and the
    constructors' type signatures. This had the annoying effect of causing sets
    of differently scoped variables to have the same uniques. To avoid this, we
    now freshen the universal tyvars before reifying the constructors so as to
    ensure they have distinct uniques.
    
    Test Plan: make test TEST=T13885
    
    Reviewers: goldfire, austin, bgamari, simonpj
    
    Reviewed By: simonpj
    
    Subscribers: rwbarton, thomie
    
    GHC Trac Issues: #13885
    
    Differential Revision: https://phabricator.haskell.org/D3867
    79b259ae
all.T 17.1 KB