summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_compile/T816.hs
blob: 4c319ea5be0401111b9544b29b2052d14cb25268 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE UndecidableInstances #-}

module T816 where

class Foo x y | x -> y where
  foo :: x -> y

class Bar x y where
  bar :: x -> y -> Int

instance (Foo x y, Bar y z) => Bar x z where
  bar x z = bar (foo x) z