Guard CUSKs behind a language pragma
authorVladislav Zavialov <vlad.z.4096@gmail.com>
Wed, 8 May 2019 22:53:26 +0000 (01:53 +0300)
committerBen Gamari <ben@smart-cactus.org>
Tue, 14 May 2019 20:41:19 +0000 (16:41 -0400)
commita5fdd185188fcda595fd712f90864ec7c20cdace
treed5e2864ea5c798e0950b84b635942cdf380cc97a
parentc72c369bcd56c74b745d90ee8f6acd12b430c65c
Guard CUSKs behind a language pragma

GHC Proposal #36 describes a transition plan away from CUSKs and to
top-level kind signatures:

1. Introduce a new extension, -XCUSKs, on by default, that detects CUSKs
   as they currently exist.
2. We turn off the -XCUSKs extension in a few releases and remove it
   sometime thereafter.

This patch implements phase 1 of this plan, introducing a new language
extension to control whether CUSKs are enabled. When top-level kind
signatures are implemented, we can transition to phase 2.
compiler/hsSyn/HsDecls.hs
compiler/main/DynFlags.hs
compiler/rename/RnSource.hs
compiler/typecheck/TcTyClsDecls.hs
docs/users_guide/glasgow_exts.rst
libraries/ghc-boot-th/GHC/LanguageExtensions/Type.hs
testsuite/tests/driver/T4437.hs
testsuite/tests/typecheck/should_fail/all.T
testsuite/tests/typecheck/should_fail/tcfail225.hs [new file with mode: 0644]
testsuite/tests/typecheck/should_fail/tcfail225.stderr [new file with mode: 0644]