<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 1/31/2016 8:04 AM, Bert Freudenberg
      wrote:<br>
    </div>
    <blockquote
      cite="mid:1C229F09-F776-4EF5-86D2-4ABB30F99FEA@freudenbergs.de"
      type="cite">
      <pre wrap=""> </pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">Uh, nice brain twister.

It sounds obvious at first that if an object had a reference to itself, this invariant would stay even when exchanging its identity.

But actually “become” means that every slot that was pointing to the one object is now pointing to the other. So yes, that array now must point to the new object if it formerly pointed to the array.

With a one-way “b becomeForward: a” of course it’s different, because only references to ‘b’ are replaced with references to ‘a’, references to ‘a’ are not touched at all.

So David’s right, there is no bug.

- Bert -

</pre>
    </blockquote>
    <br>
    Thank you, Bert, for spelling it out.<br>
    I needed the slot visualization to dispel the confusion<br>
    <br>
    Florin
  </body>
</html>