diff options
Diffstat (limited to 'testsuite/tests/safeHaskell')
-rw-r--r-- | testsuite/tests/safeHaskell/safeInfered/SafeInfered05.stderr | 19 | ||||
-rw-r--r-- | testsuite/tests/safeHaskell/safeInfered/SafeInfered05_A.hs | 1 | ||||
-rw-r--r-- | testsuite/tests/safeHaskell/safeInfered/all.T | 6 |
3 files changed, 23 insertions, 3 deletions
diff --git a/testsuite/tests/safeHaskell/safeInfered/SafeInfered05.stderr b/testsuite/tests/safeHaskell/safeInfered/SafeInfered05.stderr new file mode 100644 index 0000000000..10e70c409c --- /dev/null +++ b/testsuite/tests/safeHaskell/safeInfered/SafeInfered05.stderr @@ -0,0 +1,19 @@ + +SafeInfered05.hs:2:14: Warning: + -XOverlappingInstances is deprecated: instead use per-instance pragmas OVERLAPPING/OVERLAPPABLE/OVERLAPS +[1 of 2] Compiling SafeInfered05_A ( SafeInfered05_A.hs, SafeInfered05_A.o ) + +SafeInfered05_A.hs:2:16: Warning: + ‘SafeInfered05_A’ has been inferred as safe! +[2 of 2] Compiling SafeInfered05 ( SafeInfered05.hs, SafeInfered05.o ) + +SafeInfered05.hs:31:9: + Unsafe overlapping instances for C [Int] arising from a use of ‘f’ + The matching instance is: + instance [safe] C [Int] -- Defined at SafeInfered05_A.hs:8:10 + It is compiled in a Safe module and as such can only + overlap instances from the same module, however it + overlaps the following instances from different modules: + instance [overlap ok] C [a] -- Defined at SafeInfered05.hs:27:10 + In the expression: f ([1, 2, 3, 4] :: [Int]) + In an equation for ‘test2’: test2 = f ([1, 2, 3, 4] :: [Int]) diff --git a/testsuite/tests/safeHaskell/safeInfered/SafeInfered05_A.hs b/testsuite/tests/safeHaskell/safeInfered/SafeInfered05_A.hs index a1e12a6526..c9e5c964cb 100644 --- a/testsuite/tests/safeHaskell/safeInfered/SafeInfered05_A.hs +++ b/testsuite/tests/safeHaskell/safeInfered/SafeInfered05_A.hs @@ -1,4 +1,5 @@ {-# LANGUAGE FlexibleInstances #-} +{-# OPTIONS_GHC -fwarn-safe #-} module SafeInfered05_A where class C a where diff --git a/testsuite/tests/safeHaskell/safeInfered/all.T b/testsuite/tests/safeHaskell/safeInfered/all.T index 12e80a7fde..9fb4b2c4ea 100644 --- a/testsuite/tests/safeHaskell/safeInfered/all.T +++ b/testsuite/tests/safeHaskell/safeInfered/all.T @@ -22,9 +22,9 @@ test('SafeInfered04', multimod_compile, ['SafeInfered04', '']) # Test should fail, tests an earlier bug in 7.8 -# test('SafeInfered05', -# [ extra_clean(['SafeInfered05_A.hi', 'SafeInfered05_A.o']) ], -# multimod_compile_fail, ['SafeInfered05', '']) +test('SafeInfered05', + [ extra_clean(['SafeInfered05_A.hi', 'SafeInfered05_A.o']) ], + multimod_compile_fail, ['SafeInfered05', '']) # Tests that should fail to compile as they should be infered unsafe test('UnsafeInfered01', |