Fix warnings and fatal parsing errors
[ghc.git] / testsuite / tests / parser / should_fail / T16270.hs
index fa788c2..0c5166d 100644 (file)
@@ -1,20 +1,13 @@
-{-# LANGUAGE NoTraditionalRecordSyntax, NoDoAndIfThenElse #-}
-
--- module T16270 (type G) where
---
--- ^ Uncommenting this line prevents other errors from printing
--- because HeaderInfo.getImports fails fast on parsing imports:
---
---      if errorsFound dflags ms
---        then throwIO $ mkSrcErr errs
---
--- :(
+{-# LANGUAGE NoTraditionalRecordSyntax, NoDoAndIfThenElse, NoMultiWayIf #-}
+{-# OPTIONS -Werror=missing-space-after-bang #-}
+
+module T16270 where
 
 c = do
-  if c then
-    False
-  else
-    True
+       if c then
+               False
+       else
+               True
 
 f = id do { 1 }
 g = id \x -> x
@@ -24,6 +17,20 @@ data Num a => D a
 data Pair a b = Pair { fst :: a, snd :: b }
 t = p { fst = 1, snd = True }
 
+z :: forall a. ()
 z = if True; then (); else ();
 
 data G a where
+
+multiWayIf !i = (a, b)
+  where
+    a = if | i -> True
+           | otherwise -> False
+    b = if | i -> False
+           | otherwise -> True
+
+-- a fatal error.
+k = let
+
+-- not reported, as the previous one was fatal.
+k = let