Folks -
With the last set of updates traits have finally become un- and reloadable. To unload traits, execute:
Trait unloadTraits.
This will flatten any existing traits and convert them into classes. The trait related information is stored in the #traitInfo method (browse the senders of #traitInfo after unloading to see how that looks). If you run the tests, the only new failures should be traits related tests (for the obvious reasons; unload the TraitsTests package to get them out of the way).
Reloading simply works by loading the traits package again, for example:
(Installer repository: 'http://source.squeak.org/trunk') install: 'Traits'.
Once loaded, the original traits will be restored if the information in #traitInfo is still present, meaning that the round trip conversion is lossless.
In the process I noticed a problem with MC diff handling of traits. You may have to "flush cached versions" in MC after updating or otherwise the Traits package may be shown as dirty. I think that's our SS server again acting strangely with regards to diffs.
Cheers, - Andreas
squeak-dev@lists.squeakfoundation.org