Unboxed tuples as values
|Reported by:||simonpj||Owned by:||nobody|
|Component:||Compiler (Type checker)||Version:||None|
|Type of failure:||Test Case:|
|Related Tickets:||Differential Revisions:|
Consider type T a = Int -> (# Int, Int #) f :: T a -> T a f t = \x -> case t x of r -> r gives the following error message: ghc-5.04.1: panic! (the `impossible' happened, GHC version 5.04.1): codeGen/CgRetConv.lhs:83: Non-exhaustive patterns in function dataReturnConvPrim Trouble is that 'r' is bound to an unboxed tuple. This should fail, but in 5.04.1 it crashes the compiler. In 6.0 it's worse: the code will core dump because it enters R1. But it should be rejected in the type checker.
Note: See TracTickets for help on using tickets.