id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
6066,Constraint Kinds don't work with Template Haskell,sseverance,,"If I have a record with a constraint kind that has multiple constraints such as:

{{{
type MyConstraint a = (Show a, Eq a, Typeable a)
data MyConstraint a => MyType a =  MyType {
  someField :: a
}
}}}

If I try to use template haskell on the type (in my case mkLabels from fclabels) you get the following error:  Can't represent tuple predicates in Template Haskell: MyConstraint a

Complete Repro Case:

{{{
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE DatatypeContexts #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE TemplateHaskell #-}

import Data.Label
import Data.Typeable

type MyConstraint a = (Show a, Eq a, Typeable a)

data MyConstraint a => MyType a = MyType {
  myField :: a
} deriving (Show, Eq)

mkLabels [''MyType]
}}}",bug,closed,normal,,Compiler,7.4.1,duplicate,,,Unknown/Multiple,Unknown/Multiple,None/Unknown,,,,,
