Skip to content
  • Simon Peyton Jones's avatar
    Fix elemLocalRdrEnv (Trac #9160) · b637585d
    Simon Peyton Jones authored
    This was pretty obscure.  elemLocalRdrEnv was utterly wrong (replied
    False when it should reply True) when given an Exact Name. That
    doesn't happen often, but it does happen in the result of a TH splice.
    The result was that an associated type didn't get a type variable that
    lined up with its parent class (elemLocalRdrEnv is used in
    RnTypes.bindHsTyVars), and that messed up the singletons package.
    
    I've made a completely different test case to show up the bug:
    indexed_types/should_fail/T9160
    
    I also refactored RdrName.LocalRdrEnv to be a record with named
    fields, which makes the code more robust and easy to understand.
    b637585d