diff options
Diffstat (limited to 'testsuite/tests/safeHaskell/overlapping')
38 files changed, 88 insertions, 52 deletions
diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap1.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap1.hs index beaf3881f5..896ddbff39 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap1.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap1.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Trustworthy #-} {-# LANGUAGE FlexibleInstances #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap1.stderr b/testsuite/tests/safeHaskell/overlapping/SH_Overlap1.stderr index 20349c6024..54dab18cd3 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap1.stderr +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap1.stderr @@ -2,14 +2,15 @@ [2 of 3] Compiling SH_Overlap1_A ( SH_Overlap1_A.hs, SH_Overlap1_A.o ) [3 of 3] Compiling SH_Overlap1 ( SH_Overlap1.hs, SH_Overlap1.o ) -SH_Overlap1.hs:15:8: error: - Unsafe overlapping instances for C [Int] arising from a use of ‘f’ - The matching instance is: - instance [overlap ok] [safe] C [Int] - -- Defined at SH_Overlap1_A.hs:11:3 - 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 C [a] -- Defined at SH_Overlap1.hs:11:3 - In the expression: f ([1, 2, 3, 4] :: [Int]) - In an equation for ‘test’: test = f ([1, 2, 3, 4] :: [Int]) +SH_Overlap1.hs:16:8: error: + • Unsafe overlapping instances for C [Int] + arising from a use of ‘f’ + The matching instance is: + instance [overlap ok] [safe] C [Int] + -- Defined at SH_Overlap1_A.hs:12:3 + 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 C [a] -- Defined at SH_Overlap1.hs:12:3 + • In the expression: f ([1, 2, 3, 4] :: [Int]) + In an equation for ‘test’: test = f ([1, 2, 3, 4] :: [Int]) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap10.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap10.hs index 7c5e5a1929..8f455d0501 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap10.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap10.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} {-# LANGUAGE FlexibleInstances #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap10_A.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap10_A.hs index 76d0b2ea9e..551088edbd 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap10_A.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap10_A.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} {-# LANGUAGE FlexibleInstances #-} module SH_Overlap10_A ( diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap10_B.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap10_B.hs index 1efb86c064..72a9dc5a1e 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap10_B.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap10_B.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} module SH_Overlap10_B ( C(..) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.hs index f591c0a188..2c336ed037 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} {-# LANGUAGE FlexibleInstances #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.stderr b/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.stderr index aca02ef4a9..9eb029951f 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.stderr +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.stderr @@ -2,18 +2,18 @@ [2 of 3] Compiling SH_Overlap11_A ( SH_Overlap11_A.hs, SH_Overlap11_A.o ) [3 of 3] Compiling SH_Overlap11 ( SH_Overlap11.hs, SH_Overlap11.o ) -SH_Overlap11.hs:1:16: warning: [-Wunsafe] +SH_Overlap11.hs:2:16: warning: [-Wunsafe] ‘SH_Overlap11’ has been inferred as unsafe! Reason: - SH_Overlap11.hs:17:8: warning: + SH_Overlap11.hs:18:8: warning: • Unsafe overlapping instances for C [Int] arising from a use of ‘f’ The matching instance is: instance [overlap ok] [safe] C [Int] - -- Defined at SH_Overlap11_A.hs:11:3 + -- Defined at SH_Overlap11_A.hs:12:3 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 C [a] -- Defined at SH_Overlap11.hs:13:3 + instance C [a] -- Defined at SH_Overlap11.hs:14:3 • In the expression: f ([1, 2, 3, 4] :: [Int]) In an equation for ‘test’: test = f ([1, 2, 3, 4] :: [Int]) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap11_A.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap11_A.hs index 100a9f30db..6f834cae24 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap11_A.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap11_A.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} {-# LANGUAGE FlexibleInstances #-} module SH_Overlap11_A ( diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap11_B.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap11_B.hs index 63ba1d7c6f..4d1e226a96 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap11_B.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap11_B.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} module SH_Overlap11_B ( C(..) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap1_A.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap1_A.hs index d231bc9365..6a8a2c2970 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap1_A.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap1_A.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} {-# LANGUAGE FlexibleInstances #-} module SH_Overlap1_A ( diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap1_B.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap1_B.hs index 1dbb59b6b4..fb2e648854 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap1_B.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap1_B.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} module SH_Overlap1_B ( C(..) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap2.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap2.hs index 5df87abcab..9ce118d9cb 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap2.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap2.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Trustworthy #-} {-# LANGUAGE FlexibleInstances #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap2.stderr b/testsuite/tests/safeHaskell/overlapping/SH_Overlap2.stderr index b4f15515b0..2eed7608d1 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap2.stderr +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap2.stderr @@ -2,14 +2,15 @@ [2 of 3] Compiling SH_Overlap2_A ( SH_Overlap2_A.hs, SH_Overlap2_A.o ) [3 of 3] Compiling SH_Overlap2 ( SH_Overlap2.hs, SH_Overlap2.o ) -SH_Overlap2.hs:18:8: error: - Unsafe overlapping instances for C [Int] arising from a use of ‘f’ - The matching instance is: - instance [overlap ok] [safe] C [Int] - -- Defined at SH_Overlap2_A.hs:11:3 - 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 C [a] -- Defined at SH_Overlap2.hs:14:3 - In the expression: f ([1, 2, 3, 4] :: [Int]) - In an equation for ‘test’: test = f ([1, 2, 3, 4] :: [Int]) +SH_Overlap2.hs:19:8: error: + • Unsafe overlapping instances for C [Int] + arising from a use of ‘f’ + The matching instance is: + instance [overlap ok] [safe] C [Int] + -- Defined at SH_Overlap2_A.hs:12:3 + 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 C [a] -- Defined at SH_Overlap2.hs:15:3 + • In the expression: f ([1, 2, 3, 4] :: [Int]) + In an equation for ‘test’: test = f ([1, 2, 3, 4] :: [Int]) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap2_A.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap2_A.hs index 2510818e06..2e2be0bd56 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap2_A.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap2_A.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} {-# LANGUAGE FlexibleInstances #-} module SH_Overlap2_A ( diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap2_B.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap2_B.hs index fcd8ef8f56..0fbb784ff2 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap2_B.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap2_B.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} module SH_Overlap2_B ( C(..) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap3.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap3.hs index 8ffa53f84b..019c315db3 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap3.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap3.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Unsafe #-} {-# LANGUAGE FlexibleInstances #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap3_A.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap3_A.hs index 0a3393ef4d..50eedd6e1a 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap3_A.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap3_A.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} {-# LANGUAGE FlexibleInstances #-} module SH_Overlap3_A ( diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap3_B.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap3_B.hs index 4908d73427..12d6d5103d 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap3_B.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap3_B.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} module SH_Overlap3_B ( C(..) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap4.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap4.hs index 0d9f445080..a9951fac94 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap4.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap4.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Unsafe #-} {-# LANGUAGE FlexibleInstances #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap4_A.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap4_A.hs index bb1625e222..a0caa60cfb 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap4_A.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap4_A.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} {-# LANGUAGE FlexibleInstances #-} module SH_Overlap4_A ( diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap4_B.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap4_B.hs index 2a53fff8c6..56f974fd06 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap4_B.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap4_B.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} module SH_Overlap4_B ( C(..) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap5.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap5.hs index 185946d56f..79b5567580 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap5.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap5.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} {-# LANGUAGE FlexibleInstances #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap5.stderr b/testsuite/tests/safeHaskell/overlapping/SH_Overlap5.stderr index 8c2bc7df9d..9de7ecc708 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap5.stderr +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap5.stderr @@ -2,14 +2,15 @@ [2 of 3] Compiling SH_Overlap5_A ( SH_Overlap5_A.hs, SH_Overlap5_A.o ) [3 of 3] Compiling SH_Overlap5 ( SH_Overlap5.hs, SH_Overlap5.o ) -SH_Overlap5.hs:15:8: error: - Unsafe overlapping instances for C [Int] arising from a use of ‘f’ - The matching instance is: - instance [overlap ok] [safe] C [Int] - -- Defined at SH_Overlap5_A.hs:11:3 - 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 [safe] C [a] -- Defined at SH_Overlap5.hs:11:3 - In the expression: f ([1, 2, 3, 4] :: [Int]) - In an equation for ‘test’: test = f ([1, 2, 3, 4] :: [Int]) +SH_Overlap5.hs:16:8: error: + • Unsafe overlapping instances for C [Int] + arising from a use of ‘f’ + The matching instance is: + instance [overlap ok] [safe] C [Int] + -- Defined at SH_Overlap5_A.hs:12:3 + 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 [safe] C [a] -- Defined at SH_Overlap5.hs:12:3 + • In the expression: f ([1, 2, 3, 4] :: [Int]) + In an equation for ‘test’: test = f ([1, 2, 3, 4] :: [Int]) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap5_A.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap5_A.hs index 71c6bac0f0..7032b16747 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap5_A.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap5_A.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} {-# LANGUAGE FlexibleInstances #-} module SH_Overlap5_A ( diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap5_B.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap5_B.hs index e7e8102b98..3dc6ff18fc 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap5_B.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap5_B.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} module SH_Overlap5_B ( C(..) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap6.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap6.hs index e38037ab8b..fa07f61e91 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap6.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap6.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} {-# LANGUAGE FlexibleInstances #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap6.stderr b/testsuite/tests/safeHaskell/overlapping/SH_Overlap6.stderr index e5b7ac95d6..7804b9e5d5 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap6.stderr +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap6.stderr @@ -2,14 +2,15 @@ [2 of 3] Compiling SH_Overlap6_A ( SH_Overlap6_A.hs, SH_Overlap6_A.o ) [3 of 3] Compiling SH_Overlap6 ( SH_Overlap6.hs, SH_Overlap6.o ) -SH_Overlap6.hs:14:8: error: - Unsafe overlapping instances for C [Int] arising from a use of ‘f’ - The matching instance is: - instance [overlap ok] [safe] C [Int] - -- Defined at SH_Overlap6_A.hs:11:3 - 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 [safe] C [a] -- Defined at SH_Overlap6.hs:10:10 - In the expression: f ([1, 2, 3, 4] :: [Int]) - In an equation for ‘test’: test = f ([1, 2, 3, 4] :: [Int]) +SH_Overlap6.hs:15:8: error: + • Unsafe overlapping instances for C [Int] + arising from a use of ‘f’ + The matching instance is: + instance [overlap ok] [safe] C [Int] + -- Defined at SH_Overlap6_A.hs:12:3 + 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 [safe] C [a] -- Defined at SH_Overlap6.hs:11:10 + • In the expression: f ([1, 2, 3, 4] :: [Int]) + In an equation for ‘test’: test = f ([1, 2, 3, 4] :: [Int]) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap6_A.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap6_A.hs index 788c2f384b..b495e284f0 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap6_A.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap6_A.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} {-# LANGUAGE FlexibleInstances #-} module SH_Overlap6_A ( diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap6_B.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap6_B.hs index 5ec45676e9..0a8a81156e 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap6_B.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap6_B.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} module SH_Overlap6_B ( C(..) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.hs index e99e73fd41..179008744f 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} {-# LANGUAGE FlexibleInstances #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.stderr b/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.stderr index 45701f2529..ce90de4c72 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.stderr +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.stderr @@ -2,18 +2,18 @@ [2 of 3] Compiling SH_Overlap7_A ( SH_Overlap7_A.hs, SH_Overlap7_A.o ) [3 of 3] Compiling SH_Overlap7 ( SH_Overlap7.hs, SH_Overlap7.o ) -SH_Overlap7.hs:1:16: error: [-Wunsafe, -Werror=unsafe] +SH_Overlap7.hs:2:16: error: [-Wunsafe, -Werror=unsafe] ‘SH_Overlap7’ has been inferred as unsafe! Reason: - SH_Overlap7.hs:14:8: warning: + SH_Overlap7.hs:15:8: warning: • Unsafe overlapping instances for C [Int] arising from a use of ‘f’ The matching instance is: instance [overlap ok] [safe] C [Int] - -- Defined at SH_Overlap7_A.hs:12:3 + -- Defined at SH_Overlap7_A.hs:13:3 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 C [a] -- Defined at SH_Overlap7.hs:10:10 + instance C [a] -- Defined at SH_Overlap7.hs:11:10 • In the expression: f ([1, 2, 3, 4] :: [Int]) In an equation for ‘test’: test = f ([1, 2, 3, 4] :: [Int]) diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap7_A.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap7_A.hs index 972c5abf4e..3ad4c87641 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap7_A.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap7_A.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE Safe #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap7_B.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap7_B.hs index 382cad01c8..8e0121f9b7 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap7_B.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap7_B.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} {-# LANGUAGE Safe #-} module SH_Overlap7_B ( diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap8.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap8.hs index 6026769941..173c4ff03f 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap8.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap8.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} {-# LANGUAGE FlexibleInstances #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap8_A.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap8_A.hs index 8c19b1acbd..3d437aaead 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap8_A.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap8_A.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# LANGUAGE Safe #-} {-# LANGUAGE FlexibleInstances #-} module SH_Overlap8_A ( diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap9.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap9.hs index 5ae00fa101..cdce1d9fcb 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap9.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap9.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-safe #-} {-# LANGUAGE FlexibleInstances #-} diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap9_A.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap9_A.hs index 580bbda17b..608c937ce9 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap9_A.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap9_A.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} {-# LANGUAGE FlexibleInstances #-} module SH_Overlap9_A ( diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap9_B.hs b/testsuite/tests/safeHaskell/overlapping/SH_Overlap9_B.hs index 4cbf88692c..9db3e5a99f 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap9_B.hs +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap9_B.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE Haskell2010 #-} {-# OPTIONS_GHC -fwarn-unsafe #-} module SH_Overlap9_B ( C(..) |