Do not imply NoStarIsType by TypeOperators/TypeInType
authorVladislav Zavialov <vlad.z.4096@gmail.com>
Sun, 24 Jun 2018 19:02:34 +0000 (15:02 -0400)
committerBen Gamari <ben@smart-cactus.org>
Sun, 24 Jun 2018 19:11:45 +0000 (15:11 -0400)
commitabd6622324733c67b05e0cbd0c8c3d12c6332f61
treea7842e1d4ab0d0e6463e8fb6799dcb64e70edd4c
parent0c701b69bcef0c6c4c2a3ef083bf6b6fa062a8a6
Do not imply NoStarIsType by TypeOperators/TypeInType

Implementation of the "Embrace TypeInType" proposal was done according
to the spec, which specified that TypeOperators must imply NoStarIsType.
This implication was meant to prevent breakage and to be removed in 2
releases.  However, compiling head.hackage has shown that this
implication only magnified the breakage, so there is no reason to have
it in the first place.

To remain in compliance with the three-release policy, we add a
workaround to define the (*) type operator even when -XStarIsType is on.

Test Plan: ./validate

Reviewers: bgamari, RyanGlScott, goldfire, phadej, hvr

Subscribers: rwbarton, thomie, carter

Differential Revision: https://phabricator.haskell.org/D4865
21 files changed:
compiler/basicTypes/RdrName.hs
compiler/main/DynFlags.hs
compiler/parser/Lexer.x
compiler/parser/RdrHsSyn.hs
compiler/rename/RnEnv.hs
docs/users_guide/8.6.1-notes.rst
docs/users_guide/glasgow_exts.rst
libraries/base/GHC/TypeNats.hs
testsuite/tests/dependent/ghci/T14238.stdout
testsuite/tests/partial-sigs/should_compile/T15039b.stderr
testsuite/tests/partial-sigs/should_compile/T15039d.stderr
testsuite/tests/partial-sigs/should_fail/T14584.stderr
testsuite/tests/polykinds/T10134.hs
testsuite/tests/th/TH_unresolvedInfix.hs
testsuite/tests/th/TH_unresolvedInfix_Lib.hs
testsuite/tests/typecheck/should_compile/TcTypeNatSimple.hs
testsuite/tests/typecheck/should_compile/type_in_type_hole_fits.hs
testsuite/tests/typecheck/should_run/TcTypeNatSimpleRun.hs
testsuite/tests/warnings/should_compile/StarBinder.hs [new file with mode: 0644]
testsuite/tests/warnings/should_compile/StarBinder.stderr [new file with mode: 0644]
testsuite/tests/warnings/should_compile/all.T