[project @ 2000-11-08 14:52:06 by simonpj]
[ghc-hetmet.git] / ghc / compiler / rename / RnHsSyn.lhs
index 64564fc..d883716 100644 (file)
@@ -81,8 +81,6 @@ extractHsTyNames ty
                                         `unionNameSets` extractHsTyNames_s tys
     get (HsFunTy ty1 ty2)      = get ty1 `unionNameSets` get ty2
     get (HsPredTy p)          = extractHsPredTyNames p
-    get (HsUsgForAllTy uv ty)  = get ty
-    get (HsUsgTy u ty)         = get ty
     get (HsOpTy ty1 tycon ty2) = get ty1 `unionNameSets` get ty2 `unionNameSets`
                                 unitNameSet tycon
     get (HsNumTy n)            = emptyNameSet
@@ -139,9 +137,11 @@ tyClDeclFVs (ClassDecl context _ tyvars fds sigs _ _ src_loc)
   = delFVs (map hsTyVarName tyvars) $
     extractHsCtxtTyNames context         `plusFV`
     plusFVs (map extractFunDepNames fds)  `plusFV`
-    plusFVs (map hsSigFVs sigs)
+    hsSigsFVs sigs
 
 ----------------
+hsSigsFVs sigs = plusFVs (map hsSigFVs sigs)
+
 hsSigFVs (Sig v ty _)              = extractHsTyNames ty `addOneFV` v
 hsSigFVs (SpecInstSig ty _)        = extractHsTyNames ty
 hsSigFVs (SpecSig v ty _)          = extractHsTyNames ty `addOneFV` v
@@ -160,9 +160,9 @@ instDeclFVs (InstDecl inst_ty _ _ maybe_dfun _)
 
 ----------------
 ruleDeclFVs (HsRule _ _ _ _ _ _) = emptyFVs
-ruleDeclFVs (IfaceRule _ vars _ _ rhs _)
+ruleDeclFVs (IfaceRule _ vars _ args rhs _)
   = delFVs (map ufBinderName vars) $
-    ufExprFVs rhs
+    ufExprFVs rhs `plusFV` plusFVs (map ufExprFVs args)
 
 ----------------
 conDeclFVs (ConDecl _ _ tyvars context details _)