On Monday, 8 July 2013 at 12:08:39 UTC, Dicebot wrote:
On Monday, 8 July 2013 at 11:56:40 UTC, JS wrote:
...

CTFE has nothing to do with it.

void main()
{
        import std.stdio;
        int i = 0;      
        writeln(i == 0 ? i : i++);
        writeln(i);
}

"i++" is evaluated lazy here. I don't know if it is a bug or matches the spec.

Nothing wrong with that. It's the normal behaviour in C, and it makes perfect sense if you just expand the ternary out to if/else.

Reply via email to