
#15920: Implement a flag which disables safe Haskell -------------------------------------+------------------------------------- Reporter: mpickering | Owner: (none) Type: bug | Status: closed Priority: high | Milestone: 8.8.1 Component: Compiler | Version: 8.6.2 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5360 Wiki Page: | -------------------------------------+------------------------------------- Comment (by goldfire): I know it's "too late", but this strikes me as something that should get more visibility. With the feature requested here, it is now possible to compile a module with `{-# LANGUAGE Safe #-}` in it but that uses `unsafeCoerce`. The fact that this happens might be buried in a `.cabal` file or even more obfuscated. While I certainly recognize why Matt wanted this, and I see no reasonable alternative, I do think that this begs the larger question of what guarantees we can expect from a module with `{-# LANGUAGE Safe #-}` in it. I think the best course would be to make a post-hoc ghc-proposal to seek community input on the design here. I don't advocate reverting the patch -- I see how you can be quite blocked without this -- but I still want to have a larger conversation about the design goals here. Do you agree? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15920#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler