users-guide: Mention changes necessary due to #13391
authorBen Gamari <bgamari.foss@gmail.com>
Tue, 19 Sep 2017 20:57:08 +0000 (16:57 -0400)
committerBen Gamari <ben@smart-cactus.org>
Tue, 19 Sep 2017 20:57:20 +0000 (16:57 -0400)
Some variant of this should also be added to the migration guide.

[skip ci]

Test Plan: Read it

Reviewers: goldfire, austin

Reviewed By: goldfire

Subscribers: rwbarton, thomie

GHC Trac Issues: #13391

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

docs/users_guide/8.4.1-notes.rst

index 2d03190..9a1235f 100644 (file)
@@ -59,6 +59,24 @@ Language
       data StrictJust a <- Just !a where
         StrictJust !a = Just a
 
+- GADTs with kind-polymorphic type arguments now require :ghc-flag:`TypeInType`.
+  For instance, consider the following, ::
+
+      data G :: k -> * where
+        GInt   :: G Int
+        GMaybe :: G Maybe
+
+  In previous releases this would compile with :ghc-flag:`PolyKinds` alone due
+  to bug :ghc-ticket:`13391`. As of GHC 8.4, however, this requires
+  :ghc-flag:`TypeInType`. Note that since GADT kind signatures aren't generalized,
+  this will also require that you provide a :ref:`CUSK
+  <complete-kind-signatures>` by explicitly quantifying over the kind argument,
+  ``k``, ::
+
+      data G :: forall k. k -> * where
+        GInt   :: G Int
+        GMaybe :: G Maybe
+
 Compiler
 ~~~~~~~~