On Tuesday, 4 June 2013 at 07:12:34 UTC, Walter Bright wrote:
There is another way.

D can be made aware that it is building an executable (after all, that is why it invokes the linker). If you shove all the source code into the compiler in one command, for an executable, functions that are not overridden can be made final.

To do so, the compiler must know which function can be overriden in shared object (to not finalize them) and which can't.

The whole thing can also be made a link time optimization, so separate compilation model isn't broken.

It require strong (stronger that what we have now) enforcement of export.

Reply via email to