import HsSyn
import HsCore ( HsIdInfo(..), UfExpr(..), toUfExpr, toUfBndr )
import HsTypes ( toHsTyVars )
+import TysPrim ( alphaTyVars )
import BasicTypes ( Fixity(..), NewOrData(..),
Version, initialVersion, bumpVersion,
)
import NameEnv
import NameSet
import OccName ( pprOccName )
-import TyCon ( TyCon, getSynTyConDefn, isSynTyCon, isNewTyCon, isAlgTyCon, tyConGenIds,
- tyConTheta, tyConTyVars, tyConDataCons, tyConFamilySize,
- isClassTyCon, isForeignTyCon
+import TyCon ( TyCon, getSynTyConDefn, isSynTyCon, isNewTyCon,
+ isAlgTyCon, tyConGenIds, tyConTheta, tyConTyVars,
+ tyConDataCons, tyConFamilySize, isPrimTyCon,
+ isClassTyCon, isForeignTyCon, tyConArity
)
import Class ( classExtraBigSig, classTyCon, DefMeth(..) )
import FieldLabel ( fieldLabelType )
tcdFoType = DNType, -- The only case at present
tcdLoc = noSrcLoc }
+ | isPrimTyCon tycon
+ -- needed in GHCi for ':info Int#', for example
+ = TyData { tcdND = DataType,
+ tcdCtxt = [],
+ tcdName = getName tycon,
+ tcdTyVars = toHsTyVars (take (tyConArity tycon) alphaTyVars),
+ tcdCons = [],
+ tcdNCons = 0,
+ tcdDerivs = Nothing,
+ tcdSysNames = [],
+ tcdLoc = noSrcLoc }
+
| otherwise = pprPanic "ifaceTyCls" (ppr tycon)
tyvars = tyConTyVars tycon