Separate the language flags from the other DynFlag's
[ghc-hetmet.git] / compiler / typecheck / TcPat.lhs
index 376385a..022796e 100644 (file)
@@ -30,21 +30,19 @@ import VarSet
 import TcUnify
 import TcHsType
 import TysWiredIn
-import Type
 import Coercion
 import StaticFlags
 import TyCon
 import DataCon
 import PrelNames
 import BasicTypes hiding (SuccessFlag(..))
-import DynFlags        ( DynFlag( Opt_GADTs ) )
+import DynFlags
 import SrcLoc
 import ErrUtils
 import Util
-import Maybes
 import Outputable
 import FastString
-import Monad
+import Control.Monad
 \end{code}
 
 
@@ -435,7 +433,11 @@ tc_pat pstate (SigPatIn pat sig_ty) pat_ty thing_inside
             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)
@@ -630,7 +632,7 @@ tcConPat pstate con_span data_con tycon pat_ty arg_pats thing_inside
                                                    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