[GHC] #14740: Unboxed tuple allowed in context: ((##)) => ()
GHC
ghc-devs at haskell.org
Wed Jan 31 09:54:15 UTC 2018
#14740: Unboxed tuple allowed in context: ((##)) => ()
-------------------------------------+-------------------------------------
Reporter: Iceland_jack | Owner: sighingnow
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.5
(Parser) |
Resolution: | Keywords: UnboxedTuples
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case: T14740
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D4359
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by sighingnow):
* testcase: => T14740
* differential: => Phab:D4359
Comment:
In Phab:D4359, `let x :: ((##)) => (); x = ()` will raise an error:
{{{
T14740.hs:5:7:
Expecting a lifted type, but ‘(# #)’ is unlifted
In the type signature: x :: ((# #)) => ()
}}}
But I'm not sure when `-XConstraintKinds` is enabled, whether the
declaration `let x :: (()) => (); x = ()` is valid. The documentation of
`-XConstraintKinds` says that constraints could be:
> Tuples, all of whose component types have kind Constraint.
To my limited knowledge, in Haskell2010 empty tuples can't be used as
context constraints.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14740#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list