Add several new record features
[ghc-hetmet.git] / compiler / rename / RnHsSyn.lhs
index 53f04e2..4f40a8d 100644 (file)
@@ -87,6 +87,8 @@ extractHsCtxtTyNames (L _ ctxt)
 -- so don't mention the IP names
 extractHsPredTyNames (HsClassP cls tys)
   = unitNameSet cls `unionNameSets` extractHsTyNames_s tys
+extractHsPredTyNames (HsEqualP ty1 ty2)
+  = extractHsTyNames ty1 `unionNameSets` extractHsTyNames ty2
 extractHsPredTyNames (HsIParam n ty)
   = extractHsTyNames ty
 \end{code}
@@ -128,9 +130,8 @@ conDeclFVs (L _ (ConDecl { con_qvars = tyvars, con_cxt = context,
 conResTyFVs ResTyH98       = emptyFVs
 conResTyFVs (ResTyGADT ty) = extractHsTyNames ty
 
-conDetailsFVs (PrefixCon btys)     = plusFVs (map bangTyFVs btys)
-conDetailsFVs (InfixCon bty1 bty2) = bangTyFVs bty1 `plusFV` bangTyFVs bty2
-conDetailsFVs (RecCon flds)       = plusFVs [bangTyFVs bty | (HsRecField _ bty  _) <- flds]
+conDetailsFVs :: HsConDeclDetails Name -> FreeVars
+conDetailsFVs details = plusFVs (map bangTyFVs (hsConDeclArgTys details))
 
 bangTyFVs bty = extractHsTyNames (getBangType bty)
 \end{code}