actually I just realized there is a bug, in the 2nd case of collect_fields:

else static if (members[0] == "this")
  return [];

Should be:

else static if (members[0] == "this")
  return collect_fields!(T, attribute, members[1..$]);

Otherwise the method craps out on the constructor and returns an incomplete list.

Reply via email to