summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_compile/T17723a.hs
blob: e808aa77f5897feb2b117d134941e4d97c09fea3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DefaultSignatures #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeInType #-}

module T17723a (C(..)) where

import GHC.Exts

-- Essentially a stripped-down version of the `Lift` type class from
-- Language.Haskell.TH.Syntax. I have redefined it here both to strip away
-- inessential details and to ensure that this test case will not change if
-- the API of Lift were to change in the future.
class C (a :: TYPE (r :: RuntimeRep)) where
  m :: a -> ()
  default m :: (r ~ LiftedRep) => a -> ()
  m = const ()