{-# OPTIONS -XBangPatterns #-} -- Various bang-pattern and lazy-pattern tests module ShouldCompile where main1,main2,main3,main4,main5,main6,main7 :: IO () main1 = do !c <- return () return () main2 = return () >>= \ !c -> return () main3 = do (!c) <- return () return () main4 = return () >>= \ (!c) -> return () main5 = let !x = 1 in return () main6 = do ~c <- return () return () main7 = return () >>= \ ~c -> return ()