diff options
author | Isaac Dupree <id@isaac.cedarswampstudios.org> | 2007-05-11 08:45:25 +0000 |
---|---|---|
committer | Isaac Dupree <id@isaac.cedarswampstudios.org> | 2007-05-11 08:45:25 +0000 |
commit | 536852b1348fde6ec0ba13859cc5ddf8480a1653 (patch) | |
tree | 3d442de92d95ac7c989616c8927fd4dfb705606c /docs | |
parent | 53167b89a0ad08049ed429e09d6863b6b322ec44 (diff) | |
download | haskell-536852b1348fde6ec0ba13859cc5ddf8480a1653.tar.gz |
Add a warning flag for when the Prelude is implicitly imported (trac #1317)
GHC already determines all the implicit (Prelude) imports,
so we just need to check whether there are any of those,
for each module being compiled.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/users_guide/flags.xml | 9 | ||||
-rw-r--r-- | docs/users_guide/using.xml | 26 |
2 files changed, 34 insertions, 1 deletions
diff --git a/docs/users_guide/flags.xml b/docs/users_guide/flags.xml index 48cf03ae73..8e185701c3 100644 --- a/docs/users_guide/flags.xml +++ b/docs/users_guide/flags.xml @@ -733,7 +733,7 @@ </row> <row> <entry><option>-Wall</option></entry> - <entry>enable all warnings</entry> + <entry>enable almost all warnings (details in <xref linkend="options-sanity"/>)</entry> <entry>dynamic</entry> <entry><option>-w</option></entry> </row> @@ -766,6 +766,13 @@ <entry><option>-fno-warn-hi-shadowing</option></entry> </row> + <row> + <entry><option>-fwarn-implicit-prelude</option></entry> + <entry>warn when the Prelude is implicitly imported</entry> + <entry>dynamic</entry> + <entry><option>-fno-warn-implicit-prelude</option></entry> + </row> + <row> <entry><option>-fwarn-incomplete-patterns</option></entry> <entry>warn when a pattern match could fail</entry> diff --git a/docs/users_guide/using.xml b/docs/users_guide/using.xml index 88c2c9ed6c..544a6e85d2 100644 --- a/docs/users_guide/using.xml +++ b/docs/users_guide/using.xml @@ -848,6 +848,7 @@ ghc -c Foo.hs</screen> <listitem><option>-fwarn-tabs</option></listitem> <listitem><option>-fwarn-incomplete-record-updates</option></listitem> <listitem><option>-fwarn-monomorphism-restriction</option></listitem> + <listitem><option>-fwarn-implicit-prelude</option></listitem> </itemizedlist> </listitem> </varlistentry> @@ -914,6 +915,31 @@ ghc -c Foo.hs</screen> </varlistentry> <varlistentry> + <term><option>-fwarn-implicit-prelude</option>:</term> + <listitem> + <indexterm><primary><option>-fwarn-implicit-prelude</option></primary></indexterm> + <indexterm><primary>implicit prelude, warning</primary></indexterm> + <para>Have the compiler warn if the Prelude is implicitly + imported. This happens unless either the Prelude module is + explicitly imported with an <literal>import ... Prelude ...</literal> + line, or this implicit import is disabled (either by + <option>-fno-implicit-prelude</option> or a + <literal>LANGUAGE NoImplicitPrelude</literal> pragma).</para> + + <para>Note that no warning is given for syntax that implicitly + refers to the Prelude, even if <option>-fno-implicit-prelude</option> + would change whether it refers to the Prelude. + For example, no warning is given when + <literal>368</literal> means + <literal>Prelude.fromInteger (368::Prelude.Integer)</literal> + (where <literal>Prelude</literal> refers to the actual Prelude module, + regardless of the imports of the module being compiled).</para> + + <para>This warning is off by default.</para> + </listitem> + </varlistentry> + + <varlistentry> <term><option>-fwarn-incomplete-patterns</option>:</term> <listitem> <indexterm><primary><option>-fwarn-incomplete-patterns</option></primary></indexterm> |