[GHC] #13135: Typechecker: the 'impossible' happened

#13135: Typechecker: the 'impossible' happened -------------------------------------+------------------------------------- Reporter: Saulzar | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.2 (Type checker) | 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: -------------------------------------+------------------------------------- May be something to do with type family dependencies? Unclear - but I've attached a reduced source. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13135 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13135: Typechecker: the 'impossible' happened -------------------------------------+------------------------------------- Reporter: Saulzar | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 8.0.2 checker) | 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 Saulzar): * Attachment "NanoFeldspar.hs" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13135 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13135: Typechecker "panic! the 'impossible' happened" -------------------------------------+------------------------------------- Reporter: Saulzar | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 8.0.2 checker) | 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: | -------------------------------------+------------------------------------- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13135#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13135: Typechecker "panic! the 'impossible' happened" -------------------------------------+------------------------------------- Reporter: Saulzar | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 8.0.2 checker) | 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 RyanGlScott): To be precise, here's the particular panic it gives: {{{ $ /opt/ghc/8.0.2/bin/ghci NanoFeldspar.hs GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/rgscott/.ghci [1 of 1] Compiling NanoFeldspar ( NanoFeldspar.hs, interpreted ) NanoFeldspar.hs:122:10: error:ghc: panic! (the 'impossible' happened) (GHC version 8.0.2 for x86_64-unknown-linux): No skolem info: t_a2xN }}} Reproducible on GHC 8.0.1, 8.0.2, and HEAD. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13135#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13135: Typechecker "panic! the 'impossible' happened" -------------------------------------+------------------------------------- Reporter: Saulzar | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 8.0.2 checker) | 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): OK this is a real bug, to do with the implementation of injective type families. I'm struggling with time, but I at least understand the problem -- thank you! -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13135#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13135: Typechecker "panic! the 'impossible' happened"
-------------------------------------+-------------------------------------
Reporter: Saulzar | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler (Type | Version: 8.0.2
checker) |
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

#13135: Typechecker "panic! the 'impossible' happened" -------------------------------------+------------------------------------- Reporter: Saulzar | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler (Type | Version: 8.0.2 checker) | Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | dependent/should_fail/T13135 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * testcase: => dependent/should_fail/T13135 * status: new => closed * resolution: => fixed Comment: Thanks for reporting this, with such a nice test case. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13135#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13135: Typechecker "panic! the 'impossible' happened" -------------------------------------+------------------------------------- Reporter: Saulzar | Owner: Type: bug | Status: merge Priority: normal | Milestone: 8.0.3 Component: Compiler (Type | Version: 8.0.2 checker) | Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | dependent/should_fail/T13135 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * status: closed => merge * milestone: => 8.0.3 Comment: I guess we could merge this to 8.03, if that happens. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13135#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13135: Typechecker "panic! the 'impossible' happened" -------------------------------------+------------------------------------- Reporter: Saulzar | Owner: Type: bug | Status: merge Priority: normal | Milestone: 8.0.3 Component: Compiler (Type | Version: 8.0.2 checker) | Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | dependent/should_fail/T13135 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by Saulzar): Great job, glad it was useful. I thought I'd try simplifying the syntactic library with new ghc features and this was a bit of a stumbling block, cheers! -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13135#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13135: Typechecker "panic! the 'impossible' happened"
-------------------------------------+-------------------------------------
Reporter: Saulzar | Owner: (none)
Type: bug | Status: closed
Priority: normal | Milestone: 8.2.1
Component: Compiler (Type | Version: 8.0.2
checker) |
Resolution: fixed | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
| dependent/should_fail/T13135
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Ben Gamari
participants (1)
-
GHC