Oct. 26, 2009
6:07 p.m.
For traits, requirements were programmatically inferred instead of using #explicitRequirement.
In the original traits implementation, inference of requirements was necessarily incomplete. For example, if a method says self add: x or self class new: n we would infer a requirement of add: n the instance side and new: on the class side. However, if the method said self copyEmpty add: x we would not infer a requirement of add: In these cases we included a method definition add: anObject self explicitRequirement to tell the tools that add: was a required method. We used this very rarely, since most of the time the inference of required methods worked very well. Andrew