summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghci/scripts/T7730.stdout
diff options
context:
space:
mode:
authorRyan Scott <ryan.gl.scott@gmail.com>2017-09-02 15:33:25 -0400
committerRyan Scott <ryan.gl.scott@gmail.com>2017-09-02 15:33:26 -0400
commit8e4229ab3dc3e1717ad557ef00f3518da6b5c523 (patch)
tree64a50dd06118a0d3709d37b258faa11eb4d1a218 /testsuite/tests/ghci/scripts/T7730.stdout
parent5dd6b13c6e2942976aa3b5f4906ff7d0f959272d (diff)
downloadhaskell-8e4229ab3dc3e1717ad557ef00f3518da6b5c523.tar.gz
Fix #14167 by using isGadtSyntaxTyCon in more places
Summary: Two places in GHC effectively attempt to //guess// whether a data type was declared using GADT syntax: 1. When reifying a data type in Template Haskell 2. When pretty-printing a data type (e.g., via `:info` in GHCi) But there's no need for heuristics here, since we have a 100% accurate way to determine whether a data type was declared using GADT syntax: the `isGadtSyntaxTyCon` function! By simply using that as the metric, we obtain far more accurate TH reification and pretty-printing results. This is technically a breaking change, since Template Haskell reification will now reify some data type constructors as `(Rec)GadtC` that it didn't before, and some data type constructors that were previously reified as `(Rec)GadtC` will no longer be reified as such. But it's a very understandable breaking change, since the previous behavior was simply incorrect. Test Plan: ./validate Reviewers: simonpj, goldfire, austin, bgamari Reviewed By: simonpj Subscribers: rwbarton, thomie GHC Trac Issues: #14167 Differential Revision: https://phabricator.haskell.org/D3901
Diffstat (limited to 'testsuite/tests/ghci/scripts/T7730.stdout')
-rw-r--r--testsuite/tests/ghci/scripts/T7730.stdout3
1 files changed, 1 insertions, 2 deletions
diff --git a/testsuite/tests/ghci/scripts/T7730.stdout b/testsuite/tests/ghci/scripts/T7730.stdout
index e96e909413..bf9c1d025b 100644
--- a/testsuite/tests/ghci/scripts/T7730.stdout
+++ b/testsuite/tests/ghci/scripts/T7730.stdout
@@ -3,6 +3,5 @@ data A (x :: k) (y :: k1)
-- Defined at <interactive>:2:1
A :: k1 -> k2 -> *
type role T phantom
-data T (a :: k) where
- MkT :: forall k (a :: k) a1. a1 -> T a
+data T (a :: k) = forall a1. MkT a1
-- Defined at <interactive>:6:1