diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2014-08-01 21:26:51 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2014-08-01 21:27:18 +0100 |
commit | 02975c90c0a587122797930e824a4d45ada26b6a (patch) | |
tree | cc46566d0a6a4d49b8783729079634cb874a613e /testsuite/tests/simplCore | |
parent | 033658892bb2e7c172ca75b94b54258b93f715e4 (diff) | |
download | haskell-02975c90c0a587122797930e824a4d45ada26b6a.tar.gz |
Fix-up to d4d4bef2 'Improve the desugaring of RULES'
I'd forgotten the possiblity that desugaring could generate
dead dictionary bindings; easily fixed by calling occurAnalyseExpr
Diffstat (limited to 'testsuite/tests/simplCore')
-rw-r--r-- | testsuite/tests/simplCore/should_compile/T4398.stderr | 25 | ||||
-rw-r--r-- | testsuite/tests/simplCore/should_compile/all.T | 2 | ||||
-rw-r--r-- | testsuite/tests/simplCore/should_compile/simpl016.stderr | 14 |
3 files changed, 33 insertions, 8 deletions
diff --git a/testsuite/tests/simplCore/should_compile/T4398.stderr b/testsuite/tests/simplCore/should_compile/T4398.stderr index 63d1ab3042..2f1f567d49 100644 --- a/testsuite/tests/simplCore/should_compile/T4398.stderr +++ b/testsuite/tests/simplCore/should_compile/T4398.stderr @@ -1,3 +1,22 @@ - -T4398.hs:5:11: Warning: - Forall'd constraint ‘Ord a’ is not bound in RULE lhs f @ a x y +
+T4398.hs:5:11: Warning:
+ Forall'd constraint ‘Ord a’ is not bound in RULE lhs
+ Orig bndrs: [a, $dOrd, x, y]
+ Orig lhs: let {
+ $dEq :: Eq a
+ [LclId, Str=DmdType]
+ $dEq = GHC.Classes.$p1Ord @ a $dOrd } in
+ f @ a
+ ((\ ($dOrd :: Ord a) ->
+ let {
+ $dEq :: Eq a
+ [LclId, Str=DmdType]
+ $dEq = GHC.Classes.$p1Ord @ a $dOrd } in
+ let {
+ $dEq :: Eq a
+ [LclId, Str=DmdType]
+ $dEq = GHC.Classes.$p1Ord @ a $dOrd } in
+ x)
+ $dOrd)
+ y
+ optimised lhs: f @ a x y
diff --git a/testsuite/tests/simplCore/should_compile/all.T b/testsuite/tests/simplCore/should_compile/all.T index c6453d85de..f9a5846eac 100644 --- a/testsuite/tests/simplCore/should_compile/all.T +++ b/testsuite/tests/simplCore/should_compile/all.T @@ -95,7 +95,7 @@ test('EvalTest', test('T3831', normal, compile, ['']) test('T4345', normal, compile, ['']) -test('T4398', normal, compile, ['']) +test('T4398', normal, compile, ['-dsuppress-uniques']) test('T4903', extra_clean(['T4903a.hi', 'T4903a.o']), diff --git a/testsuite/tests/simplCore/should_compile/simpl016.stderr b/testsuite/tests/simplCore/should_compile/simpl016.stderr index 2ac4e4f95b..e08b16db8d 100644 --- a/testsuite/tests/simplCore/should_compile/simpl016.stderr +++ b/testsuite/tests/simplCore/should_compile/simpl016.stderr @@ -1,4 +1,10 @@ - -simpl016.hs:5:1: Warning: - Forall'd constraint ‘Num b’ is not bound in RULE lhs - delta' @ Int @ b $dEq +
+simpl016.hs:5:1: Warning:
+ Forall'd constraint ‘Num b’ is not bound in RULE lhs
+ Orig bndrs: [b, $dNum]
+ Orig lhs: let {
+ $dEq :: Eq Int
+ [LclId, Str=DmdType]
+ $dEq = GHC.Classes.$fEqInt } in
+ delta' @ Int @ b $dEq
+ optimised lhs: delta' @ Int @ b $dEq
|