On Thursday, 22 August 2013 at 14:18:09 UTC, Brian Rogoff wrote:
See this brief discussion from Greg Morrisett on the topic,
with a finer subdivision of approaches
http://www.eecs.harvard.edu/~greg/cs256sp2005/lec15.txt
that confirms your bad news that monomorphization (C++/D
templates) and separate compilation won't play well together.
Nor do monomorphization and some advanced type system features
work together, but that's less of a worry for D.
Well, in that paper they make a bit too hard statement - such
model implies certain limitations for separate compilations
(either explicit instantiation or having access to sources) but
does not destroy completely. No silver bullet here, every
approach has its own pros and cons.
As have been discussed recently, ancient object file / linker
tool stack harms it much more when comes to practice.