diff options
Diffstat (limited to 'testsuite/tests/polykinds/T5717.hs')
-rw-r--r-- | testsuite/tests/polykinds/T5717.hs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/testsuite/tests/polykinds/T5717.hs b/testsuite/tests/polykinds/T5717.hs new file mode 100644 index 0000000000..5dd7ac4b58 --- /dev/null +++ b/testsuite/tests/polykinds/T5717.hs @@ -0,0 +1,20 @@ +{-# LANGUAGE ScopedTypeVariables #-} +{-# LANGUAGE PolyKinds #-} + +module T5717 where + + +data TypeRep = TypeRep + +data Proxy t = Proxy + +typeRep :: Proxy a -> TypeRep +typeRep Proxy = TypeRep + +-- This one works fine: +typeOf :: forall a. a -> TypeRep +typeOf _ = typeRep (Proxy :: Proxy a) + +-- But this one panics! +typeOf1 :: forall t a. t a -> TypeRep +typeOf1 _ = typeRep (Proxy :: Proxy t) |