summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghc-regress/typecheck/should_compile/tc167.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/ghc-regress/typecheck/should_compile/tc167.hs')
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_compile/tc167.hs23
1 files changed, 0 insertions, 23 deletions
diff --git a/testsuite/tests/ghc-regress/typecheck/should_compile/tc167.hs b/testsuite/tests/ghc-regress/typecheck/should_compile/tc167.hs
deleted file mode 100644
index 7a9f410d64..0000000000
--- a/testsuite/tests/ghc-regress/typecheck/should_compile/tc167.hs
+++ /dev/null
@@ -1,23 +0,0 @@
-{-# LANGUAGE MagicHash #-}
-
--- Type checking with unboxed kinds fails when (->) is used in a prefix way
-
-module ShouldSucceed where
-import GHC.Base
-
-f :: (->) Int# Int#
-f x = x
-
-
--- Here's the comment from TypeRep:
---
--- funTyCon = mkFunTyCon funTyConName
--- (mkArrowKinds [liftedTypeKind, liftedTypeKind]
--- liftedTypeKind)
--- You might think that (->) should have type (? -> ? -> *), and you'd be right
--- But if we do that we get kind errors when saying
--- instance Control.Arrow (->)
--- becuase the expected kind is (*->*->*). The trouble is that the
--- expected/actual stuff in the unifier does not go contra-variant, whereas
--- the kind sub-typing does. Sigh. It really only matters if you use (->) in
--- a prefix way, thus: (->) Int# Int#. And this is unusual.