Finally I got some spare time for coding.
So, after quite a bit of help from Florian (Thank you!), the implements-keyword is.... well, IMPLEMENTED! Finally!
It's not yet in trunk, but it will be soon.
As far as I can tell, it's completely hack-free, but I will submit the revisions as patches for code review.
The code is still not complete, and there are some needed changes that will happen when I can find the time (for instance, what's the procedure to add new compiler messages? should I just add them to errore.msg?)
The current version of the patch adds 2*sizeof(pointer) to each TInterfaceEntry. That might seem like a lot, but with bitpacking this can be brought down to just 1*sizeof(pointer).
Now, to make the bitpacking I need to be able to assume VMT's are always aligned to at least 4-byte boundaries. I think this is a safe assumption, but maybe it's not?
(if this is not possible, it's not a huge problem, just a slight waste of space)
I'd be happy to answer any questions, or hear any comments regarding this new feature.
