summaryrefslogtreecommitdiff
path: root/docs/users_guide
diff options
context:
space:
mode:
Diffstat (limited to 'docs/users_guide')
-rw-r--r--docs/users_guide/using-warnings.rst19
1 files changed, 18 insertions, 1 deletions
diff --git a/docs/users_guide/using-warnings.rst b/docs/users_guide/using-warnings.rst
index 65ffe99cea..216d7ee232 100644
--- a/docs/users_guide/using-warnings.rst
+++ b/docs/users_guide/using-warnings.rst
@@ -78,6 +78,7 @@ The following flags are simple ways to select standard "packages" of warnings:
* :ghc-flag:`-Wmissing-home-modules`
* :ghc-flag:`-Widentities`
* :ghc-flag:`-Wredundant-constraints`
+ * :ghc-flag:`-Wpartial-fields`
.. ghc-flag:: -Weverything
:shortdesc: enable all warnings supported by GHC
@@ -1464,7 +1465,23 @@ of ``-W(no-)*``.
pick up modules, not listed neither in ``exposed-modules``, nor in
``other-modules``.
+.. ghc-flag:: -Wpartial-fields
+ :shortdesc: warn when define partial record field.
+ :type: dynamic
+ :reverse: -Wno-partial-fields
+ :category:
+
+ :since: 8.4
+
+ The option :ghc-flag:`-Wpartial-fields` warns about record field that could
+ fail when it is used as a function. The function ``f`` below will fail when
+ applied to Bar, so the compiler will emit a warning about this when
+ :ghc-flag:`-Wpartial-fields` is enabled.
+
+ The warning is suppressed if the field name begins with an underscore. ::
+
+ data Foo = Foo { f :: Int } | Bar
+
If you're feeling really paranoid, the :ghc-flag:`-dcore-lint` option is a good choice.
It turns on heavyweight intra-pass sanity-checking within GHC. (It checks GHC's
sanity, not yours.)
-