diff options
-rw-r--r-- | testsuite/tests/indexed-types/should_compile/T8889.hs | 12 | ||||
-rw-r--r-- | testsuite/tests/indexed-types/should_compile/T8889.stderr | 6 | ||||
-rw-r--r-- | testsuite/tests/indexed-types/should_compile/all.T | 1 |
3 files changed, 19 insertions, 0 deletions
diff --git a/testsuite/tests/indexed-types/should_compile/T8889.hs b/testsuite/tests/indexed-types/should_compile/T8889.hs new file mode 100644 index 0000000000..45c88a6a18 --- /dev/null +++ b/testsuite/tests/indexed-types/should_compile/T8889.hs @@ -0,0 +1,12 @@ +{-# LANGUAGE TypeFamilies, ConstraintKinds #-} +{-# OPTIONS_GHC -fwarn-missing-signatures #-} -- Report f's inferred type + +module T8889 where + +import GHC.Exts + +class C f where + type C_fmap f a :: Constraint + foo :: C_fmap f a => (a -> b) -> f a -> f b + +f x = foo x diff --git a/testsuite/tests/indexed-types/should_compile/T8889.stderr b/testsuite/tests/indexed-types/should_compile/T8889.stderr new file mode 100644 index 0000000000..77e05d764b --- /dev/null +++ b/testsuite/tests/indexed-types/should_compile/T8889.stderr @@ -0,0 +1,6 @@ + +T8889.hs:12:1: Warning: + Top-level binding with no type signature: + f :: forall (f :: * -> *) a b. + (C_fmap f a, C f) => + (a -> b) -> f a -> f b diff --git a/testsuite/tests/indexed-types/should_compile/all.T b/testsuite/tests/indexed-types/should_compile/all.T index f722ea3b4f..5c156ec28e 100644 --- a/testsuite/tests/indexed-types/should_compile/all.T +++ b/testsuite/tests/indexed-types/should_compile/all.T @@ -239,3 +239,4 @@ test('ClosedFam1', extra_clean(['ClosedFam1.o-boot', 'ClosedFam1.hi-boot']), test('ClosedFam2', extra_clean(['ClosedFam2.o-boot', 'ClosedFam2.hi-boot']), multimod_compile, ['ClosedFam2', '-v0']) test('T8651', normal, compile, ['']) +test('T8889', normal, compile, ['']) |