diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2017-04-12 15:09:37 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2017-04-13 09:23:53 +0100 |
commit | 0ae72512255ba66ef89bdfeea65a23ea6eb35124 (patch) | |
tree | a21ffcb040c1f53cfb8a1f548a8c284208dd623d /testsuite/tests/partial-sigs/should_compile/T13482.stderr | |
parent | 037c2495d83bb7da7f15c8e076df2c575500d0fd (diff) | |
download | haskell-0ae72512255ba66ef89bdfeea65a23ea6eb35124.tar.gz |
Yet more work on TcSimplify.simplifyInfer
The proximate cause for this patch is Trac #13482, which pointed out
further subtle interactions between
- Inferring the most general type of a function
- A partial type signature for that function
That led me into /further/ changes to the shiny new stuff in
TcSimplify.simplifyInfer, decideQuantification, decideMonoTyVars,
and related functions.
Happily, I was able to make some of it quite a bit simpler,
notably the bit about promoting free tyvars. I'm happy with
the result.
Moreover I fixed Trac #13524 at the same time. Happy days.
Diffstat (limited to 'testsuite/tests/partial-sigs/should_compile/T13482.stderr')
-rw-r--r-- | testsuite/tests/partial-sigs/should_compile/T13482.stderr | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/testsuite/tests/partial-sigs/should_compile/T13482.stderr b/testsuite/tests/partial-sigs/should_compile/T13482.stderr new file mode 100644 index 0000000000..87eef5caa7 --- /dev/null +++ b/testsuite/tests/partial-sigs/should_compile/T13482.stderr @@ -0,0 +1,31 @@ + +T13482.hs:8:32: warning: [-Wpartial-type-signatures (in -Wdefault)] + • Found type wildcard ‘_’ standing for ‘(Monoid m, Eq m)’ + Where: ‘m’ is a rigid type variable bound by + the inferred type of + minimal1_noksig :: (Monoid m, Eq m) => Int -> Bool + at T13482.hs:9:1-50 + • In the type signature: + minimal1_noksig :: forall m. _ => Int -> Bool + +T13482.hs:11:30: warning: [-Wpartial-type-signatures (in -Wdefault)] + • Found type wildcard ‘_’ standing for ‘(Monoid m, Eq m)’ + Where: ‘m’ is a rigid type variable bound by + the inferred type of minimal1 :: (Monoid m, Eq m) => Bool + at T13482.hs:12:1-41 + • In the type signature: minimal1 :: forall (m :: *). _ => Bool + +T13482.hs:14:30: warning: [-Wpartial-type-signatures (in -Wdefault)] + • Found type wildcard ‘_’ standing for ‘Monoid m’ + Where: ‘m’ is a rigid type variable bound by + the inferred type of minimal2 :: (Eq m, Monoid m) => Bool + at T13482.hs:15:1-41 + • In the type signature: minimal2 :: forall m. (Eq m, _) => Bool + +T13482.hs:17:34: warning: [-Wpartial-type-signatures (in -Wdefault)] + • Found type wildcard ‘_’ standing for ‘Eq m’ + Where: ‘m’ is a rigid type variable bound by + the inferred type of minimal3 :: (Monoid m, Eq m) => Bool + at T13482.hs:18:1-41 + • In the type signature: + minimal3 :: forall m. (Monoid m, _) => Bool |