diff options
-rw-r--r-- | compiler/main/DynFlags.hs | 3 | ||||
m--------- | libraries/haskell2010 | 0 | ||||
m--------- | libraries/haskell98 | 0 | ||||
m--------- | libraries/hoopl | 0 | ||||
m--------- | libraries/hpc | 0 | ||||
m--------- | libraries/stm | 0 | ||||
-rw-r--r-- | mk/validate-settings.mk | 7 | ||||
-rw-r--r-- | testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.hs | 10 | ||||
-rw-r--r-- | testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.stderr | 3 | ||||
-rw-r--r-- | testsuite/tests/safeHaskell/safeInfered/all.T | 1 |
10 files changed, 23 insertions, 1 deletions
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 043174f3b0..70fc6d390d 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -3154,7 +3154,8 @@ minusWallOpts Opt_WarnMissingSigs, Opt_WarnHiShadows, Opt_WarnOrphans, - Opt_WarnUnusedDoBind + Opt_WarnUnusedDoBind, + Opt_WarnTrustworthySafe ] enableGlasgowExts :: DynP () diff --git a/libraries/haskell2010 b/libraries/haskell2010 -Subproject 425df1d9ea7adcf823bbb5426528bd80eb2b820 +Subproject a21abff3e385a85e1353aa720516e148865710a diff --git a/libraries/haskell98 b/libraries/haskell98 -Subproject 401283a98a818f66f856939f939562de5c4a2b4 +Subproject cf064d954c511a2edddb5a55a1984d57ce36c40 diff --git a/libraries/hoopl b/libraries/hoopl -Subproject 7f06b16ba3a49c2c927fb06fe7dc89089dd7e29 +Subproject a90a3af92be400af8912555bce21b041a1c48ad diff --git a/libraries/hpc b/libraries/hpc -Subproject d430be4664aac337cd0e49dd6b69e818f21cde6 +Subproject 60e7bbfeea8ba54688b8f432f0f337b275f06c5 diff --git a/libraries/stm b/libraries/stm -Subproject 40fd6d88f75c31b66419ab93f436225c9403846 +Subproject 6b63e91b2b0b7d7b4bef654117da62c22cac34d diff --git a/mk/validate-settings.mk b/mk/validate-settings.mk index 52aa648893..150aec3323 100644 --- a/mk/validate-settings.mk +++ b/mk/validate-settings.mk @@ -163,6 +163,13 @@ libraries/dph/dph-lifted-common-install_EXTRA_HC_OPTS += -Wwarn # We need to turn of deprecated warnings for SafeHaskell transition libraries/array_dist-install_EXTRA_HC_OPTS += -fno-warn-warnings-deprecations +# Turn of trustworthy-safe warning +libraries/base_dist-install_EXTRA_HC_OPTS += -fno-warn-trustworthy-safe +libraries/ghc-prim_dist-install_EXTRA_HC_OPTS += -fno-warn-trustworthy-safe +libraries/containers_dist-install_EXTRA_HC_OPTS += -fno-warn-trustworthy-safe +libraries/process_dist-install_EXTRA_HC_OPTS += -fno-warn-trustworthy-safe +libraries/unix_dist-install_EXTRA_HC_OPTS += -fno-warn-trustworthy-safe + # Temporarely disable inline rule shadowing warning libraries/bytestring_dist-install_EXTRA_HC_OPTS += -fno-warn-inline-rule-shadowing libraries/template-haskell_dist-install_EXTRA_HC_OPTS += -fno-warn-inline-rule-shadowing diff --git a/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.hs b/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.hs new file mode 100644 index 0000000000..12be9b174c --- /dev/null +++ b/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.hs @@ -0,0 +1,10 @@ +{-# LANGUAGE Trustworthy #-} +{-# OPTIONS_GHC -Wall #-} + +-- | This module is marked trustworthy but should be inferable as -XSafe. +-- Warning enabled through `-W`. +module TrustworthySafe03 where + +g :: Int +g = 1 + diff --git a/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.stderr b/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.stderr new file mode 100644 index 0000000000..9505d06031 --- /dev/null +++ b/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.stderr @@ -0,0 +1,3 @@ + +TrustworthySafe03.hs:1:14: Warning: + ‘TrustworthySafe03’ is marked as Trustworthy but has been inferred as safe! diff --git a/testsuite/tests/safeHaskell/safeInfered/all.T b/testsuite/tests/safeHaskell/safeInfered/all.T index 89062cd174..12e80a7fde 100644 --- a/testsuite/tests/safeHaskell/safeInfered/all.T +++ b/testsuite/tests/safeHaskell/safeInfered/all.T @@ -76,6 +76,7 @@ test('Mixed03', normal, compile_fail, ['']) # Trustworthy Safe modules test('TrustworthySafe01', normal, compile, ['']) test('TrustworthySafe02', normal, compile, ['']) +test('TrustworthySafe03', normal, compile, ['']) test('TrustworthySafe04', normal, compile, ['']) # Check -fwarn-unsafe works |