But, in trying to decipher the error message, I thought it might be referring to the new constant. I'm still mystified as to what the error message means, or what it refers to, or why I got it. Perhaps, as Yoshiki suggests, it's a bug. (The image which I'm using is 3.9-final-7067.)
Perhaps? It is a bug, and that is nasty enough to confuse a newbie. In a sense, the logic bug has been around since 2001, when DeepCopier>>checkClass: as written in a way that provides a short-term fulfilment with some assumptions. Then, the casual addition of method properties at 3.9 broke the assumptions and now you see the problem.
What fixed it? I recompiled Float, and then reinitialized it. Now I can file out the new change set without getting the error message. But, being a newbie, I don't know why this fixed it (since it was recompiled when I first added the new class constant, and I had also reinitialized the Float class after that). And I still have no idea what the error message means. And looking at the comments in DeepCopier didn't help a bit.
Heh, you also need to look at the code^^;
If you add Phi to Float, and open the change sorter and select Float, you see a message that says: "Class definition was changed."
Then, if you look at the code ChangeSet>>fileOutClassDefinition:on:, it has a block:
(self atClass: class includes: #change) ifTrue: [...]
the check is wrong. if the change is only the class variables, it shouldn't be true.
So, you probably created a new change by entering a new project or such. And the change doesn't know about the class var addition. Then, it wouldn't complain.
-- Yoshiki