Make AutoDeriveTypeable imply DeriveDataTypeable
authorJose Pedro Magalhaes <jpm@cs.ox.ac.uk>
Fri, 8 Mar 2013 08:04:37 +0000 (08:04 +0000)
committerJose Pedro Magalhaes <jpm@cs.ox.ac.uk>
Fri, 8 Mar 2013 10:43:45 +0000 (10:43 +0000)
compiler/main/DynFlags.hs
docs/users_guide/flags.xml
docs/users_guide/glasgow_exts.xml

index 479516d..b179420 100644 (file)
@@ -2728,6 +2728,9 @@ impliedFlags
     , (Opt_TypeFamilies,     turnOn, Opt_KindSignatures)  -- Type families use kind signatures
     , (Opt_PolyKinds,        turnOn, Opt_KindSignatures)  -- Ditto polymorphic kinds
 
+    -- AutoDeriveTypeable is not very useful without DeriveDataTypeable
+    , (Opt_AutoDeriveTypeable, turnOn, Opt_DeriveDataTypeable)
+
     -- We turn this on so that we can export associated type
     -- type synonyms in subordinates (e.g. MyClass(type AssocType))
     , (Opt_TypeFamilies,     turnOn, Opt_ExplicitNamespaces)
index 299b4d5..f5f51b0 100644 (file)
           </row>
           <row>
             <entry><option>-XAutoDeriveTypeable</option></entry>
-            <entry>Automatically <link linkend="auto-derive-typeable">derive Typeable instances for every datatype and type class declaration</link>.</entry>
+            <entry>Automatically <link linkend="auto-derive-typeable">derive Typeable instances for every datatype and type class declaration</link>.
+            Implies <option>-XDeriveDataTypeable</option>.</entry>
             <entry>dynamic</entry>
             <entry><option>-XNoAutoDeriveTypeable</option></entry>
           </row>
index 03682bf..16d180a 100644 (file)
@@ -3434,7 +3434,8 @@ can be mentioned in the <literal>deriving</literal> clause.
 <para>
 The flag <option>-XAutoDeriveTypeable</option> triggers the generation
 of derived <literal>Typeable</literal> instances for every datatype and type
-class declaration in the module it is used.
+class declaration in the module it is used. This flag implies
+<option>-XDeriveDataTypeable</option> (<xref linkend="deriving-typeable"/>).
 </para>
 
 </sect2>