
#12007: Pattern families regression -------------------------------------+------------------------------------- Reporter: MikeIzbicki | 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 mpickering): * cc: goldfire (added) Comment: So I could trigger the same panic with the example here https://ghc.haskell.org/trac/ghc/ticket/11549#comment:1 with rc-3 but it is fixed in HEAD. Here is the core which I think is causing the panic. Maybe Richard can look and see if he thinks anything dodgy is going on? Maybe there is some improper use of runtime rep polymorphism. {{{ -- RHS size: {terms: 18, types: 21, coercions: 0} T12007.$mB :: forall r_a19o t_a19m. Foo t_a19m -> (t_a19m -> t_a19m -> r_a19o) -> (GHC.Prim.Void# -> r_a19o) -> r_a19o [GblId, Arity=3, Caf=NoCafRefs] T12007.$mB = \ (@ (rep_a19n :: GHC.Types.RuntimeRep)) (@ (r_a19o :: TYPE rep_a19n)) (@ t_a19m) (scrut_a19q :: Foo t_a19m) (cont_a19r :: t_a19m -> t_a19m -> r_a19o) (fail_a19s :: GHC.Prim.Void# -> r_a19o) -> let { cont1_a19h :: t_a19m -> t_a19m -> r_a19o [LclId, Arity=2] cont1_a19h = \ (a1_a18K :: t_a19m) (a2_a18L :: t_a19m) -> cont_a19r a1_a18K a2_a18L } in case scrut_a19q of { Foo a1_a18I a2_a18J -> cont_a19r a1_a18I a2_a18J } }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12007#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler