I studied the code and.. it *looks* like you are correct, but let me say you should do some good testing to be sure yourself.
The interesting thing is, it looks like I started to work on this issue at one point, check out the method Set>>#maStreamVariablyInto:for:. In there it actually accounts for additional instVars beyond the 'array' and 'tally'.. Interesting.
But its unfinished, of course, because Set class>>#maLoadVariableObjectFrom: and Set>>#maEstablishPointerReferencesUsing: do not have the same consideration.. They merely use Sets public API (#do:, #add:, etc.) to do the work so it seems like your assumption should work. Please proceed with caution and test it real well though..
Regards, Chris
--- Keith Hodges Keith.Hodges@warwick.ac.uk wrote:
So am I correct if I assume that KeyedSet will work if you do not define a keyBlock since it will use a default. Thus the easiest work around is to ensure that all the objects in the set provide a #key for now.
I for one will leave proper fixes until I have some spare time.
Keith
___________________________________________________________ Now you can scan emails quickly with a reading pane. Get the new Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html _______________________________________________ Magma mailing list Magma@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/magma