Incorporate changes from #11721 into Template Haskell
authorRyan Scott <ryan.gl.scott@gmail.com>
Sat, 7 Oct 2017 20:58:56 +0000 (16:58 -0400)
committerRyan Scott <ryan.gl.scott@gmail.com>
Sat, 7 Oct 2017 20:58:56 +0000 (16:58 -0400)
commit341d3a7896385f14580d048ea7681232e5b242ce
tree207589cc359112e0f6e198312920aa42bb4460d2
parentf6bca0c5e3c53fa6f06949d4f997d0f1761ae06b
Incorporate changes from #11721 into Template Haskell

Summary:
#11721 changed the order of type variables in GADT
constructor type signatures, but these changes weren't reflected in
Template Haskell reification of GADTs. Let's do that.

Along the way, I:

* noticed that the `T13885` test was claiming to test TH reification
  of GADTs, but the reified data type wasn't actually a GADT! Since
  this patch touches that part of the codebase, I decided to fix
  this.
* incorporated some feedback from @simonpj in
  https://phabricator.haskell.org/D3687#113566. (These changes alone
  don't account for any different in behavior.)

Test Plan: make test TEST=T11721_TH

Reviewers: goldfire, austin, bgamari, simonpj

Reviewed By: goldfire, bgamari, simonpj

Subscribers: rwbarton, thomie, simonpj

GHC Trac Issues: #11721

Differential Revision: https://phabricator.haskell.org/D4070
compiler/basicTypes/DataCon.hs
compiler/basicTypes/DataCon.hs-boot
compiler/typecheck/TcSplice.hs
docs/users_guide/8.4.1-notes.rst
testsuite/tests/th/T11721_TH.hs [new file with mode: 0644]
testsuite/tests/th/T13885.hs
testsuite/tests/th/all.T