Andreas Raab uploaded a new version of Traits to project The Trunk:
http://source.squeak.org/trunk/Traits-ar.279.mcz==================== Summary ====================
Name: Traits-ar.279
Author: ar
Time: 2 February 2010, 8:33:55.237 pm
UUID: 91a4303d-4277-b74e-a5ff-6af70a550876
Ancestors: Traits-ar.278
Fixes the traits bug masked by the issues with Class>>binding. When recompiling a selector/method pair, the original trait method needs to be preserved if the method came from a trait. Otherwise the method will be considered a locally defined method after the reshape which is incorrect.
=============== Diff against Traits-ar.278 ===============
Item was added:
+ ----- Method: ClassDescription>>recompile:from: (in category '*Traits-NanoKernel') -----
+ recompile: selector from: oldClass
+ "Preserve the originalTraitMethod (if any) after recompiling a selector"
+ | oldMethod |
+ oldMethod := oldClass compiledMethodAt: selector.
+ super recompile: selector from: oldClass.
+ oldMethod originalTraitMethod ifNotNil:[:traitMethod|
+ (self compiledMethodAt: selector) originalTraitMethod: traitMethod.
+ ].
+ !