Browse thread
understanding weak
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2008-10-31 (19:13) |
From: | Aleksey Nogin <nogin@m...> |
Subject: | Re: [Caml-list] understanding weak |
On 31.10.2008 07:57, Martin Jambon wrote: > let x = (1, 2);; > let wa = Weak.create 10;; > Weak.set wa 0 (Some x);; > ... > print_int (fst x);; > > (fst x) would certainly cause funny effects if x were GC'ed at an > arbitrary time after it has been added to the weak array. > > An object can be reclaimed by the GC only if there is no reference to > it. This remains true. Adding an object to a weak array just doesn't > count as a reference. > Martin, You are answering the wrong question - you are answering "could x be GCed too early?" - the answer is obviously "no". However, the initial question was "could (Some x) be removed from wa too early by GC - before x is orphaned?" The answer is "we'd hope not", but the documentation is somewhat ambiguous. Aleksey