Kill varSetElems in injImproveEqns
authorBartosz Nitka <niteria@gmail.com>
Thu, 28 Apr 2016 12:40:39 +0000 (05:40 -0700)
committerBartosz Nitka <niteria@gmail.com>
Mon, 25 Jul 2016 14:34:08 +0000 (07:34 -0700)
commit8a6f976e93ec10774de03c4778c06dc7a86c29e7
treecb6b5c9754977c7d840ca520f986318cdbec2d3e
parentcc36fe3c80abb99b6b9ed367f5f29cc5d2f9bb85
Kill varSetElems in injImproveEqns

We want to remove varSetElems at the source level because it
might be a source of nondeterminism. I don't think it introduces
nondeterminism here, but it's easy to do the same thing
deterministically for the same price.

instFlexiTcS :: [TKVar] -> TcS (TCvSubst, [TcType])
instFlexiTcS currently gives the range of the produced substitution
as the second element of the tuple, but it's not used anywhere
right now. If it started to be used in the code I'm modifying
it would cause nondeterminism problems.

Test Plan: ./validate

Reviewers: austin, goldfire, bgamari, simonmar, simonpj

Reviewed By: simonpj

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2149

GHC Trac Issues: #4012

(cherry picked from commit 82538f65f48f370764691264c3c71b975fd43e16)
compiler/typecheck/TcInteract.hs