[Issue 16343] Incorrectly requiring this pointer for a free function

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jun 20 11:41:34 UTC 2019


Basile-z <b2.temp at gmx.com> changed:

           What    |Removed                     |Added
                 CC|                            |b2.temp at gmx.com

--- Comment #6 from Basile-z <b2.temp at gmx.com> ---
In a way the message about "this" is not bogus. It has not been mentioned but
if you set func "static" then the code works.

struct S
    int i;

void main()
    foreach(memberName; __traits(allMembers, S))
        func!(__traits(getMember, S, memberName));

static void func(alias member)()
    auto protection = __traits(getProtection, member);
    alias Type = typeof(member);
    auto name = __traits(identifier, member);

The real bug is that "func" seems to be injected in "S" (or considered as
member of) for some reasons.


More information about the Digitalmars-d-bugs mailing list