Fold base.git into ghc.git (re #8545)
[ghc.git] / testsuite / tests / typecheck / should_fail / T5300.hs
1 {-# LANGUAGE FunctionalDependencies, MultiParamTypeClasses #-}
2 module T5300 where
3
4 import Control.Monad.Trans.State (StateT)
5
6 class C1 a b c | a -> b
7 class C2 a b c
8
9 data T b = T
10
11 f1 :: (Monad m, C1 a b c) => a -> StateT (T b) m a
12 f1 f = undefined
13
14 f2 :: (Monad m, C1 a1 b1 c1, C2 a2 b2 c2) => a1 -> StateT (T b2) m a2
15 f2 fm = f1 fm >>= return . undefined