Alek Storm wrote:
I understand entirely how both features work. I should, as I implemented large sections of the code dealing with vtable overriding. Perhaps you should check the code, because they are *not* stored separately from each other. In the current revision, :vtable and :method used together stores the sub as a vtable entry and as a visible method. Adding :anon detaches it from the namespace. For the new PDD15 implementation, once #42406 and #42407 are committed, I plan to rework how they're stored internally, but that isn't relevant to our discussion of the interface.

Yes, that's how they're implemented now. Currently, in order to use the common feature of overriding the vtable entry without polluting the namespace you have to specify ":vtable :method :anon". Which is huge progress over what we had before (you used to override a vtable by creating a .sub prefixed with "__").

I'm talking about how they will be implemented for PDD15. Methods and vtables will be stored separately, because it will be quite common to have vtable entries with no corresponding method, and methods with no corresponding vtable entry. The interface is intended to reflect the same fact.

Allison

Reply via email to