Nicholas Wilson wrote:

Also not generating the code in the first place means less I/O for the compiler and less work for the linker.
this is solvable without any additional flags, tho: compiler should just skip codegen phase for any function that is not referenced by another compiled function (except for library case).


I definitely don't want D to become C++. What is smartlinking?
any decent linker simply drops anything that is not reveferenced. i.e. any function that is not referenced from another function that is definitely included in the binary, will be skipped. as linker knows program entry point, it is able to build reference tree, and do "smart" linking instead of just putting everything into resulting binary.


This is intended for stuff like code that generates strings for mixins.
as i said, this is something compiler can do automatically, without user's help. we already have too much attributes, i believe, adding even more won't do any good.

Reply via email to