Dictionary-atFail is broken. It works when called by itself, but the
reference in Object-dependants causes very weird behavior.
Point(0, 0).dependants
You would expect this to output nil, but instead it posts a blank line.
Point(0, 0).dependants.inspect
Also outputs a blank line -- the object inspector does not open.
(
Point(0, 0).dependants.do({ "loop".postln });
"done".postln;
)
You would expect this to post "done" -- but it doesn't.
The bug is fixed by changing Object-dependants, removing the call to atFail:
dependants {
^dependantsDictionary.at(this) ?? { ^IdentitySet.new };
}