import VarSet
import Name
import Id
-import IdInfo
import PprCore
import ErrUtils
import SrcLoc
where
binder_ty = idType binder
maybeDmdTy = idNewStrictness_maybe binder
- bndr_vars = varSetElems (idFreeVars binder `unionVarSet` wkr_vars)
- wkr_vars | workerExists wkr_info = unitVarSet (workerId wkr_info)
- | otherwise = emptyVarSet
- wkr_info = idWorkerInfo binder
+ bndr_vars = varSetElems (idFreeVars binder)
lintBinder var | isId var = lintIdBndr var $ \_ -> (return ())
| otherwise = return ()
\end{code}
Just (tycon, _)
| debugIsOn &&
isAlgTyCon tycon &&
+ not (isOpenTyCon tycon) &&
null (tyConDataCons tycon) ->
pprTrace "Lint warning: case binder's type has no constructors" (ppr var <+> ppr (idType var))
-- This can legitimately happen for type families