summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_compile/T10156.hs
blob: d4521221099af1327967b91c24addcaf423c1902 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{-# LANGUAGE FlexibleContexts, TypeFamilies #-}

module T10156 where

import Data.Coerce

data Iso a b = Iso (a -> b) (b -> a)

coerceIso :: Coercible a b => Iso a b
coerceIso = Iso coerce coerce

type family F x

f :: (Coercible a (F b), Coercible c (F b)) => a -> b -> c
f x _ = coerce x