diff options
Diffstat (limited to 'testsuite/tests/typecheck/should_compile/T19044.hs')
-rw-r--r-- | testsuite/tests/typecheck/should_compile/T19044.hs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/testsuite/tests/typecheck/should_compile/T19044.hs b/testsuite/tests/typecheck/should_compile/T19044.hs new file mode 100644 index 0000000000..ced7658582 --- /dev/null +++ b/testsuite/tests/typecheck/should_compile/T19044.hs @@ -0,0 +1,20 @@ +{-# LANGUAGE FlexibleInstances #-} +{-# LANGUAGE MultiParamTypeClasses #-} +module T19044 where + +class C a b where + m :: a -> b + +instance C a a where + m = id + +instance C a (Maybe a) where + m _ = Nothing + +f :: a -> Maybe a +f = g + where + g x = h (m x) x + +h :: Maybe a -> a -> Maybe a +h = const |