I'm sorry, didn't get what you point with the code snippet. The copy of the Symbol is the same instance, that I think it's nto GCed.
Guille:
Yes, I knew the internals of the WeakValueDictionary but asked about the API. What I don't know is about using��WeakRegistry and Ephemerons. I'll check��WeakKeyDictionary.��
I understand the idea of "explicit control of magic", but not sure if I understand concretely. Do you mean to implement something like��WeakValueDictionary>>register which will not be executed by #initialize, so the user can decide to register. Am I right?
Denis:
+1 WeakSet behavior is really confusing! In thte case of WeakValueDictionary I didn't check for inconsistencies but was only annoyed but it's behavior.
Guille and Denis:
Instead of using SetElement or cleaning up the empty WeakValueAssociations, what I first thought is to internally consider an association with nil as absent. I mean, modify or override some methods soem when there is an��WeakValueAssociation with value == nil it considers it's absent.��Concretely, I'd expect: