Don't import FastString in HsVersions.h
[ghc-hetmet.git] / compiler / types / InstEnv.lhs
index 7aaea5c..68a86aa 100644 (file)
@@ -33,7 +33,7 @@ import Outputable
 import BasicTypes
 import UniqFM
 import Id
-import SrcLoc
+import FastString
 
 import Data.Maybe      ( isJust, isNothing )
 \end{code}
@@ -132,9 +132,9 @@ instance Outputable Instance where
 
 pprInstance :: Instance -> SDoc
 -- Prints the Instance as an instance declaration
-pprInstance ispec@(Instance { is_flag = flag })
+pprInstance ispec
   = hang (pprInstanceHdr ispec)
-       2 (ptext SLIT("--") <+> (pprDefnLoc (getSrcSpan ispec)))
+       2 (ptext SLIT("--") <+> pprNameLoc (getName ispec))
 
 -- * pprInstanceHdr is used in VStudio to populate the ClassView tree
 pprInstanceHdr :: Instance -> SDoc
@@ -184,7 +184,7 @@ instanceCantMatch :: [Maybe Name] -> [Maybe Name] -> Bool
 -- possibly be instantiated to actual, nor vice versa; 
 -- False is non-committal
 instanceCantMatch (Just t : ts) (Just a : as) = t/=a || instanceCantMatch ts as
-instanceCantMatch ts           as            =  False  -- Safe
+instanceCantMatch _             _             =  False  -- Safe
 \end{code}
 
 
@@ -371,7 +371,7 @@ extendInstEnv inst_env ins_item@(Instance { is_cls = cls_nm, is_tcs = mb_tcs })
     add (ClsIE cur_insts cur_tyvar) _ = ClsIE (ins_item : cur_insts)
                                              (ins_tyvar || cur_tyvar)
     ins_tyvar = not (any isJust mb_tcs)
-\end{code}                   
+\end{code}
 
 
 %************************************************************************
@@ -484,9 +484,10 @@ lookupInstEnv (pkg_ie, home_ie) cls tys
                -- They shouldn't because we allocate separate uniques for them
         case tcUnifyTys bind_fn tpl_tys tys of
            Just _   -> find ms (item:us) rest
-           Nothing  -> find ms us         rest
+           Nothing  -> find ms us        rest
 
 ---------------
+bind_fn :: TyVar -> BindFlag
 bind_fn tv | isTcTyVar tv && isExistentialTyVar tv = Skolem
           | otherwise                             = BindMe
        -- The key_tys can contain skolem constants, and we can guarantee that those
@@ -532,6 +533,6 @@ insert_overlapping new_item (item:items)
        where
          overlap_ok = case is_flag instB of
                        NoOverlap -> False
-                       other     -> True
+                       _         -> True
 \end{code}