diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2020-09-08 19:25:11 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-09-15 15:19:44 -0400 |
commit | c7182a5c67fe8b5bd256cb8eb805562636853ea2 (patch) | |
tree | 6e9f04053559df514b8deab624bb9491fae27f27 /docs/users_guide/flags.py | |
parent | 8610bcbeb11b898f85f228b755fa8421b5ae3e34 (diff) | |
download | haskell-c7182a5c67fe8b5bd256cb8eb805562636853ea2.tar.gz |
Care with implicit-parameter superclasses
Two bugs, #18627 and #18649, had the same cause: we were not
account for the fact that a constaint tuple might hide an implicit
parameter.
The solution is not hard: look for implicit parameters in
superclasses. See Note [Local implicit parameters] in
GHC.Core.Predicate.
Then we use this new function in two places
* The "short-cut solver" in GHC.Tc.Solver.Interact.shortCutSolver
which simply didn't handle implicit parameters properly at all.
This fixes #18627
* The specialiser, which should not specialise on implicit parameters
This fixes #18649
There are some lingering worries (see Note [Local implicit
parameters]) but things are much better.
Diffstat (limited to 'docs/users_guide/flags.py')
0 files changed, 0 insertions, 0 deletions