Test Trac #4952
authorsimonpj <simonpj@microsoft.com>
Thu, 17 Feb 2011 17:43:36 +0000 (17:43 +0000)
committersimonpj <simonpj@microsoft.com>
Thu, 17 Feb 2011 17:43:36 +0000 (17:43 +0000)
testsuite/tests/ghc-regress/typecheck/should_compile/T4952.hs [new file with mode: 0644]
testsuite/tests/ghc-regress/typecheck/should_compile/all.T

diff --git a/testsuite/tests/ghc-regress/typecheck/should_compile/T4952.hs b/testsuite/tests/ghc-regress/typecheck/should_compile/T4952.hs
new file mode 100644 (file)
index 0000000..b0d2fba
--- /dev/null
@@ -0,0 +1,27 @@
+{-# LANGUAGE UndecidableInstances,
+             MultiParamTypeClasses,
+             KindSignatures,
+             FlexibleInstances,
+             FunctionalDependencies #-}
+
+module Storage.Hashed.Monad () where
+
+class Monad m => TreeRO m where
+    withDirectory :: (MonadError e m) => Int -> m a -> m a
+    expandTo :: (MonadError e m) => Int -> m Int
+
+instance (Monad m, MonadError e m) => TreeRO (M m) where
+    expandTo = undefined
+    withDirectory dir _ = do
+      _ <- expandTo dir
+      undefined
+
+data M (m :: * -> *) a
+
+instance Monad m => Monad (M m) where
+    (>>=) = undefined
+    return = undefined
+
+instance MonadError e m => MonadError e (M m)
+
+class Monad m => MonadError e m | m -> e
index 86e8545..3531008 100644 (file)
@@ -339,3 +339,5 @@ test('T4917', normal, compile, [''])
 
 test('T4912', extra_clean(['T4912a.hi', 'T4912a.o']), 
      multimod_compile, ['T4912', '-v0'])
+
+test('T4952', normal, compile, [''])