summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_fail/T16946.hs
blob: e824f7cec88b9436011ca6eedf8dcbcb40d578dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
{-# LANGUAGE RankNTypes, TypeFamilies, PolyKinds, FunctionalDependencies #-}
module T16946 where

import Data.Kind

class CatMonad (c :: k -> k -> Type) (m :: forall (x :: k) (y :: k). c x y -> Type -> Type) | c -> m where
  type Id c :: c x x

  xpure :: a -> m (Id c) a

boom :: forall k (c :: k -> k -> Type) (m :: forall (x :: k) (y :: k). c x y -> Type -> Type) a. CatMonad c m => a -> m (Id c) a
boom = xpure