If I'm not mistaken isn't the "code" I'm trying to generate still in a string?
Well, yes, but not when you mix it in. It's a string mixin in this case, not a template mixin.
(you've unfortunately left out the most important part at `//build your code here`)
Because it's just simple string operations using the entire language/Phobos/whatever to get the code you want. And then, you mix it in.
With a string mixin, this gives:
string genStruct(string stringname)
{
return
"struct " ~ stringname ~ "
{
//....
}";
}
mixin(genStruct("s1"));
mixin(genStruct("s2"));
static assert(is(s1));
static assert(is(s2));
void main() {}