Wow, I figured out a trick. Check it out, two modules: 1. fieldwrite.d: module fieldwrite;
import std.string;
import std.stdio;
import std.conv;
mixin template field(string T)
{
struct FieldTemp
{
this(string str)
{
writefln(str ~ " = %s", mixin(T));
}
}
FieldTemp fieldTemp = FieldTemp(T);
}
2. driver.d:
import std.stdio;
import fieldwrite;
struct S
{
int x;
int y;
}
void main()
{
S s;
s.x = 1;
s.y = 2;
mixin field!"s.x";
mixin field!"s.y";
}
