Fake (->) fixity declaration (#10145)
authorOleg Grenrus <oleg.grenrus@iki.fi>
Thu, 2 Apr 2015 09:28:03 +0000 (11:28 +0200)
committerThomas Miedema <thomasmiedema@gmail.com>
Thu, 2 Apr 2015 09:28:17 +0000 (11:28 +0200)
Reviewed By: simonpj, austin

Differential Revision: https://phabricator.haskell.org/D741

compiler/iface/LoadIface.hs
testsuite/tests/ghci/scripts/T8535.stdout
testsuite/tests/ghci/scripts/ghci020.stdout
testsuite/tests/ghci/should_run/T10145.script [new file with mode: 0644]
testsuite/tests/ghci/should_run/T10145.stdout [new file with mode: 0644]
testsuite/tests/ghci/should_run/all.T

index 169e929..cfb8a11 100644 (file)
@@ -46,6 +46,7 @@ import PrelNames
 import PrelInfo
 import PrimOp   ( allThePrimOps, primOpFixity, primOpOcc )
 import MkId     ( seqId )
+import TysPrim  ( funTyConName )
 import Rules
 import TyCon
 import Annotations
@@ -871,6 +872,7 @@ ghcPrimIface
     }
   where
     fixities = (getOccName seqId, Fixity 0 InfixR)  -- seq is infixr 0
+             : (occName funTyConName, funTyFixity)  -- trac #10145
              : mapMaybe mkFixity allThePrimOps
     mkFixity op = (,) (primOpOcc op) <$> primOpFixity op
 
index 749a244..2f35e23 100644 (file)
@@ -1,4 +1,5 @@
 data (->) a b  -- Defined in ‘GHC.Prim’
+infixr 0 `(->)`
 instance Monad ((->) r) -- Defined in ‘GHC.Base’
 instance Functor ((->) r) -- Defined in ‘GHC.Base’
 instance Applicative ((->) a) -- Defined in ‘GHC.Base’
index 749a244..2f35e23 100644 (file)
@@ -1,4 +1,5 @@
 data (->) a b  -- Defined in ‘GHC.Prim’
+infixr 0 `(->)`
 instance Monad ((->) r) -- Defined in ‘GHC.Base’
 instance Functor ((->) r) -- Defined in ‘GHC.Base’
 instance Applicative ((->) a) -- Defined in ‘GHC.Base’
diff --git a/testsuite/tests/ghci/should_run/T10145.script b/testsuite/tests/ghci/should_run/T10145.script
new file mode 100644 (file)
index 0000000..6fdfb52
--- /dev/null
@@ -0,0 +1 @@
+:i (->)
diff --git a/testsuite/tests/ghci/should_run/T10145.stdout b/testsuite/tests/ghci/should_run/T10145.stdout
new file mode 100644 (file)
index 0000000..2f35e23
--- /dev/null
@@ -0,0 +1,6 @@
+data (->) a b  -- Defined in ‘GHC.Prim’
+infixr 0 `(->)`
+instance Monad ((->) r) -- Defined in ‘GHC.Base’
+instance Functor ((->) r) -- Defined in ‘GHC.Base’
+instance Applicative ((->) a) -- Defined in ‘GHC.Base’
+instance Monoid b => Monoid (a -> b) -- Defined in ‘GHC.Base’
index b28e4a3..cd5b1f2 100644 (file)
@@ -22,3 +22,4 @@ test('ghcirun004', just_ghci, compile_and_run, [''])
 test('T8377',      just_ghci, compile_and_run, [''])
 test('T9914',      just_ghci, ghci_script, ['T9914.script'])
 test('T9915',      just_ghci, ghci_script, ['T9915.script'])
+test('T10145',     just_ghci, ghci_script, ['T10145.script'])