Use names like '$fOrdInt' for dfuns (and TF instances), rather than '$f21'
[ghc-hetmet.git] / compiler / typecheck / TcRnTypes.lhs
index cbc0fe4..19432fa 100644 (file)
@@ -68,8 +68,7 @@ import Outputable
 import ListSetOps
 import FastString
 
-import Data.Maybe
-import Data.List
+import Data.Set (Set)
 \end{code}
 
 
@@ -223,21 +222,18 @@ data TcGblEnv
           -- reference is implicit rather than explicit, so we have to zap a
           -- mutable variable.
 
-       tcg_dfun_n  :: TcRef Int,
-          -- ^ Allows us to number off the names of DFuns.
-          --
-          -- It's convenient to allocate an External Name for a DFun, with
-          -- a permanently-fixed unique, just like other top-level functions
-          -- defined in this module.  But that means we need a canonical
-          -- occurrence name, distinct from all other dfuns in this module,
-          -- and this name supply serves that purpose (df1, df2, etc).
+       tcg_dfun_n  :: TcRef OccSet,
+          -- ^ Allows us to choose unique DFun names.
 
        -- The next fields accumulate the payload of the module
        -- The binds, rules and foreign-decl fiels are collected
        -- initially in un-zonked form and are finally zonked in tcRnSrcDecls
 
-        tcg_rn_imports :: Maybe [LImportDecl Name],
         tcg_rn_exports :: Maybe [Located (IE Name)],
+        tcg_rn_imports :: [LImportDecl Name],
+               -- Keep the renamed imports regardless.  They are not 
+               -- voluminous and are needed if you want to report unused imports
+        tcg_used_rdrnames :: TcRef (Set RdrName),
        tcg_rn_decls :: Maybe (HsGroup Name),
           -- ^ Renamed decls, maybe.  @Nothing@ <=> Don't retain renamed
           -- decls.