From f1d94f7b61a91b7898376badd757fee9091a85ca Mon Sep 17 00:00:00 2001 From: simonpj Date: Tue, 10 Aug 2004 11:35:24 +0000 Subject: [PATCH] [project @ 2004-08-10 11:35:24 by simonpj] Add a Haddock note about dynamic linking --- Data/Typeable.hs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Data/Typeable.hs b/Data/Typeable.hs index 3e5b7c2..69ed9a0 100644 --- a/Data/Typeable.hs +++ b/Data/Typeable.hs @@ -18,6 +18,15 @@ -- and type-safe cast (but not dynamics) to support the \"Scrap your -- boilerplate\" style of generic programming. -- +-- Note, only relevant if you use dynamic linking. If you have a program +-- that is statically linked with Data.Typeable, and then dynamically link +-- a program that also uses Data.Typeable, you'll get two copies of the module. +-- That's fine, but behind the scenes, the module uses a mutable variable to +-- allocate unique Ids to type constructors. So in the situation described, +-- there'll be two separate Id allocators, which aren't comparable to each other. +-- This can lead to chaos. (It's a bug that we will fix.) None of +-- this matters if you aren't using dynamic linking. +-- ----------------------------------------------------------------------------- module Data.Typeable -- 1.7.10.4