#11371: Bogus in-scope set in substitutions -------------------------------------+------------------------------------- Reporter: simonpj | Owner: niteria Type: bug | Status: new Priority: high | Milestone: 8.2.1 Component: Compiler | Version: 7.10.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #11360 | Differential Rev(s): phab:D1792 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Bartosz Nitka <niteria@…>): In [changeset:"9d33adb6f352ad4e488067a8756928b3778920e0/ghc" 9d33adb6/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="9d33adb6f352ad4e488067a8756928b3778920e0" Check InScopeSet in substTy and provide substTyUnchecked This adds sanity checks to `substTy` that implement:
when calling substTy subst ty it should be the case that the in-scope set in the substitution is a superset of * The free vars of the range of the substitution * The free vars of ty minus the domain of the substitution
and replaces violators with unchecked version. The violators were found by running the GHC test suite. This ensures that I can work on this incrementally and that what I fix won't be undone by some other change. It also includes a couple of fixes that I've already done. Test Plan: ./validate Reviewers: simonmar, goldfire, simonpj, austin, bgamari Reviewed By: simonpj, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1792 GHC Trac Issues: #11371 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11371#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler