diff options
| author | Vladislav Zavialov <vlad.z.4096@gmail.com> | 2018-07-16 18:46:52 -0400 |
|---|---|---|
| committer | Ben Gamari <ben@smart-cactus.org> | 2018-07-16 18:46:53 -0400 |
| commit | 65c186f0fdde95fd7c63ab9bd9b33a0213dba7d1 (patch) | |
| tree | 92abe9e3aeab1711db0e77361c453ee49f48ef55 /compiler/rename | |
| parent | 7fe4993673e43e5b21f38d79ecc8b5163e97ee84 (diff) | |
| download | haskell-65c186f0fdde95fd7c63ab9bd9b33a0213dba7d1.tar.gz | |
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
Reviewed By: bgamari, RyanGlScott
Subscribers: harpocrates, rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4865
Diffstat (limited to 'compiler/rename')
| -rw-r--r-- | compiler/rename/RnEnv.hs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/compiler/rename/RnEnv.hs b/compiler/rename/RnEnv.hs index abfaf22c3e..16897c2681 100644 --- a/compiler/rename/RnEnv.hs +++ b/compiler/rename/RnEnv.hs @@ -930,9 +930,8 @@ lookup_demoted rdr_name | Just demoted_rdr <- demoteRdrName rdr_name -- Maybe it's the name of a *data* constructor = do { data_kinds <- xoptM LangExt.DataKinds - ; type_operators <- xoptM LangExt.TypeOperators ; star_is_type <- xoptM LangExt.StarIsType - ; let star_info = starInfo (type_operators, star_is_type) rdr_name + ; let star_info = starInfo star_is_type rdr_name ; if data_kinds then do { mb_demoted_name <- lookupOccRn_maybe demoted_rdr ; case mb_demoted_name of |
