[GHC] #14135: PatternSynonyms regression in GHC HEAD (expectJust mkOneConFull)

GHC ghc-devs at haskell.org
Thu Aug 17 23:58:32 UTC 2017


#14135: PatternSynonyms regression in GHC HEAD (expectJust mkOneConFull)
-------------------------------------+-------------------------------------
           Reporter:  RyanGlScott    |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  highest        |         Milestone:  8.4.1
          Component:  Compiler       |           Version:  8.2.1
           Keywords:                 |  Operating System:  Unknown/Multiple
  PatternSynonyms                    |
       Architecture:                 |   Type of failure:  Compile-time
  Unknown/Multiple                   |  crash or panic
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 This code works in GHC 8.2:

 {{{#!hs
 {-# LANGUAGE PatternSynonyms #-}
 module Bug where

 data Foo a = Foo1 a | Foo2 a

 pattern MyFoo2 :: Int -> Foo Int
 pattern MyFoo2 i = Foo2 i

 {-# COMPLETE Foo1, MyFoo2 #-}

 f :: Foo a -> a
 f (Foo1 x) = x
 }}}

 But it throws a compile-time exception on GHC HEAD:

 {{{
 $ ghc3/inplace/bin/ghc-stage2 Bug.hs
 [1 of 1] Compiling Bug              ( Bug.hs, Bug.o )
 ghc-stage2: panic! (the 'impossible' happened)
   (GHC version 8.3.20170815 for x86_64-unknown-linux):
         expectJust mkOneConFull
 CallStack (from HasCallStack):
   error, called at compiler/utils/Maybes.hs:53:27 in ghc:Maybes
   expectJust, called at compiler/deSugar/Check.hs:1128:37 in ghc:Check
 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14135>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list