
#15367: Misleading error message when unboxed tuples used in sums without -XUnboxedTuples -------------------------------------+------------------------------------- Reporter: osa1 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.4.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Description changed by osa1: Old description:
{{{ $ cat lib.hs {-# LANGUAGE UnboxedSums #-}
module Lib where
type Foo = (# (# Int, Int #) | Int #)
$ ghc lib.hs [1 of 1] Compiling Lib ( lib.hs, lib.o )
lib.hs:5:1: error: • Illegal unboxed tuple type as function argument: (# Int, Int #) • In the type synonym declaration for ‘Foo’ | 5 | type Foo = (# (# Int, Int #) | Int #) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }}}
But there's nothing illegal about this type, we just need to enable `UnboxedTuples`. The error message is misleading.
New description: {{{ $ cat lib.hs {-# LANGUAGE UnboxedSums #-} module Lib where type Foo = (# (# Int, Int #) | Int #) $ ghc lib.hs [1 of 1] Compiling Lib ( lib.hs, lib.o ) lib.hs:5:1: error: • Illegal unboxed tuple type as function argument: (# Int, Int #) • In the type synonym declaration for ‘Foo’ | 5 | type Foo = (# (# Int, Int #) | Int #) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }}} But there's nothing illegal about this type, we just need to enable `UnboxedTuples`. The error message is misleading. (We should also check using unboxed sums inside tuples) -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15367#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler