diff options
author | Bartosz Nitka <niteria@gmail.com> | 2016-04-26 05:58:24 -0700 |
---|---|---|
committer | Bartosz Nitka <niteria@gmail.com> | 2016-04-26 06:40:04 -0700 |
commit | c9bcaf3165586ac214fa694e61c55eb45eb131ab (patch) | |
tree | d01bdfd94886ff368517a6057e2dcf77ce8614cc /testsuite/tests/typecheck/should_fail/T9109.stderr | |
parent | fd5212fdc26686a85085333af57903a59be809c6 (diff) | |
download | haskell-c9bcaf3165586ac214fa694e61c55eb45eb131ab.tar.gz |
Kill varSetElemsWellScoped in quantifyTyVars
varSetElemsWellScoped introduces unnecessary non-determinism in
inferred type signatures.
Removing this instance required changing the representation of
TcDepVars to use deterministic sets.
This is the last occurence of varSetElemsWellScoped, allowing me to
finally remove it.
Test Plan:
./validate
I will update the expected outputs when commiting, some reordering
of type variables in types is expected.
Reviewers: goldfire, simonpj, austin, bgamari
Reviewed By: simonpj
Subscribers: thomie, simonmar
Differential Revision: https://phabricator.haskell.org/D2135
GHC Trac Issues: #4012
Diffstat (limited to 'testsuite/tests/typecheck/should_fail/T9109.stderr')
-rw-r--r-- | testsuite/tests/typecheck/should_fail/T9109.stderr | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/testsuite/tests/typecheck/should_fail/T9109.stderr b/testsuite/tests/typecheck/should_fail/T9109.stderr index 6a08318ac0..71d88efdc8 100644 --- a/testsuite/tests/typecheck/should_fail/T9109.stderr +++ b/testsuite/tests/typecheck/should_fail/T9109.stderr @@ -1,15 +1,15 @@ T9109.hs:8:13: error: - • Couldn't match expected type ‘t1’ with actual type ‘Bool’ - ‘t1’ is untouchable - inside the constraints: t ~ Bool + • Couldn't match expected type ‘t’ with actual type ‘Bool’ + ‘t’ is untouchable + inside the constraints: t1 ~ Bool bound by a pattern with constructor: GBool :: G Bool, in an equation for ‘foo’ at T9109.hs:8:5-9 - ‘t1’ is a rigid type variable bound by - the inferred type of foo :: G t -> t1 at T9109.hs:8:1 + ‘t’ is a rigid type variable bound by + the inferred type of foo :: G t1 -> t at T9109.hs:8:1 Possible fix: add a type signature for ‘foo’ • In the expression: True In an equation for ‘foo’: foo GBool = True • Relevant bindings include - foo :: G t -> t1 (bound at T9109.hs:8:1) + foo :: G t1 -> t (bound at T9109.hs:8:1) |