Maybe just use mixin template? mixin template f(alias values) { static foreach(v;values) mixin("bool " ~ v ~ " = false;"); } int main() { enum string[] a=["a","b"]; mixin f!a; return 0; }