[squeak-dev] Object >> #copyFrom: vs Object >> #copySameFrom:

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Fri Jan 3 17:44:17 UTC 2020

Hi all,

I don't get the actual difference between #copyFrom: and #copySameFrom:.

The latter looks more "modern" to me, as it uses a primitive and has several implementors.

In my opinion, none of them actually matches its description ("Copy to myself all instance variables [named the same in | I have in common with] otherObject"). The following leaves o2 empty:

c1 := Object newUniqueClassInstVars: 'foo bar' classInstVars: ''.
c2 := Object newUniqueClassInstVars: 'bar foo' classInstVars: ''.
o1 := c1 new
instVarNamed: #foo put: 6;
instVarNamed: #bar put: 7.
o2 := o1 as: c2.
o2 instVarAt: 1 "nil".

o2 copySameFrom: o1.
o2 instVarAt: 1 "nil".

Question: Could we deprecate #copySameFrom:, and in #copyFrom:, copy *all* matching instvars without respecting their order? Or did I miss any intended difference in behavior?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200103/aea942e6/attachment.html>

More information about the Squeak-dev mailing list