[GHC] #14087: Ambiguous record field name destructure on qualified imported modules causes compiler crash

GHC ghc-devs at haskell.org
Thu Aug 3 21:52:17 UTC 2017


#14087: Ambiguous record field name destructure on qualified imported modules
causes compiler crash
-------------------------------------+-------------------------------------
           Reporter:  philipwhite    |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.2.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  Compile-time
  Unknown/Multiple                   |  crash or panic
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 I have two extremely simple files which will reproduce this crash.

 Main.hs:
 {{{
 module Main where

 import qualified B as B

 x = 0

 main :: IO ()
 main = do let B.T { x = inside } = B.value
           putStrLn (show inside)
 }}}

 B.hs
 {{{
 module B where

 data T = T { x :: Bool }

 value :: T
 value = T { x = True }
 }}}

 I did a qualified import of one module into the main module. I tried to
 destructure a record from this module, but I didn't qualify the record
 fields in the destructuring expression.

 The output of the compiler is below:
 {{{
 Building ghcbug-repro-0.1.0.0...
 Preprocessing executable 'ghcbug-repro' for ghcbug-repro-0.1.0.0...
 [2 of 2] Compiling Main             ( Main.hs, dist/build/ghcbug-repro
 /ghcbug-repro-tmp/Main.o )

 <no location info>: error:
     ghc: panic! (the 'impossible' happened)
   (GHC version 8.0.2 for x86_64-unknown-linux):
         translateConPatVec: lookup

 Please report this as a GHC bug:
 http://www.haskell.org/ghc/reportabug
 }}}

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


More information about the ghc-tickets mailing list