ghc-exactprint-0.5.1.0: tests/examples/ghc8/T10819.hs
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
module T10819 where
import T10819_Lib
import Language.Haskell.TH.Syntax
class C a b | b -> a where
f :: b -> a
data D = X
instance C Int D where
f X = 2
$(doSomeTH "N" (mkName "D") [ConT (mkName "C") `AppT` ConT (mkName "Int")])
thing :: N
thing = N X
thing1 :: Int
thing1 = f thing