On Thursday, 17 September 2020 at 22:07:54 UTC, Simen Kjærås
wrote:
Usually, that would be:
struct V {
int x;
mixin assign!"+" a;
mixin assign!"-" b;
alias opOpAssign = a.opOpAssign;
alias opOpAssign = b.opOpAssign;
}
However, I can't seem to get that working. It seems to be an
instance of this issue:
https://issues.dlang.org/show_bug.cgi?id=18118
Yes, I tried that. It didn't work so I assumed that it must have
been wrong. Is this a bug in the compiler or an issue in the
language specification?
btw, I'm somewhat surprised by your use of a template this
parameter
(https://dlang.org/spec/template.html#template_this_parameter).
Generally this will work, but you're probably better off with
ref auto opOpAssign(string op)(typeof(this) rhs) if (op ==
op_)
I learned it from here: http://ddili.org/ders/d.en/mixin.html,
could you elaborate on why this is not advisable?