summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghci/prog006
diff options
context:
space:
mode:
authorVladislav Zavialov <vlad.z.4096@gmail.com>2018-10-04 09:17:55 -0400
committerRyan Scott <ryan.gl.scott@gmail.com>2018-10-04 09:17:55 -0400
commitbd7898537768f936d05c0c83eef1cd9b00933347 (patch)
treedb16292d6c32f6ef04ff829178cacc6709d00a6d /testsuite/tests/ghci/prog006
parentfc2ff6dd7496a33bf68165b28f37f40b7d647418 (diff)
downloadhaskell-bd7898537768f936d05c0c83eef1cd9b00933347.tar.gz
Parse the (!) type operator and allow type operators in existential context
Summary: Improve the way `(!)`, `(~)`, and other type operators are handled in the parser, fixing two issues at once: 1. `(!)` can now be used as a type operator that respects fixity and precedence (#15457) 2. Existential context of a data constructor no longer needs parentheses (#15675) In addition to that, with this patch it is now trivial to adjust precedence of the `{-# UNPACK #-}` pragma, as suggested in https://ghc.haskell.org/trac/ghc/ticket/14761#comment:7 There was a small change to API Annotations. Before this patch, `(~)` was a strange special case that produced an annotation unlike any other type operator. After this patch, when `(~)` or `(!)` are used to specify strictness they produce AnnTilde and AnnBang annotations respectively, and when they are used as type operators, they produce no annotations. Test Plan: Validate Reviewers: simonpj, bgamari, alanz, RyanGlScott Reviewed By: RyanGlScott Subscribers: RyanGlScott, rwbarton, mpickering, carter GHC Trac Issues: #15457, #15675 Differential Revision: https://phabricator.haskell.org/D5180
Diffstat (limited to 'testsuite/tests/ghci/prog006')
-rw-r--r--testsuite/tests/ghci/prog006/prog006.stderr7
1 files changed, 4 insertions, 3 deletions
diff --git a/testsuite/tests/ghci/prog006/prog006.stderr b/testsuite/tests/ghci/prog006/prog006.stderr
index 7bc3b1b2ef..d4a37124bc 100644
--- a/testsuite/tests/ghci/prog006/prog006.stderr
+++ b/testsuite/tests/ghci/prog006/prog006.stderr
@@ -1,4 +1,5 @@
-Boot.hs:5:13:
- Not a data constructor: ‘forall’
- Perhaps you intended to use ExistentialQuantification
+Boot.hs:5:21: error:
+ Illegal symbol '.' in type
+ Perhaps you intended to use RankNTypes or a similar language
+ extension to enable explicit-forall syntax: forall <tvs>. <type>