Fix scoped type variables for expression type signatures
[ghc-hetmet.git] / compiler / basicTypes / Var.lhs
index d4bf400..017e355 100644 (file)
@@ -22,7 +22,7 @@ module Var (
        Id, DictId,
        idName, idType, idUnique, idInfo, modifyIdInfo, maybeModifyIdInfo,
        setIdName, setIdUnique, setIdType, setIdInfo, lazySetIdInfo, 
-       setIdExported, setIdNotExported, 
+       setIdExported, setIdNotExported,
 
        globalIdDetails, globaliseId, 
 
@@ -40,12 +40,14 @@ import {-# SOURCE #-}       TcType( TcTyVarDetails, pprTcTyVarDetails )
 import {-# SOURCE #-}  IdInfo( GlobalIdDetails, notGlobalId, IdInfo, seqIdInfo )
 
 import Name            ( Name, NamedThing(..),
-                         setNameUnique, nameUnique, mkSysTvName
+                         setNameUnique, nameUnique, mkSysTvName, 
+                          mkSystemVarName
                        )
 import Unique          ( Unique, Uniquable(..), mkUniqueGrimily, getKey#,
                           mkBuiltinUnique )
 import FastTypes
-import Outputable
+import FastString
+import Outputable       
 \end{code}
 
 
@@ -203,13 +205,15 @@ mkTcTyVar name kind details
        }
 
 mkWildCoVar :: Kind -> TyVar
+-- A type variable that is never referred to,
+-- so its unique doesn't matter
 mkWildCoVar kind 
   = TyVar { varName = mkSysTvName wild_uniq FSLIT("co_wild"),
             realUnique = _ILIT(1),
             tyVarKind = kind,
             isCoercionVar = True }
   where
-    wild_uniq = (mkBuiltinUnique 1)
+    wild_uniq = mkBuiltinUnique 1
 \end{code}
 
 %************************************************************************