On Thursday, 9 August 2018 at 20:02:41 UTC, Jonathan M Davis wrote:
On Thursday, August 9, 2018 7:15:58 AM MDT aliak via Digitalmars-d-learn wrote:
[...]

It's failing, because you got the condition backwards. __ctfe is true during CTFE and false during runtime. Your code has

if(__ctfe)
    writeln("log it");

which means that it will attempt to run writeln at compile time, whereas if you used

if(!__ctfe)
    writeln("log it");

it would skip it at compile time. The problem isn't that writeln is being compiled in. The problem is that it's being encountered when CTFE is running the code. So, a static if is unnecessary. You just need to get the condition right.

- Jonathan M Davis

Haha doh! Backwards it was. Thanks!

Reply via email to