diff options
author | Ian Lynagh <ian@well-typed.com> | 2013-05-17 14:38:05 +0100 |
---|---|---|
committer | Ian Lynagh <ian@well-typed.com> | 2013-05-17 14:38:05 +0100 |
commit | 8c6794ab70ad2b009ea257f26deb81a5d1fa2312 (patch) | |
tree | 999d4daa71cfdaa445670535514b544d230d4f84 | |
parent | 5888f61486048d41e7ca2a324d784c78fc9c19f1 (diff) | |
parent | cb5ed257a85a133fdf75dcd8e12295b3f4fe9513 (diff) | |
download | haskell-8c6794ab70ad2b009ea257f26deb81a5d1fa2312.tar.gz |
Merge branch 'master' of http://darcs.haskell.org/testsuite
-rw-r--r-- | testsuite/tests/perf/compiler/all.T | 12 | ||||
-rw-r--r-- | testsuite/tests/rename/should_fail/T7906.hs | 5 | ||||
-rw-r--r-- | testsuite/tests/rename/should_fail/T7906.stderr | 4 | ||||
-rw-r--r-- | testsuite/tests/rename/should_fail/all.T | 1 | ||||
-rw-r--r-- | testsuite/tests/simplCore/should_compile/T7865.stdout | 2 | ||||
-rw-r--r-- | testsuite/tests/typecheck/should_compile/T7891.hs | 37 | ||||
-rw-r--r-- | testsuite/tests/typecheck/should_compile/T7903.hs | 4 | ||||
-rw-r--r-- | testsuite/tests/typecheck/should_compile/all.T | 2 |
8 files changed, 63 insertions, 4 deletions
diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index 0a579fec70..44f8f5e69a 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -90,12 +90,14 @@ test('T3294', # 14593500 (Windows) # 2013-02-10 20651576 (x86/Windows) # 2013-02-10 20772984 (x86/OSX) - (wordsize(64), 44894544, 15)]), + (wordsize(64), 36904752, 15)]), # prev: 25753192 (amd64/Linux) # 29/08/2012: 37724352 (amd64/Linux) # (increase due to new codegen, see #7198) # 13/13/2012: 44894544 (amd64/Linux) # (reason for increase unknown) + # 15/5/2013: 36904752 (amd64/Linux) + # (reason for decrease unknown) compiler_stats_num_field('bytes allocated', [(wordsize(32), 1373514844, 5), # previous: 815479800 (x86/Linux) @@ -257,10 +259,12 @@ test('T5321Fun', # prev: 300000000 # 2012-10-08: 344416344 x86/Linux # (increase due to new codegen) - (wordsize(64), 713385808, 10)]) + (wordsize(64), 628341952, 10)]) # prev: 585521080 # 29/08/2012: 713385808 # (increase due to new codegen) + # 15/05/2013: 628341952 + # (reason for decrease unknown) ], compile,['']) @@ -271,10 +275,12 @@ test('T5321FD', # prev: 213380256 # 2012-10-08: 240302920 (x86/Linux) # (increase due to new codegen) - (wordsize(64), 492905640, 10)]) + (wordsize(64), 406039584, 10)]) # prev: 418306336 # 29/08/2012: 492905640 # (increase due to new codegen) + # 15/05/2013: 406039584 + # (reason for decrease unknown) ], compile,['']) diff --git a/testsuite/tests/rename/should_fail/T7906.hs b/testsuite/tests/rename/should_fail/T7906.hs new file mode 100644 index 0000000000..eeb0c892ac --- /dev/null +++ b/testsuite/tests/rename/should_fail/T7906.hs @@ -0,0 +1,5 @@ +module T7906 where + +class Foo f where + foo :: f +{-# INLINEABLE foo #-} diff --git a/testsuite/tests/rename/should_fail/T7906.stderr b/testsuite/tests/rename/should_fail/T7906.stderr new file mode 100644 index 0000000000..30ccbed6e9 --- /dev/null +++ b/testsuite/tests/rename/should_fail/T7906.stderr @@ -0,0 +1,4 @@ + +T7906.hs:5:16: + The INLINABLE pragma for ‛foo’ lacks an accompanying binding + (You cannot give a INLINABLE pragma for a record selector or class method) diff --git a/testsuite/tests/rename/should_fail/all.T b/testsuite/tests/rename/should_fail/all.T index c05662bde7..c1fbfac98a 100644 --- a/testsuite/tests/rename/should_fail/all.T +++ b/testsuite/tests/rename/should_fail/all.T @@ -107,3 +107,4 @@ test('T7164', normal, compile_fail, ['']) test('T7338', normal, compile_fail, ['']) test('T7338a', normal, compile_fail, ['']) test('T7454', normal, compile, ['']) +test('T7906', normal, compile_fail, ['']) diff --git a/testsuite/tests/simplCore/should_compile/T7865.stdout b/testsuite/tests/simplCore/should_compile/T7865.stdout index 2fa5b9a0ac..dc3398c2ca 100644 --- a/testsuite/tests/simplCore/should_compile/T7865.stdout +++ b/testsuite/tests/simplCore/should_compile/T7865.stdout @@ -1,4 +1,4 @@ T7865.expensive [InlPrag=NOINLINE] T7865.expensive = - case T7865.expensive sc3 of _ { GHC.Types.I# x -> + case T7865.expensive sc1 of _ { GHC.Types.I# x -> (case T7865.expensive x of _ { GHC.Types.I# x1 -> diff --git a/testsuite/tests/typecheck/should_compile/T7891.hs b/testsuite/tests/typecheck/should_compile/T7891.hs new file mode 100644 index 0000000000..45a6773fa0 --- /dev/null +++ b/testsuite/tests/typecheck/should_compile/T7891.hs @@ -0,0 +1,37 @@ +{-# LANGUAGE RankNTypes #-} +{-# LANGUAGE TypeFamilies #-} + +module T7891 where + +newtype T = T (forall t. t -> t) + +tf :: T +tf = T id + +-- Can't write this type signature: +f :: t -> t +T f = tf + +-- But with an indirection we can: +g :: t -> t +g = f + +-- We can still use f as it were fully polymorphic (which is good): +a :: () +a = f () +b :: Char +b = f 'b' + +------------- + +class C t where + data F t :: * + mkF :: t -> F t + +instance C () where + data F () = FUnit (forall t. t -> t) + mkF () = FUnit id + +-- Can't write a type for f here either: +k :: t -> t +FUnit k = mkF () diff --git a/testsuite/tests/typecheck/should_compile/T7903.hs b/testsuite/tests/typecheck/should_compile/T7903.hs new file mode 100644 index 0000000000..43f97a07f3 --- /dev/null +++ b/testsuite/tests/typecheck/should_compile/T7903.hs @@ -0,0 +1,4 @@ +module T7903 where + +instance Eq (((->) a) b) +instance (Ord b) => Ord (((->) a) b) diff --git a/testsuite/tests/typecheck/should_compile/all.T b/testsuite/tests/typecheck/should_compile/all.T index 68c9b81835..1fc81cb1a4 100644 --- a/testsuite/tests/typecheck/should_compile/all.T +++ b/testsuite/tests/typecheck/should_compile/all.T @@ -402,3 +402,5 @@ test('T7827', normal, compile, ['']) test('T7875', normal, compile, ['']) test('T7268', normal, compile, ['']) test('T7888', normal, compile, ['']) +test('T7891', normal, compile, ['']) +test('T7903', normal, compile, ['']) |