
#8570: In a pattern binding:ghc: panic! (the 'impossible' happened): Bogus selector Id ---------------------------------------+---------------------------------- Reporter: rzetterberg | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 (amd64) Type of failure: Compile-time crash | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ---------------------------------------+---------------------------------- Comment (by parcs): This code reproduces the error: {{{ #!haskell module A where import B (Image(filepath), logo) import C (Field(Image)) foo = let Image {filepath = ()} = logo in () }}} {{{ module B where data Image = Image { filepath :: () } logo = Image () }}} {{{ module C where data Field = Image }}} {{{ $ ghc-stage2 A [1 of 3] Compiling C ( C.hs, C.o ) [2 of 3] Compiling B ( B.hs, B.o ) [3 of 3] Compiling A ( A.hs, A.o ) A.hs:6:18: Constructor ‛Image’ does not have field ‛filepath’ In the pattern: Image {filepath = ()} In a pattern binding: Image {filepath = ()} = logo In the expression: let Image {filepath = ()} = logo in () A.hs:6:35: Couldn't match expected type ‛Field’ with actual type ‛Image’ In the expression: logo In a pattern binding:ghc-stage2: panic! (the 'impossible' happened) (GHC version 7.7.20131127 for x86_64-unknown-linux): Bogus selector Id Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} One-shot mode behaves similarly. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8570#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler