type RenamedHsExpr = HsExpr Name RenamedPat
type RenamedHsModule = HsModule Name RenamedPat
type RenamedInstDecl = InstDecl Name RenamedPat
+type RenamedMatchContext = HsMatchContext Name
type RenamedMatch = Match Name RenamedPat
type RenamedMonoBinds = MonoBinds Name RenamedPat
type RenamedPat = InPat Name
----------------
ruleDeclFVs (HsRule _ _ _ _ _ _) = emptyFVs
-ruleDeclFVs (IfaceRule _ vars _ args rhs _)
+ruleDeclFVs (IfaceRuleOut _ _) = emptyFVs
+ruleDeclFVs (IfaceRule _ _ vars _ args rhs _)
= delFVs (map ufBinderName vars) $
ufExprFVs rhs `plusFV` plusFVs (map ufExprFVs args)
-- Tells whether a Match is for a generic definition
-- and extract the type from a generic match and put it at the front
-maybeGenericMatch (Match tvs (TypePatIn ty : pats) sig_ty grhss)
- = Just (ty, Match tvs pats sig_ty grhss)
+maybeGenericMatch (Match (TypePatIn ty : pats) sig_ty grhss)
+ = Just (ty, Match pats sig_ty grhss)
maybeGenericMatch other_match = Nothing
\end{code}