diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2017-05-25 09:59:29 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2017-05-25 10:09:41 +0100 |
commit | c9977385dca9536f18374242f713b1048a38dec5 (patch) | |
tree | aaa94d742ea58060bf0b4f9fde713a896abaf735 /rules | |
parent | 10131947b212770c837035f042a11c024cf0ec67 (diff) | |
download | haskell-c9977385dca9536f18374242f713b1048a38dec5.tar.gz |
Pattern synonyms and higher rank types
This patch fixes two separate bugs which contributed to making
Trac #13752 go wrong
1. We need to use tcSubType, not tcUnify,
in tcCheckPatSynDecl.tc_arg.
Reason: Note [Pattern synonyms and higher rank types]
2. TcUnify.tc_sub_type had a special case designed to improve error
messages; see Note [Don't skolemise unnecessarily]. But the
special case was too liberal, and ended up using unification
(which led to rejecting the program) when it should instead taken
the normal path (which accepts the program).
I fixed this by making the test more conservative.
Diffstat (limited to 'rules')
0 files changed, 0 insertions, 0 deletions