summaryrefslogtreecommitdiff
path: root/testsuite/tests/overloadedrecflds/should_compile/T11103.hs
blob: 6662b29cfa4e783910f1b94845e8f1b84b5aa82e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{-# LANGUAGE DuplicateRecordFields, TemplateHaskell #-}

module T11103 where

import Language.Haskell.TH
import Language.Haskell.TH.Syntax

data R = MkR { foo :: Int, bar :: Int }
data S = MkS { foo :: Int }

$(do info <- reify ''R
     case info of
       TyConI (DataD _ _ _ _ [RecC _ [(foo_n, _, _), (bar_n, _, _)]] _)
         -> do { reify bar_n -- This is unambiguous
               ; reify foo_n -- This is ambiguous
               ; return []
               }
       _ -> error "unexpected result of reify")