diff options
Diffstat (limited to 'testsuite/tests/indexed-types/should_compile/Simple15.hs')
-rw-r--r-- | testsuite/tests/indexed-types/should_compile/Simple15.hs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/testsuite/tests/indexed-types/should_compile/Simple15.hs b/testsuite/tests/indexed-types/should_compile/Simple15.hs new file mode 100644 index 0000000000..8a28d27b6f --- /dev/null +++ b/testsuite/tests/indexed-types/should_compile/Simple15.hs @@ -0,0 +1,25 @@ +{-# LANGUAGE TypeFamilies #-} + +module Simple15 where + +(<$) :: p -> (p -> q) -> q +x <$ f = f x + +type family Def p + +def :: Def p -> p +def = undefined + +data EQU a b = EQU + +equ_refl :: EQU a a +equ_refl = EQU + +data FOO = FOO +type instance Def FOO = EQU () () + +foo :: FOO +foo = equ_refl <$ def +-- This works: +-- foo = def $ equ_refl + |