Read COMPLETE sets from external packages
authorRyan Scott <ryan.gl.scott@gmail.com>
Fri, 3 Mar 2017 01:16:28 +0000 (20:16 -0500)
committerBen Gamari <ben@smart-cactus.org>
Fri, 3 Mar 2017 01:16:29 +0000 (20:16 -0500)
commit0d2f733050ff656b827351108d988e09abc363fc
tree0ee6ec20903f22cbf8ace58841c0501376c3385c
parent615ded12f47d3685606bcfabb4f1980e748be1d9
Read COMPLETE sets from external packages

Currently, `COMPLETE` pragmas are not read from external packages at
all, which quite limits their usefulness. This extends
`ExternalPackageState` to include `COMPLETE` sets from other packages,
and plumbs around the appropriate values to make it work the way you'd
expect it to.

Fixes #13350.

Test Plan: make test TEST=T13350

Reviewers: rwbarton, mpickering, austin, simonpj, bgamari

Reviewed By: simonpj

Subscribers: simonpj, thomie

Differential Revision: https://phabricator.haskell.org/D3257
16 files changed:
compiler/deSugar/Check.hs
compiler/deSugar/DsMonad.hs
compiler/iface/LoadIface.hs
compiler/iface/MkIface.hs
compiler/iface/TcIface.hs
compiler/iface/TcIface.hs-boot
compiler/main/HscTypes.hs
compiler/typecheck/TcBinds.hs
compiler/typecheck/TcRnTypes.hs
compiler/utils/Binary.hs
testsuite/tests/patsyn/should_compile/T13350/Makefile [new file with mode: 0644]
testsuite/tests/patsyn/should_compile/T13350/T13350.hs [new file with mode: 0644]
testsuite/tests/patsyn/should_compile/T13350/all.T [new file with mode: 0644]
testsuite/tests/patsyn/should_compile/T13350/boolean/Boolean.hs [new file with mode: 0644]
testsuite/tests/patsyn/should_compile/T13350/boolean/Setup.hs [new file with mode: 0644]
testsuite/tests/patsyn/should_compile/T13350/boolean/boolean.cabal [new file with mode: 0644]