id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
2713	Fixities interact badly with TH under GHC 6.10.1 20081007	BenMoseley	igloo	"{{{
{-# LANGUAGE TemplateHaskell #-}
module Fixity where

class MyClass a where
   (.*.) :: a -> a -> a

main = putStrLn ""hi""

-- $( [d| x = undefined |] )

infixr 3 .*.
}}}

Compiling the above with: {{{c:\ghc\ghc-6.10.0.20081007\bin\ghc.exe
--make -ddump-hi ~/Fixity.hs}}} gives:

{{{
==================== FINAL INTERFACE ====================
interface main:Fixity 610020081007
 interface hash: 791ca25a8ddea4dee47d108320bf5b50
 ABI hash: c2ca52d8c1ffc89265effb15d766f4aa
 export-list hash: 9613c0af035884a108b9bebc1c0b08b6
 orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e
 where
export main:Fixity MyClass|{.*. MyClass} main
module dependencies:
package dependencies: ghc-prim integer base
orphans: base:Control.Exception.Base base:Data.Tuple base:GHC.Base
        base:GHC.Float base:GHC.Num
family instance modules:
import base:Prelude eac9ca3c0ae6d00a0fc0f1832a247e5e
import base:System.IO 9fa582151667de94fbfb9074e3c0f1b4
fixities infixr 3 .*.
1bcd9343d420eae1078ef2fa9021dbf8
 class MyClass a
     RecFlag NonRecursive
     .*. :: a -> a -> a
96fb86d3649acbcf89c1f2802a511b0e
 main :: GHC.IOBase.IO ()
vectorised variables:
vectorised tycons:
vectorised reused tycons:
}}}

Which is fine. Uncommenting the TH line and recompiling though gives:

{{{
==================== FINAL INTERFACE ====================
interface main:Fixity 610020081007
 interface hash: 0a7949a029127113f8c49434e22bcb71
 ABI hash: 3e2e66371e835a766a2fdedd54cb2c35
 export-list hash: 73f4a7845d4b5048d9321b0e99b46428
 orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e
 where
export main:Fixity MyClass|{.*. MyClass} main x
module dependencies:
package dependencies: ghc-prim integer base template-haskell
orphans: base:Control.Exception.Base base:Data.Tuple base:GHC.Base
        base:GHC.Float base:GHC.Num
family instance modules:
import base:GHC.Err 357889242e9fa603050a70e6dac2a5e4
import base:Prelude eac9ca3c0ae6d00a0fc0f1832a247e5e
import base:System.IO 9fa582151667de94fbfb9074e3c0f1b4
852943708ad257bdcf76e94914bb84b2
 class MyClass a
     RecFlag NonRecursive
     .*. :: a -> a -> a
96fb86d3649acbcf89c1f2802a511b0e
 main :: GHC.IOBase.IO ()
41850025600a6740465944638d138bc4
 x :: forall a. a
vectorised variables:
vectorised tycons:
vectorised reused tycons:
}}}

...ie the ""fixities"" entry is lost.

This worked fine in 6.8.2.

http://hackage.haskell.org/trac/ghc/ticket/2632 may be related - but
that was marked as closed/merged on 4th Oct, and I'm using a GHC
20081007."	merge	closed	normal	6.10.1	Template Haskell	6.10.1	fixed			Unknown/Multiple	Unknown/Multiple		Unknown	th/T2713			
