diff options
-rw-r--r-- | compiler/parser/Parser.y | 4 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/T10059.script | 5 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/T10059.stdout | 9 | ||||
-rwxr-xr-x | testsuite/tests/ghci/scripts/all.T | 1 |
4 files changed, 18 insertions, 1 deletions
diff --git a/compiler/parser/Parser.y b/compiler/parser/Parser.y index 066ee421fb..0e93dd043b 100644 --- a/compiler/parser/Parser.y +++ b/compiler/parser/Parser.y @@ -626,7 +626,9 @@ identifier :: { Located RdrName } | qvarop { $1 } | qconop { $1 } | '(' '->' ')' {% ams (sLL $1 $> $ getRdrName funTyCon) - [mj AnnOpenP $1,mu AnnRarrow $2,mj AnnCloseP $3] } + [mop $1,mu AnnRarrow $2,mcp $3] } + | '(' '~' ')' {% ams (sLL $1 $> $ eqTyCon_RDR) + [mop $1,mj AnnTilde $2,mcp $3] } ----------------------------------------------------------------------------- -- Backpack stuff diff --git a/testsuite/tests/ghci/scripts/T10059.script b/testsuite/tests/ghci/scripts/T10059.script new file mode 100644 index 0000000000..d352b9f15c --- /dev/null +++ b/testsuite/tests/ghci/scripts/T10059.script @@ -0,0 +1,5 @@ +:set -XTypeOperators +:i (~) +:k (~) +:set -fprint-equality-relations +:i (~) diff --git a/testsuite/tests/ghci/scripts/T10059.stdout b/testsuite/tests/ghci/scripts/T10059.stdout new file mode 100644 index 0000000000..26e1e7e28f --- /dev/null +++ b/testsuite/tests/ghci/scripts/T10059.stdout @@ -0,0 +1,9 @@ +class (a ~ b) => (~) (a :: k) (b :: k) + -- Defined in ‘Data.Type.Equality’ +instance [incoherent] forall k (a :: k) (b :: k). (a ~ b) => a ~ b + -- Defined in ‘Data.Type.Equality’ +(~) :: k -> k -> Constraint +class (a ~~ b) => (~) (a :: k) (b :: k) + -- Defined in ‘Data.Type.Equality’ +instance [incoherent] forall k (a :: k) (b :: k). (a ~~ b) => a ~ b + -- Defined in ‘Data.Type.Equality’ diff --git a/testsuite/tests/ghci/scripts/all.T b/testsuite/tests/ghci/scripts/all.T index 163ff0c2da..29fbdf85c5 100755 --- a/testsuite/tests/ghci/scripts/all.T +++ b/testsuite/tests/ghci/scripts/all.T @@ -201,6 +201,7 @@ test('T9878', [], ghci_script, ['T9878.script']) test('T9878b', [extra_run_opts('-fobject-code')], ghci_script, ['T9878b.script']) test('T10018', normal, ghci_script, ['T10018.script']) +test('T10059', normal, ghci_script, ['T10059.script']) test('T10122', normal, ghci_script, ['T10122.script']) test('T10321', normal, ghci_script, ['T10321.script']) |