summaryrefslogtreecommitdiff
path: root/testsuite/tests/lib/should_run/dynamic002.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/lib/should_run/dynamic002.hs')
-rw-r--r--testsuite/tests/lib/should_run/dynamic002.hs91
1 files changed, 91 insertions, 0 deletions
diff --git a/testsuite/tests/lib/should_run/dynamic002.hs b/testsuite/tests/lib/should_run/dynamic002.hs
new file mode 100644
index 0000000000..6d53d2ed1e
--- /dev/null
+++ b/testsuite/tests/lib/should_run/dynamic002.hs
@@ -0,0 +1,91 @@
+-- !!! Testing Typeable instances
+module Main(main) where
+
+import Data.Dynamic
+import Data.Array
+import Data.Array.MArray
+import Data.Array.ST
+import Data.Array.IO
+import Data.Array.Unboxed
+import Data.Complex
+import Data.Int
+import Data.Word
+import Data.IORef
+import System.IO
+import Control.Monad.ST
+import System.Mem.StableName
+import System.Mem.Weak
+import Foreign.StablePtr
+import Control.Exception
+import Foreign.C.Types
+
+main :: IO ()
+main = do
+ print (typeOf (undefined :: [()]))
+ print (typeOf (undefined :: ()))
+ print (typeOf (undefined :: ((),())))
+ print (typeOf (undefined :: ((),(),())))
+ print (typeOf (undefined :: ((),(),(),())))
+ print (typeOf (undefined :: ((),(),(),(),())))
+ print (typeOf (undefined :: (() -> ())))
+ print (typeOf (undefined :: (Array () ())))
+ print (typeOf (undefined :: Bool))
+ print (typeOf (undefined :: Char))
+ print (typeOf (undefined :: (Complex ())))
+ print (typeOf (undefined :: Double))
+ print (typeOf (undefined :: (Either () ())))
+ print (typeOf (undefined :: Float))
+ print (typeOf (undefined :: Handle))
+ print (typeOf (undefined :: Int))
+ print (typeOf (undefined :: Integer))
+ print (typeOf (undefined :: IO ()))
+ print (typeOf (undefined :: (Maybe ())))
+ print (typeOf (undefined :: Ordering))
+
+ print (typeOf (undefined :: Dynamic))
+ print (typeOf (undefined :: (IORef ())))
+ print (typeOf (undefined :: Int8))
+ print (typeOf (undefined :: Int16))
+ print (typeOf (undefined :: Int32))
+ print (typeOf (undefined :: Int64))
+ print (typeOf (undefined :: (ST () ())))
+ print (typeOf (undefined :: (StableName ())))
+ print (typeOf (undefined :: (StablePtr ())))
+ print (typeOf (undefined :: TyCon))
+ print (typeOf (undefined :: TypeRep))
+ print (typeOf (undefined :: Word8))
+ print (typeOf (undefined :: Word16))
+ print (typeOf (undefined :: Word32))
+ print (typeOf (undefined :: Word64))
+
+ print (typeOf (undefined :: ArithException))
+ print (typeOf (undefined :: AsyncException))
+ print (typeOf (undefined :: (IOArray () ())))
+ print (typeOf (undefined :: (IOUArray () ())))
+ print (typeOf (undefined :: (STArray () () ())))
+ print (typeOf (undefined :: (STUArray () () ())))
+ print (typeOf (undefined :: (StableName ())))
+ print (typeOf (undefined :: (StablePtr ())))
+ print (typeOf (undefined :: (UArray () ())))
+ print (typeOf (undefined :: (Weak ())))
+
+ print (typeOf (undefined :: CChar))
+ print (typeOf (undefined :: CSChar))
+ print (typeOf (undefined :: CUChar))
+ print (typeOf (undefined :: CShort))
+ print (typeOf (undefined :: CUShort))
+ print (typeOf (undefined :: CInt))
+ print (typeOf (undefined :: CUInt))
+ print (typeOf (undefined :: CLong))
+ print (typeOf (undefined :: CULong))
+ print (typeOf (undefined :: CLLong))
+ print (typeOf (undefined :: CULLong))
+ print (typeOf (undefined :: CFloat))
+ print (typeOf (undefined :: CDouble))
+
+ print (typeOf (undefined :: CPtrdiff))
+ print (typeOf (undefined :: CSize))
+ print (typeOf (undefined :: CWchar))
+ print (typeOf (undefined :: CSigAtomic))
+ print (typeOf (undefined :: CClock))
+ print (typeOf (undefined :: CTime))