
#5821: SPECIALISE fails with a cryptic warning -------------------------------------+------------------------------------- Reporter: rl | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.10.1 Component: Compiler | Version: 7.5 Resolution: | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: Incorrect | Blocked By: warning at compile-time | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by thomie): In HEAD, the error message for the program from the description has changed to: {{{ $ ghc-7.9.20141125 T5821.hs [1 of 1] Compiling T5821 ( T5821.hs, T5821.o ) T5821.hs:10:1: Warning: RULE left-hand side too complicated to desugar Optimised lhs: case cobox_ang of _ [Occ=Dead] { GHC.Types.Eq# cobox -> (foo @ Int $dNum_anf) `cast` (<Int>_R -> Sub cobox :: (Int -> T Int) ~R# (Int -> Bool)) } Orig lhs: case cobox_ang of cobox_ang { GHC.Types.Eq# cobox -> (foo @ Int $dNum_anf) `cast` (<Int>_R -> Sub cobox :: (Int -> T Int) ~R# (Int -> Bool)) } }}} Due to commit b34068144ec3d7bfe4279b16ad16d54dd46f1c5a: {{{ Author: Simon Peyton Jones <> Date: Thu Mar 13 08:36:28 2014 +0000 A bit more tracing to do with SPECIALISE pragmas }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/5821#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler