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.

Reply via email to