import DataCon
import PrelNames
import BasicTypes hiding (SuccessFlag(..))
-import DynFlags ( DynFlag( Opt_GADTs ) )
+import DynFlags
import SrcLoc
import ErrUtils
import Util
import Outputable
import FastString
-import Monad
+import Control.Monad
\end{code}
failWithTc (badSigPat pat_ty)
; (pat', tvs, res) <- tcExtendTyVarEnv2 tv_binds $
tc_lpat pat inner_ty pstate thing_inside
- ; return (SigPatOut pat' inner_ty, tvs, res) }
+ ; return (SigPatOut pat' inner_ty, tvs, res) }
+
+-- Use this when we add pattern coercions back in
+-- return (mkCoPatCoI (mkSymCoI coi) (SigPatOut pat' inner_ty) pat_ty
+-- , tvs, res) }
tc_pat _ pat@(TypePat _) _ _
= failWithTc (badTypePat pat)
unwrap_ty res_pat
-- Add the stupid theta
- ; addDataConStupidTheta data_con ctxt_res_tys
+ ; setSrcSpan con_span $ addDataConStupidTheta data_con ctxt_res_tys
; ex_tvs' <- tcInstSkolTyVars skol_info ex_tvs
-- Get location from monad, not from ex_tvs