On Saturday, 1 March 2014 at 05:39:24 UTC, Meta wrote:
Hmm, I didn't know that. Interesting. I think this was a mistake
on Andrei's part, though. The concept of enumerations doesn't
have anything to do with evaluating an expression at compile time

It doesn't.

enum x = expression;

is the same as

enum
{
     x = expression
}

and minding this trivial rewrite, it generally acts in exactly
the same way as C++ and other languages (plus D's CTFE
capabilities, naturally).

That the compiler has to fully evaluate the expression, CTFE
included, to calculate the value of x, is an obvious consequence
of enum semantics.

Reply via email to