On Sunday, 24 March 2019 at 16:18:49 UTC, sighoya wrote:
Why

auto GenIf()()
{
return mixin("if(true) { return true;} else {return false;}");
}

public bool testFunction2()
{
    GenIf!();
}


gives me:

onlineapp.d-mixin-3(3): Error: expression expected, not if
onlineapp.d(8): Error: template instance `onlineapp.GenIf!()` error instantiating

You can't return the result of a string mixin from a function. Instead, return a string from your `GenIf` function, and mix it in at the call site:

string GenIf()
{
    return "if (true) { return true; } else { return false; }";
}

bool testFunction()
{
    mixin(GenIf());
}

Reply via email to