On Wednesday, 2 March 2016 at 12:48:47 UTC, Daniel Kozak wrote:
On Wednesday, 2 March 2016 at 12:27:04 UTC, Adrian Matoga wrote:
(...)
You can use string mixins:
template AddField(T) {
enum AddField = T.stringof ~ ` b;
this(Args...)(` ~ T.stringof ~ ` b, auto ref Args args)
{
this.b = b;
this(args);
}`;
}
struct Bar {
mixin(AddField!string);
int a;
this(int a) { this.a = a; }
}
unittest {
auto bar1 = Bar(5);
auto bar2 = Bar("bar", 15); // line 31
}
What if T is private type in some other module or, even worse, a
Voldemort type?