(Replying to PARENT post)

I agree! But the compile-time interpreter isn't really "full". For example, you can't do arbitrary I/O in a compile-time expression (by design). Non-portable casts and inline ASM are other exceptions. See [1] for the full story.

[1]: https://dlang.org/spec/function.html#interpretation

๐Ÿ‘คgmfawcett๐Ÿ•‘9y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

If inline asm or non-portable casts were allowed, D programs would compile inconsistently on different architectures. Compile time IO doesn't make much sense either. Not all limitations are shortcomings.
๐Ÿ‘คShoop๐Ÿ•‘9y๐Ÿ”ผ0๐Ÿ—จ๏ธ0