Skip to content

Commit

Permalink
Test Trac #5300
Browse files Browse the repository at this point in the history
  • Loading branch information
Simon Peyton Jones authored and igfoo committed Jul 19, 2011
1 parent 7fe9b9f commit 8ec2bfe
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
15 changes: 15 additions & 0 deletions tests/ghc-regress/typecheck/should_fail/T5300.hs
@@ -0,0 +1,15 @@
{-# LANGUAGE FunctionalDependencies, MultiParamTypeClasses #-}
module T5300 where

import Control.Monad.State (StateT)

class C1 a b c | a -> b
class C2 a b c

data T b = T

f1 :: (Monad m, C1 a b c) => a -> StateT (T b) m a
f1 f = undefined

f2 :: (Monad m, C1 a1 b1 c1, C2 a2 b2 c2) => a1 -> StateT (T b2) m a2
f2 fm = f1 fm >>= return . undefined
8 changes: 8 additions & 0 deletions tests/ghc-regress/typecheck/should_fail/T5300.stderr
@@ -0,0 +1,8 @@

T5300.hs:15:9:
Ambiguous type variable `c0' in the constraint:
(C1 a1 b2 c0) arising from a use of `f1'
Probable fix: add a type signature that fixes these type variable(s)
In the first argument of `(>>=)', namely `f1 fm'
In the expression: f1 fm >>= return . undefined
In an equation for `f2': f2 fm = f1 fm >>= return . undefined
1 change: 1 addition & 0 deletions tests/ghc-regress/typecheck/should_fail/all.T
Expand Up @@ -242,3 +242,4 @@ test('FailDueToGivenOverlapping', normal, compile_fail, [''])
test('LongWayOverlapping', normal, compile_fail, [''])
test('T5236',normal,compile_fail,[''])
test('T5246',normal,compile_fail,[''])
test('T5300',normal,compile_fail,[''])

0 comments on commit 8ec2bfe

Please sign in to comment.