diff options
Diffstat (limited to 'testsuite/tests/ghc-regress/typecheck/should_compile/tc167.hs')
-rw-r--r-- | testsuite/tests/ghc-regress/typecheck/should_compile/tc167.hs | 23 |
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. |