String Mixins & Compile Time Evaluation
Don
nospam at nospam.com
Tue Nov 17 02:07:24 PST 2009
Travis Boucher wrote:
> I've been playing with string mixins, and they are very powerful.
>
> One thing I can't figure out is what exactly can and cannot be evaluated
> at compile time.
>
> For example:
>
> ----
> char[] myFunc1() {
> return "int a = 1;";
> }
>
> char[] myFunc2() {
> char[] myFunc3() {
> return "int b = 2;";
> }
> return myFunc3();
> }
>
> void main() {
> mixin(myFunc1());
> mixin(myFunc2());
> }
> ----
>
> myFunc1() can be used as a string mixin.
> myFunc2() can't be.
I think you're using an old version of DMD. It's been working since
DMD1.047. Please upgrade to the latest version, you'll find it a lot
less frustrating.
The bottom of "function.html" in the spec gives the rules.
Though it says nested functions aren't supported, but they are.
More information about the Digitalmars-d-learn
mailing list