On Monday, 1 October 2012 at 22:47:48 UTC, Timon Gehr wrote:


A D compiler is also a D interpreter. I wouldn't even bother with D if this wasn't the case.

A D compiler _contains_ a limited interpreter for constant expression evaluation. This has limitations such as not being able to perform IO at compile-time (there's a special pragma for that). This is merely an outgrowth of a compiler optimization technique.

Now, back on topic:
I agree with Jonathan - in general the compiler can't evaluate _all_ functions at-compile time due these limitations of CTFE and adding a compiler flag will make compilation times far worse than c++. Adding a function attribute adds marginal benefit over simply assigning to a static/enum variable.

Reply via email to