On Thursday, 13 February 2020 at 15:38:37 UTC, Steven Schveighoffer wrote:
On 2/13/20 9:47 AM, aliak wrote:
[...]

Not sure about your error, but here is a working version (don't use mixins, use __traits(getMember)):

import std.meta;
template ListOfStructs(alias mod)
{
enum isStruct(string m) = is(__traits(getMember, mod, m) == struct);
    alias getMember(string m) = __traits(getMember, mod, m);
alias ListOfStructs = staticMap!(getMember, Filter!(isStruct, __traits(allMembers, mod)));
}

-Steve

It works without the mixin indeed! Thank you!

Reply via email to