[GHC] #11334: GHC panic when calling typeOf on a promoted data constructor

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: Type: bug | Status: new Priority: high | Milestone: Component: Compiler | Version: 8.1 (Type checker) | Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: Compile-time Unknown/Multiple | crash Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Here's what I did in GHCi to trigger the panic: {{{ $ inplace/bin/ghc-stage2 --interactive GHCi, version 8.1.20160101: http://www.haskell.org/ghc/ :? for help λ> :set -XDataKinds λ> :m Data.Typeable Data.Functor.Compose λ> typeOf (Proxy :: Proxy 'Compose) ghc-stage2: panic! (the 'impossible' happened) (GHC version 8.1.20160101 for x86_64-unknown-linux): piResultTy * TYPE 'Lifted * Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} Enabling `-XPolyKinds` doesn't trigger the error, though; #10343 will be triggered instead: {{{ λ> :set -XPolyKinds λ> typeOf (Proxy :: Proxy 'Compose) <interactive>:5:1: error: • No instance for (Typeable a0) arising from a use of ‘typeOf’ • In the expression: typeOf (Proxy :: Proxy Compose) In an equation for ‘it’: it = typeOf (Proxy :: Proxy Compose) }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: Type: bug | Status: new Priority: high | Milestone: Component: Compiler (Type | Version: 8.1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * keywords: => TypeInType -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * milestone: => 8.0.1 Comment: I'm going to set the milestone to 8.0.1, since this affects the upcoming GHC 8.0 and I'd hate to see so much `Typeable`-related code break. Please change the milestone if you disagree. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): I dug a little more into the issue, and it looks like the issue is specifically with `typeOf`, not, say, `typeRep`. Compare: {{{ $ /opt/ghc/head/bin/ghci GHCi, version 8.1.20160108: http://www.haskell.org/ghc/ :? for help λ> :set -XDataKinds λ> :m Data.Proxy Data.Functor.Compose Data.Typeable λ> typeRep (Proxy :: Proxy 'Compose) 'Compose λ> typeRep (Proxy :: Proxy 'Just) 'Just λ> typeRep (Proxy :: Proxy 'Proxy) 'Proxy }}} versus {{{ λ> typeOf (Proxy :: Proxy 'Compose) ghc: panic! (the 'impossible' happened) (GHC version 8.1.20160108 for x86_64-unknown-linux): piResultTy * TYPE 'Lifted * Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug λ> typeOf (Proxy :: Proxy 'Just) Proxy (TYPE 'Lifted -> Maybe (TYPE 'Lifted)) 'Just λ> typeOf (Proxy :: Proxy 'Proxy) Proxy (Proxy (TYPE 'Lifted) (TYPE 'Lifted)) 'Proxy }}} Those last two results definitely look funny. I'm guessing that the issue pertains to levity polymorphism. I'll try to see what I can find about how `typeOf` works. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * differential: => Phab:D1757 Comment: I still haven't figured out what's going on with `typeOf (Proxy :: Proxy 'Compose)`, but we can at least be comforted by the fact that executing it wasn't possible before GHC 8.0, since `Compose` is poly-kinded. The "regression" here is that `*` now shows up as `TYPE 'Lifted`, which I don't think is desirable. I've opened Phab:D1757 to fix that. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Changes (by thomie): * version: 8.1 => 8.0.1-rc1 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner:
Type: bug | Status: new
Priority: high | Milestone: 8.0.1
Component: Compiler (Type | Version: 8.0.1-rc1
checker) |
Resolution: | Keywords: TypeInType
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D1757
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Ben Gamari
typeOf (Proxy :: Proxy 'Just) Proxy (TYPE 'Lifted -> Maybe (TYPE 'Lifted)) 'Just
We can at least special-case the `Show` instance for `TypeRep` so that
it prints `*` to represent `TYPE 'Lifted` and `#` to represent `TYPE
'Unlifted`.
Addresses one of the issues uncovered in #11334.
Test Plan: ./validate
Reviewers: simonpj, hvr, austin, goldfire, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1757
GHC Trac Issues: #11334
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11334#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: bgamari Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * owner: => bgamari * priority: high => highest -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: bgamari Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): This fails, {{{#!hs {-# LANGUAGE DataKinds #-} import Data.Typeable import Data.Functor.Compose main :: IO () main = print $ typeOf (undefined :: Proxy 'Compose) }}} with a compiler panic due to `TcInteract.mk_typeable_pred` calling `typeKind` on an ill-kinded type, `TYPE 'Lifted (TYPE 'Lifted *) -> Compose * * *`. Note the application `TYPE 'Lifted (TYPE 'Lifted *)`, which oversaturates `TYPE`. The problem here is apparently that the kind variables of `Compose` are all instantiated with `*` with `-XNoPolyKinds` I haven't yet determined where this occurs. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: bgamari Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): I believe this is happening in `TcMType.quantifyTyVars`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: bgamari Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Comment (by goldfire): Oh dear. Something seems terribly terribly wrong. {{{#!hs newtype Compose (f :: k -> *) (g :: k1 -> k) (a :: k1) = Compose {getCompose :: f (g a)} }}} This gives `Compose :: forall k k1. (k -> *) -> (k1 -> k) -> k1 -> *`. But your code above has '''three''' `*`s passed to `Compose`. Somehow the third one is wrong. (I think the first two are correct, as set in `quantifyTyVars`. I'm unconvinced that `quantifyTyVars` is to blame.) GHC is getting duped into thinking `* :: * -> *`, which would, actually, make the `TYPE 'Lifted (TYPE 'Lifted *)` bit well kinded. I've no clue where this is going wrong, but it's going wrong rather spectacularly. My next step would be `-ddump-tc-trace -fprint-explicit- kinds` and search for the first occurrence of `Compose * * *`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: bgamari
Type: bug | Status: new
Priority: highest | Milestone: 8.0.1
Component: Compiler (Type | Version: 8.0.1-rc1
checker) |
Resolution: | Keywords: TypeInType
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D1757
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
**Disclaimer**: The following commentary is dangerously ignorant. I've
glanced at a few papers and read a bit of code but otherwise have
vanishingly little knowledge about the type checker.
I'm looking at this slightly easier example (which still replicates the
failure),
{{{#!hs
{-# LANGUAGE PolyKinds #-}
module Other where
data Other (f :: k -> *) (a :: k) = Other (f a)
}}}
{{{#!hs
{-# LANGUAGE DataKinds #-}
module Main where
import Data.Typeable
import Other
main :: IO ()
main = let a = typeOf (undefined :: Proxy 'Other) in return ()
}}}
As before enabling `PolyKinds` in `Main` results in the expected insoluble
`Typeable` error.
`-ddump-tc-trace -fprint-explicit-kinds` produces the following suspicious
output,
{{{
decideKindGeneralisationPlan
type: (Proxy k1_aJt[tau:5] ('Other k_aJB[tau:5] f_aJC[tau:5]
a_aJD[tau:5] |>

#11334: GHC panic when calling typeOf on a promoted data constructor
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: bgamari
Type: bug | Status: new
Priority: highest | Milestone: 8.0.1
Component: Compiler (Type | Version: 8.0.1-rc1
checker) |
Resolution: | Keywords: TypeInType
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D1757
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
Easier example is good (comment:11).
Hint: always debug a compiler built with `-DDEBUG`. My build shows
{{{
decideKindGeneralisationPlan
type: (Proxy
k1_aCf[tau:5]
('Other
k_aCn[tau:5]
f_aCo[tau:5]
a_aCp[tau:5] |>

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: bgamari Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Before I forget there is a bug in `decideKindGeneralisationPlan`, which is taking the free vars of an ''unzonked'' type. But I don't understand that function really. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: bgamari Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Comment (by goldfire): Yech. First off, let's rename the data constructor and type constructor differently. I got quite confused about that! {{{ data Ty (f :: k -> *) (a :: k) = Con (f a) }}} This produces {{{ Ty :: forall k. (k -> *) -> k -> * Con :: forall k (f :: k -> *) (a :: k). (f a) -> Ty k f a }}} The question is: how should we interpret `Proxy 'Con` with `-XNoPolyKinds`? The old rule for `-XNoPolyKinds` was "set all kind variables to `*`", which is still what `quantifyTyVars` is doing. This used to make sense, because all kind variables used to have sort `BOX`, never something like `BOX -> BOX`. But those halcyon days are now gone. I suppose it would be reasonable to set all kind variables of kind `*` to be `*`, and use `Any` for the others. We don't want to just use `Any` all the time, because that wouldn't be backwards compatible and defaulting to `*` is quite sensible. The other reasonable way forward is to issue an error at `Proxy 'Con` without having more direction. For example, the user could say `Proxy ('Con :: Maybe Bool -> Ty * Maybe Bool)` to get the right instantiation. I actually prefer the "issue an error" option. The user could use a kind signature, but more likely should just enable `-XPolyKinds`. Using a promoted data constructor taken from a polykinded datatype without `-XPolyKinds` is asking for trouble. I'm happy to put this change in when I get to rounding up these tickets. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:14 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: bgamari Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): I'm very confused. Why would we error in the case of calling `print (typeOf (Proxy :: Proxy 'Comp))` whenever `-XNoPolyKinds` is enabled, whereas something like `print (typeOf (Proxy :: Proxy 'Proxy))` is OK? The latter currently yields `"Proxy (Proxy * *) 'Proxy"` when `-XNoPolyKinds` is on (or is this a bug?). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:15 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: bgamari Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Comment (by goldfire): `Proxy :: Proxy 'Proxy` should also be an error in my "issue an error" option. It's a use of a promoted data constructor of a datatype whose type parameters are not all `*`. To be honest, `-XNoPolyKinds` always confuses me now. :) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:16 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: bgamari Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): Indeed I have also wondered how `NoPolyKinds` is supposed to behave. In fact, this is something that could probably use more explanation in the users guide. We discuss the behavior of `-XPolyKinds` in great depth but hardly mention how poly-kinded types should behave in modules with `-XNoPolyKinds`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: goldfire Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * owner: bgamari => goldfire Comment:
I suppose it would be reasonable to set all kind variables of kind * to be *, and use Any for the others. We don't want to just use Any all the time, because that wouldn't be backwards compatible and defaulting to * is quite sensible. The other reasonable way forward is to issue an error at `Proxy 'Con` without having more direction
I think I favour: * Default kind vars of kind `*` to `*` * Don't default others; instead error. But note that if we have `{k1:k2, k2:*}` then defaulting `k2` to `*` might mean we could then default `k1`. We do need to do deafulting somehow because even without `PolyKinds` consider {{{ data T f a = MkT (f a) }}} We get `{f :: k -> *, a :: k}` and we can't reject the program. Anyway, Richard, thanks for saying you'll get to it. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:18 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: goldfire Type: bug | Status: patch Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: new => patch Comment: There is a patch for this in goldfire's branch which he'll hopefully submit soon. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:19 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: goldfire
Type: bug | Status: patch
Priority: highest | Milestone: 8.0.1
Component: Compiler (Type | Version: 8.0.1-rc1
checker) |
Resolution: | Keywords: TypeInType
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D1757
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Richard Eisenberg

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: goldfire Type: bug | Status: merge Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Compile-time | Test Case: crash | dependent/should_fail/T11334 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Changes (by goldfire): * testcase: => dependent/should_fail/T11334 * status: patch => merge -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:21 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: goldfire Type: bug | Status: closed Priority: highest | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Resolution: fixed | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Compile-time | Test Case: crash | dependent/should_fail/T11334 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1757 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: merge => closed * resolution: => fixed Comment: Merged as 44a95c6f2421c265da6d20af8c2968933b0d1878. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11334#comment:22 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11334: GHC panic when calling typeOf on a promoted data constructor
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: goldfire
Type: bug | Status: closed
Priority: highest | Milestone: 8.0.1
Component: Compiler (Type | Version: 8.0.1-rc1
checker) |
Resolution: fixed | Keywords: TypeInType
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: Compile-time | Test Case:
crash | dependent/should_fail/T11334
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D1757
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Richard Eisenberg
participants (1)
-
GHC