
#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@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