
#11182: -XStrict doesn't imply -XStrictData -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: GHC rejects Unknown/Multiple | valid program Test Case: | Blocked By: Blocking: | Related Tickets: #8347 Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Compiling this code: {{{#!hs {-# LANGUAGE Strict #-} data Lazy a = Lazy ~a main :: IO () main = case Lazy undefined of Lazy _ -> putStrLn "Lazy" }}} fails with the following error: {{{ $ .\inplace\bin\ghc-stage2.exe ../Lazy.hs [1 of 1] Compiling Main ( ..\Lazy.hs, ..\Lazy.o ) ..\Lazy.hs:3:15: error: * Lazy annotation (~) without StrictData on the first argument of `Lazy' * In the definition of data constructor `Lazy' In the data type declaration for `Lazy' }}} I was under the impression that `-XStrict` implied `-XStrictData`. Is this not the case? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11182 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler