Fri Oct 20 11:04:42 PDT 2006  Manuel M T Chakravarty <[EMAIL PROTECTED]>
  * Fix processing of imports involving ATs with the new name parent code
  
  Associated types in import lists require special care and the new name
  parent code broke that.  What's the problem?  in the presence of ATs
  the name parent relation can have a depth of two (not just one as in H98).
  Here is an example:
  
    class GMapKey a where
      data GMap a :: * -> *
    instance GMapKey Int where
      data GMap Int v = GMapInt ...
  
  The data constructor GMapInt's parent is GMap whose parent in turn is the 
  class GMapKey; ie, GMapKey is GMapInt's grand parent.  In H98, data types 
  have no parents (which is in some places in the code represented by making 
  them their own parent).
  
  I fixed this by extending the information in filterImport's occ_env and
  taking the case of associated types explicitly in consideration when 
  processing the various forms of IE items.
  

    M ./compiler/basicTypes/OccName.lhs -1 +4
    M ./compiler/basicTypes/RdrName.lhs -2 +15
    M ./compiler/rename/RnNames.lhs -7 +173
    M ./compiler/typecheck/TcRnDriver.lhs +2
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to