FIX: Type families test Simple14
[ghc-hetmet.git] / compiler / typecheck / TcHsType.lhs
index f4c493e..dabd17f 100644 (file)
@@ -5,6 +5,13 @@
 \section[TcMonoType]{Typechecking user-specified @MonoTypes@}
 
 \begin{code}
+{-# OPTIONS -w #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+--     http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- for details
+
 module TcHsType (
        tcHsSigType, tcHsDeriv, 
        tcHsInstHead, tcHsQuantifiedType,
@@ -334,8 +341,12 @@ kc_hs_type ty@(HsAppTy ty1 ty2)
     split (L _ (HsAppTy f a)) as = split f (a:as)
     split f                  as = (f,as)
     mk_app fun arg = HsAppTy (noLoc fun) arg   -- Add noLocs for inner nodes of
-                                               -- the application; they are never used
-    
+                                               -- the application; they are
+                                               -- never used 
+
+kc_hs_type ty@(HsPredTy (HsEqualP _ _))
+  = wrongEqualityErr
+
 kc_hs_type (HsPredTy pred)
   = kcHsPred pred              `thenM` \ pred' ->
     returnM (HsPredTy pred', liftedTypeKind)
@@ -849,5 +860,8 @@ dupInScope n n' ty
   = hang (ptext SLIT("The scoped type variables") <+> quotes (ppr n) <+> ptext SLIT("and") <+> quotes (ppr n'))
        2 (vcat [ptext SLIT("are bound to the same type (variable)"),
                ptext SLIT("Distinct scoped type variables must be distinct")])
+
+wrongEqualityErr
+  = failWithTc (text "Equality predicate used as a type")
 \end{code}