On Monday, 19 August 2013 at 21:33:08 UTC, H. S. Teoh wrote:
Inside this
archive, template instantiations are organized according to the
module
hierarchy -- i.e., if you import std.stdio and use writeln, the
instantiation of writeln will be put into std/stdio/writeln_*.o
in
templates.a, NOT the root module.
Ok. Now you change the signature of writeln. Incremental rebuild.
Will you do reflection upon the object file in templates.a to get
the list of required instances? Or rebuild all modules that
import std.stdio even indirectly? Most likely latter, because it
also could have been inlined in several places and those need to
be rebuilt too.
To track modules that actually use that template instance one
needs implementation from my proposal #1 anyway :(