On Sunday, 24 March 2019 at 18:59:45 UTC, Adam D. Ruppe wrote:
Think of mixin() not as pasting code per se, but pasting an AST
node inside the compiler's data structures. It must be a
complete node of that tree that can be substituted in.
And because AST Nodes aren't expressions means you can
On Sunday, 24 March 2019 at 18:18:39 UTC, sighoya wrote:
Hmm..., sounds like bad news. Is there any mixin technology for
statements?
mixin() works for statements too.
It is the *context* though. If mixin() appears where the compiler
expects an expression, it must give an expression. Ditto for
On Sunday, 24 March 2019 at 18:43:51 UTC, Paul Backus wrote:
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; }";
}
b
On Sunday, 24 March 2019 at 18:18:39 UTC, sighoya wrote:
Hmm..., sounds like bad news. Is there any mixin technology for
statements?
There was a recent thread on this.
https://forum.dlang.org/post/mailman.6499.1547823247.29801.digitalmar...@puremagic.com
However, do you have a clear use cas
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: templ
On Sunday, 24 March 2019 at 16:57:25 UTC, Rémy Mouëza wrote:
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): E
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: templ
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