It has to be in a single function. Suppose you have a variety of modules each of which has a variety of types. And you need to compose a compile-time string which involves all those types and you need to mix that string in at some point. You can't do that.<div class="gmail_extra">
<br><br><div class="gmail_quote">On Tue, Nov 27, 2012 at 4:33 PM, Jacob Carlborg <span dir="ltr"><<a href="mailto:doob@me.com" target="_blank">doob@me.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 2012-11-27 12:28, Gor Gyolchanyan wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Basically the most important thing I miss is mutable compile-time<br>
variables. That's it. Everything else can be worked around.<br>
</blockquote>
<br></div>
This compiles just fine and prints "10" at compile time:<br>
<br>
int foo ()<br>
{<br>
    int i = 0;<br>
    for (; i < 10; i++) {}<br>
    return i;<br>
}<br>
<br>
enum i = foo();<br>
pragma(msg, i);<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
/Jacob Carlborg<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>Bye,<br>Gor Gyolchanyan.<br>
</div>