[project @ 2000-07-11 16:24:57 by simonmar]
[ghc-hetmet.git] / ghc / compiler / usageSP / UsageSPUtils.lhs
index 1628413..9246709 100644 (file)
@@ -25,21 +25,18 @@ module UsageSPUtils ( AnnotM(AnnotM), initAnnotM,
 #include "HsVersions.h"
 
 import CoreSyn
-import Literal          ( Literal(..) )
+import CoreFVs         ( mustHaveLocalBinding )
 import Var              ( Var, varName, varType, setVarType, mkUVar )
-import Id               ( mayHaveNoBinding, isExportedId )
+import Id               ( isExportedId )
 import Name             ( isLocallyDefined )
 import TypeRep          ( Type(..), TyNote(..) )  -- friend
 import Type             ( UsageAnn(..), isUsgTy, splitFunTys )
-import PprType         ( {- instance Outputable Type -} )
 import Subst           ( substTy, mkTyVarSubst )
 import TyCon            ( isAlgTyCon, isPrimTyCon, isSynTyCon, isFunTyCon )
 import VarEnv
 import PrimOp           ( PrimOp, primOpUsg )
-import Maybes           ( expectJust )
 import UniqSupply       ( UniqSupply, UniqSM, initUs, getUniqueUs, thenUs, returnUs )
 import Outputable
-import PprCore          ( )  -- instances only
 \end{code}
 
 ======================================================================
@@ -182,8 +179,7 @@ assumed true (exactly) of all imported ids.
 
 \begin{code}
 hasLocalDef :: Var -> Bool
-hasLocalDef var = isLocallyDefined var
-                  && not (mayHaveNoBinding var)
+hasLocalDef var = mustHaveLocalBinding var
 
 hasUsgInfo :: Var -> Bool
 hasUsgInfo var = (not . isLocallyDefined) var