summaryrefslogtreecommitdiff
path: root/testsuite/tests/quantified-constraints/T15316.hs
blob: 07539e31836ae50e3aafc452eaf281a7572e751e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{-# LANGUAGE RankNTypes, QuantifiedConstraints, ConstraintKinds  #-}
-- NB: disabling these if enabled:
{-# LANGUAGE NoUndecidableInstances, NoUndecidableSuperClasses #-}

module T15316 where

import Data.Proxy

{-
class Class a where
         method :: a

subsume :: (Class a => Class b) => Proxy a -> Proxy b -> ((Class a => Class b) => r) -> r
subsume _ _ x = x

value :: Proxy a -> a
value p = subsume p p method
-}

subsume' :: Proxy c -> ((c => c) => r) -> r
subsume' _ x = x