3
votes

I've heard D can execute arbitrary user code at compile time. Is this true? Could someone give an example (particularly when compilation never terminates)? What this feature is for? Also if that's so is there a way to disable this with some compiler option (compiler is dmd)?

1
not arbitrary code, only pure functions can be done at compile time - ratchet freak

1 Answers

5
votes

Yes, it's partially true. D has compile time function execution, i.e. it has the ability of executing functions at compile time. But such functions are required to be both portable and free of side effects.

You will find an in-depth explanation in the official documentation of the D language.