On 18 March 2014 01:36, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:

I'd like to see a solution to inlining along the lines of "pliz pliz inline" (best effort) and "never inline".

Outlining only at a specific call site is seldom needed and when it is it's trivially achievable with a noinline function forwarding to the inline function. Inlining only at a specific call site is a tall order and essentially impossible if header generation had been used.

I don't follow, how does that work?
It's the key innovation here. Since D doesn't have macros, I think it's something that really needs to be supported nicely.
Obviously it's impossible if source is unavailable. It should give the same complaints that CTFE gives when source is unavailable.