import DataCon ( DataCon, dataConFieldLabels, dataConStrictMarks,
dataConWrapId, isVanillaDataCon, dataConTyVars, dataConOrigArgTys )
import Name ( Name )
-import TyCon ( TyCon, FieldLabel, tyConStupidTheta, tyConArity, tyConDataCons )
+import TyCon ( FieldLabel, tyConStupidTheta, tyConDataCons )
import Type ( substTheta, substTy )
import Var ( tyVarKind )
import VarSet ( emptyVarSet, elemVarSet )
import Maybes ( catMaybes )
import Outputable
import FastString
+
+#ifdef DEBUG
+import TyCon ( tyConArity )
+#endif
\end{code}
%************************************************************************
= do { addErrTc (badFieldCon data_con field_lbl)
; return Nothing }
-badFields rbinds data_con
- = filter (not . (`elem` field_names)) (recBindFields rbinds)
- where
- field_names = dataConFieldLabels data_con
-
checkMissingFields :: DataCon -> HsRecordBinds Name -> TcM ()
checkMissingFields data_con rbinds
| null field_labels -- Not declared as a record;
import ErrUtils ( Messages, mkDumpDoc, showPass )
import Id ( Id, mkExportedLocalId, isLocalId, idName, idType )
import Var ( Var )
-import Module ( Module, ModuleEnv, mkModule, moduleEnvElts, elemModuleEnv )
+import Module ( Module, ModuleEnv, moduleEnvElts, elemModuleEnv )
import OccName ( mkVarOcc, mkOccFS, varName )
import Name ( Name, NamedThing(..), isExternalName, getSrcLoc, isWiredInName,
mkExternalName )