diff options
Diffstat (limited to 'testsuite/tests')
3 files changed, 26 insertions, 0 deletions
diff --git a/testsuite/tests/typecheck/should_compile/DeepSubsumption06.hs b/testsuite/tests/typecheck/should_compile/DeepSubsumption06.hs new file mode 100644 index 0000000000..6e8b64c2c2 --- /dev/null +++ b/testsuite/tests/typecheck/should_compile/DeepSubsumption06.hs @@ -0,0 +1,12 @@ +{-# LANGUAGE NoPolyKinds #-} +{-# LANGUAGE RankNTypes #-} +module DeepSubsumption06 where + +class Profunctor p where + dimap :: (s -> a) -> (b -> t) -> p i a b -> p i s t + +type Iso s t a b = forall p i . Profunctor p => p i a b -> p i s t + +iso :: (s -> a) -> (b -> t) -> Iso s t a b +-- iso f g = dimap f g +iso = dimap diff --git a/testsuite/tests/typecheck/should_compile/DeepSubsumption07.hs b/testsuite/tests/typecheck/should_compile/DeepSubsumption07.hs new file mode 100644 index 0000000000..1c70025051 --- /dev/null +++ b/testsuite/tests/typecheck/should_compile/DeepSubsumption07.hs @@ -0,0 +1,12 @@ +{-# LANGUAGE NoPolyKinds #-} +{-# LANGUAGE RankNTypes #-} +module DeepSubsumption07 where + +class Profunctor p where + dimap :: (s -> a) -> (b -> t) -> p i a b -> p i s t + +type Iso s t a b = forall p i . Profunctor p => p i a b -> p i s t + +iso :: (s -> a) -> (b -> t) -> Iso s t a b +-- iso f g = dimap f g +iso = dimap diff --git a/testsuite/tests/typecheck/should_compile/all.T b/testsuite/tests/typecheck/should_compile/all.T index 3410ad68bb..3071562989 100644 --- a/testsuite/tests/typecheck/should_compile/all.T +++ b/testsuite/tests/typecheck/should_compile/all.T @@ -849,3 +849,5 @@ test('DeepSubsumption02', normal, compile, ['']) test('DeepSubsumption03', normal, compile, ['']) test('DeepSubsumption04', normal, compile, ['']) test('DeepSubsumption05', normal, compile, ['']) +test('DeepSubsumption06', normal, compile, ['-XHaskell98']) +test('DeepSubsumption07', normal, compile, ['-XHaskell2010']) |