> In general, initialize method is not guaranteed to be called on every > object allocation. So I don't consider this as a bug. ??????? I saw that already with - Array#[] returning an object of the subclass without calling #initialize, - exception objects created by #raise (in fact #exception) so I know that it is the case But can you explain me why *conceptually* you see that as good practice. I find very puzzling that #initialize is not guaranteed to be called, since it leaves the object un-initialized. Regards, Sylvain Joyeux