summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorSebastian Graf <sebastian.graf@kit.edu>2021-03-05 12:48:57 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-03-14 12:55:45 -0400
commit1793ca9d43bd5e78eb9e7d6e4212bf6196812786 (patch)
tree1efe9b16ffcdb9f725585c6086c0aeb86e5f2eae /rts
parentcd793767a1f388d10cda69f244479b63536f0a3d (diff)
downloadhaskell-1793ca9d43bd5e78eb9e7d6e4212bf6196812786.tar.gz
Pmc: Consider Required Constraints when guessing PatSyn arg types (#19475)
This patch makes `guessConLikeUnivTyArgsFromResTy` consider required Thetas of PatSynCons, by treating them as Wanted constraints to be discharged with the constraints from the Nabla's TyState and saying "does not match the match type" if the Wanted constraints are unsoluble. It calls out into a new function `GHC.Tc.Solver.tcCheckWanteds` to do so. In pushing the failure logic around call sites of `initTcDsForSolver` inside it by panicking, I realised that there was a bunch of dead code surrounding `pmTopMoraliseType`: I was successfully able to delete the `NoChange` data constructor of `TopNormaliseTypeResult`. The details are in `Note [Matching against a ConLike result type]` and `Note [Instantiating a ConLike]. The regression test is in `T19475`. It's pretty much a fork of `T14422` at the moment. Co-authored-by: Cale Gibbard <cgibbard@gmail.com>
Diffstat (limited to 'rts')
0 files changed, 0 insertions, 0 deletions