• Matthew Pickering's avatar
    Rework renaming of children in export lists. · e660f4bf
    Matthew Pickering authored
    The target of this patch is exports such as:
    
    ```
    module Foo ( T(A, B, C) ) where
    ```
    
    Essentially this patch makes sure that we use the correct lookup functions in order
    to lookup the names in parent-children export lists. This change
    highlighted the complexity of this small part of GHC which accounts for
    the scale.
    
    This change was motivated by wanting to
    remove the `PatternSynonym` constructor from `Parent`. As with all these
    things, it quickly spiraled out of control into a much larger refactor.
    
    Reviewers: simonpj, goldfire, bgamari, austin
    
    Subscribers: adamgundry, thomie
    
    Differential Revision: https://phabricator.haskell.org/D2179
    
    GHC Trac Issues: #11970
    e660f4bf
Avail.hs 6.52 KB