On Sun, 18 Mar 2012 02:23:31 +0100, Manu <turkey...@gmail.com> wrote:
The virtual model broken. I've complained about it lots, and people
always
say "stfu, use 'final:' at the top of your class".
That sounds tolerable in theory, except there's no 'virtual' keyword to
keep the virtual-ness of those 1-2 virtual functions I have... so it's no
good (unless I rearrange my class, breaking the logical grouping of stuff
in it).
So I try that, and when I do, it complains: "Error: variable
demu.memmap.MemMap.machine final cannot be applied to variable",
allegedly
a D1 remnant.
So what do I do? Another workaround? Tag everything as final
individually?
class Foo {
final {
// Final functions here.
}
// Virtual functions here.
}
Good?
My minimum recommendation: D needs an explicit 'virtual' keyword, and to
fix that D1 bug, so putting final: at the top of your class works, and
everything from there works as it should.
I agree that a virtual keyword would sometimes be a boon. With the solution
outlined above, I find it a minor nit, though.