Checking if CTFE is used?

berni someone at somemail.de
Tue Dec 18 12:21:44 UTC 2018


Is there a way to check if a function is indeed executed at 
compile time or not? (Other than going through the whole 
executable binaries...)

I tried

> static this()
> {
>   if (__ctfe) pragma(msg,"works");
>   // some other stuff
> }

but unfortunatley this "if" is also executed at compile time, 
when I put it into a function that is only called at runtime. 
When I try "static if" instead the compiler complains about 
"__ctfe" being not known at compile time.


More information about the Digitalmars-d-learn mailing list