diff options
author | Dimitrios.Vytiniotis <dimitris@microsoft.com> | 2012-06-08 16:13:56 +0100 |
---|---|---|
committer | Dimitrios.Vytiniotis <dimitris@microsoft.com> | 2012-06-08 16:13:56 +0100 |
commit | f3cb7ecb5f4de4141dfae763f15d3a70a2654ab5 (patch) | |
tree | 49fb43c0a5f1385780ef66045adac19ddab1dd0f /testsuite/tests/typecheck/should_compile | |
parent | 2ed41c1c70b6b5a1aae1baca62eec69a1e8609d8 (diff) | |
parent | 751f030645095661bf55a0a838b910653a17e61a (diff) | |
download | haskell-f3cb7ecb5f4de4141dfae763f15d3a70a2654ab5.tar.gz |
Merge branch 'master' of http://darcs.haskell.org/testsuite
Conflicts:
tests/typecheck/should_compile/all.T
Diffstat (limited to 'testsuite/tests/typecheck/should_compile')
-rw-r--r-- | testsuite/tests/typecheck/should_compile/T6134.hs | 8 | ||||
-rw-r--r-- | testsuite/tests/typecheck/should_compile/all.T | 2 | ||||
-rw-r--r-- | testsuite/tests/typecheck/should_compile/tc141.stderr | 86 |
3 files changed, 52 insertions, 44 deletions
diff --git a/testsuite/tests/typecheck/should_compile/T6134.hs b/testsuite/tests/typecheck/should_compile/T6134.hs new file mode 100644 index 0000000000..90f1504a48 --- /dev/null +++ b/testsuite/tests/typecheck/should_compile/T6134.hs @@ -0,0 +1,8 @@ +{-# LANGUAGE MultiParamTypeClasses, FlexibleContexts, FunctionalDependencies #-} + +module T6134 where + +class C a b | a -> b + +f :: C Int b => Int -> Int +f = undefined diff --git a/testsuite/tests/typecheck/should_compile/all.T b/testsuite/tests/typecheck/should_compile/all.T index f4b8d9ed24..9464c27b1a 100644 --- a/testsuite/tests/typecheck/should_compile/all.T +++ b/testsuite/tests/typecheck/should_compile/all.T @@ -379,6 +379,6 @@ test('T5792',normal,run_command, test('PolytypeDecomp', normal, compile, ['']) test('T6011', normal, compile, ['']) test('T6055', normal, compile, ['']) - test('DfltProb1', normal, compile, ['']) test('DfltProb2', normal, compile, ['']) +test('T6134', normal, compile, ['']) diff --git a/testsuite/tests/typecheck/should_compile/tc141.stderr b/testsuite/tests/typecheck/should_compile/tc141.stderr index db8448f464..a22689b10f 100644 --- a/testsuite/tests/typecheck/should_compile/tc141.stderr +++ b/testsuite/tests/typecheck/should_compile/tc141.stderr @@ -1,43 +1,43 @@ -
-tc141.hs:11:12:
- You cannot bind scoped type variable `a'
- in a pattern binding signature
- In the pattern: p :: a
- In the pattern: (p :: a, q :: a)
- In a pattern binding: (p :: a, q :: a) = x
-
-tc141.hs:11:31:
- Couldn't match expected type `a1' with actual type `a'
- `a1' is a rigid type variable bound by
- an expression type signature: a1 at tc141.hs:11:31
- `a' is a rigid type variable bound by
- the inferred type of f :: (a, a) -> (t, a) at tc141.hs:11:1
- In the expression: q :: a
- In the expression: (q :: a, p)
- In the expression: let (p :: a, q :: a) = x in (q :: a, p)
-
-tc141.hs:13:13:
- You cannot bind scoped type variable `a'
- in a pattern binding signature
- In the pattern: y :: a
- In a pattern binding: y :: a = a
- In the expression:
- let y :: a = a in
- let
- v :: a
- v = b
- in v
-
-tc141.hs:15:18:
- Couldn't match expected type `a2' with actual type `t'
- `a2' is a rigid type variable bound by
- the type signature for v :: a2 at tc141.hs:14:19
- `t' is a rigid type variable bound by
- the inferred type of g :: a -> t -> a1 at tc141.hs:13:1
- In the expression: b
- In an equation for `v': v = b
- In the expression:
- let
- v :: a
- v = b
- in v
+ +tc141.hs:11:12: + You cannot bind scoped type variable `a' + in a pattern binding signature + In the pattern: p :: a + In the pattern: (p :: a, q :: a) + In a pattern binding: (p :: a, q :: a) = x + +tc141.hs:11:31: + Couldn't match expected type `a1' with actual type `a' + `a1' is a rigid type variable bound by + an expression type signature: a1 at tc141.hs:11:31 + `a' is a rigid type variable bound by + the inferred type of f :: (a, a) -> (t, a) at tc141.hs:11:1 + In the expression: q :: a + In the expression: (q :: a, p) + In the expression: let (p :: a, q :: a) = x in (q :: a, p) + +tc141.hs:13:13: + You cannot bind scoped type variable `a' + in a pattern binding signature + In the pattern: y :: a + In a pattern binding: y :: a = a + In the expression: + let y :: a = a in + let + v :: a + v = b + in v + +tc141.hs:15:18: + Couldn't match expected type `a2' with actual type `t' + `a2' is a rigid type variable bound by + the type signature for v :: a2 at tc141.hs:14:19 + `t' is a rigid type variable bound by + the inferred type of g :: a -> t -> a1 at tc141.hs:13:1 + In the expression: b + In an equation for `v': v = b + In the expression: + let + v :: a + v = b + in v |