Mixin Expressions, can't evalutate string variable
Tomek Sowiński
just at ask.me
Thu Aug 5 12:34:44 PDT 2010
Andrej Mitrovic napisał:
> Hmm.. ok. Adding immutable helps. I'm still a bit confused tho,
> because this will not compile:
>
> string input2 = "int y;";
> mixin(input2);
input2 is mutable, so theoretically there's no telling what value it holds.
> But this will compile:
>
> immutable string input2 = "int y;";
> mixin(input2);
And good.
> And this too will compile:
>
> string returnString(string input)
> {
> return input;
> }
>
> mixin(returnString("int y;"));
Because the function is *nice*, compiler can evaluate the call at compile-time (see my other post). Somewhere on the D page (Lang. Ref. >
Functions ?) there's a largish explanation what's *nice*.
Tomek
More information about the Digitalmars-d
mailing list