`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
= 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
----------------
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 _)