[GHC] #11742: 'Strict' extension is incompatible with 'deriving' mechanism

#11742: 'Strict' extension is incompatible with 'deriving' mechanism -------------------------------------+------------------------------------- Reporter: awson | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- This: {{{#!hs {-# LANGUAGE Strict #-} module Foo where data Foo = Foo deriving Eq }}} panics with {{{ ghc.EXE: panic! (the 'impossible' happened) (GHC version 8.1.20160317 for x86_64-unknown-mingw32): makeCorePair: dfun $dEq_a1zL }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11742 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11742: 'Strict' extension is incompatible with 'deriving' mechanism
-------------------------------------+-------------------------------------
Reporter: awson | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by osa1):
* cc: simonpj (added)
Comment:
This is caused by
{{{
tree b0db86fc5c3805eef1e66345bae410375a2a3dd2
parent e3f341f334d89c88f388d8e864ed8762d0890a64
author Simon Peyton Jones

#11742: 'Strict' extension is incompatible with 'deriving' mechanism -------------------------------------+------------------------------------- Reporter: awson | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * priority: normal => highest * milestone: => 8.2.1 Comment: This should be dealt with although it doesn't affect 8.0. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11742#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11742: 'Strict' extension is incompatible with 'deriving' mechanism -------------------------------------+------------------------------------- Reporter: awson | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Works ok in HEAD, so far as I can tell. So maybe already fixed? In which case a test case could be good. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11742#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11742: 'Strict' extension is incompatible with 'deriving' mechanism -------------------------------------+------------------------------------- Reporter: awson | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by awson): I tried it on quite recent ghc-8.1.20160317. Another thing I've forgotten to mention is that the bug needs `-O` to manifest itself. With no optimizations it doesn't happen. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11742#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11742: 'Strict' extension is incompatible with 'deriving' mechanism -------------------------------------+------------------------------------- Reporter: awson | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by awson): Rechecked with freshly built ghc-8.1.20160322. The bug remains in place. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11742#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11742: 'Strict' extension is incompatible with 'deriving' mechanism
-------------------------------------+-------------------------------------
Reporter: awson | Owner:
Type: bug | Status: new
Priority: highest | Milestone: 8.2.1
Component: Compiler | Version: 8.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Simon Peyton Jones

#11742: 'Strict' extension is incompatible with 'deriving' mechanism -------------------------------------+------------------------------------- Reporter: awson | Owner: Type: bug | Status: merge Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | simplCore/should_compile/T11742 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * status: new => merge * testcase: => simplCore/should_compile/T11742 Comment: Good bug! Pls merge -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11742#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11742: 'Strict' extension is incompatible with 'deriving' mechanism -------------------------------------+------------------------------------- Reporter: awson | Owner: Type: bug | Status: closed Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 8.1 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | simplCore/should_compile/T11742 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: merge => closed * resolution: => fixed * milestone: 8.2.1 => 8.0.1 Comment: Merged to `ghc-8.0` as 5f29b77af4c96e0e7002fa8ad6a4446960ea6592. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11742#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC