~# is always in scope with TypeOperators
When TypeOperators is turned on, ~# comes into scope automatically. As far as I know, this extremely magical operator really isn't supposed to be in Haskell at all, but if it is, it should surely be hidden in GHC.Magic or GHC.Prim or some such.
{{{#!hs
{-# LANGUAGE GADTs, TypeOperators #-}
foo :: a ~# Int -> ()
foo = () -- No arguments, because of a magical Type/Constraint swap or something.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.5 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |