summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/users_guide/safe_haskell.xml6
1 files changed, 6 insertions, 0 deletions
diff --git a/docs/users_guide/safe_haskell.xml b/docs/users_guide/safe_haskell.xml
index 07da84fe16..abca32a71f 100644
--- a/docs/users_guide/safe_haskell.xml
+++ b/docs/users_guide/safe_haskell.xml
@@ -293,6 +293,12 @@
compilation error will occur. A simple way to think of this is a
<emphasis>same origin policy</emphasis> for overlapping instances
defined in Safe compiled modules.</listitem>
+ <listitem><emphasis>Data.Typeable</emphasis> &mdash; We restrict Typeable
+ instances to only derived ones (offered by GHC through the
+ <link linkend="deriving-typeable"><option>-XDeriveDataTypeable</option>
+ </link> extension). Hand crafted instances of the Typeable type class
+ are not allowed in Safe Haskell as this can easily be abused to
+ unsafely coerce between types.</listitem>
</itemizedlist>
</sect2>