[GHC] #8383: "tagToEnum# (0# ==# 1#) :: Bool" causes CASEFAIL in ghci

GHC ghc-devs at haskell.org
Sun Sep 29 16:23:23 CEST 2013


#8383: "tagToEnum# (0# ==# 1#) :: Bool" causes CASEFAIL in ghci
----------------------------------+---------------------------------
       Reporter:  rwbarton        |             Owner:
           Type:  bug             |            Status:  new
       Priority:  normal          |         Milestone:
      Component:  GHCi            |           Version:  7.7
       Keywords:                  |  Operating System:  Linux
   Architecture:  x86_64 (amd64)  |   Type of failure:  None/Unknown
     Difficulty:  Unknown         |         Test Case:
     Blocked By:                  |          Blocking:
Related Tickets:                  |
----------------------------------+---------------------------------
 {{{
 rwbarton at adjunction:~/dist/ghc/libraries/base/tests$ echo main |
 ~/dist/ghc/inplace/bin/ghc-stage2 -fforce-recomp -dcore-lint -dcmm-lint
 -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history
 --interactive -v0 -ignore-dot-ghci tup001d.hs
 <interactive>: internal error: interpretBCO: hit a CASEFAIL
     (GHC version 7.7.20130928 for x86_64_unknown_linux)
     Please report this as a GHC bug:
 http://www.haskell.org/ghc/reportabug
 Aborted
 }}}

 This causes libraries/base test `tup001` to fail in the same way with
 WAY=ghci, because the derived instance of Eq for enumeration-like types of
 more than 10 constructors does something like `x == y = tagToEnum# (getTag
 x ==# getTag y)`.

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



More information about the ghc-tickets mailing list