digitalmars.D.bugs - [Issue 19410] New: Inconsistency between __traits(allMembers) and
- d-bugmail puremagic.com (26/26) Nov 18 2018 https://issues.dlang.org/show_bug.cgi?id=19410
https://issues.dlang.org/show_bug.cgi?id=19410 Issue ID: 19410 Summary: Inconsistency between __traits(allMembers) and __traits(hasMember) for nested structs Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: stanislav.blinov gmail.com void main() { struct S { ~this() {} } foreach (name; __traits(allMembers, S)) static assert(__traits(hasMember, S, name)); } The above will assert: __traits(allMembers) reports that S has a member "this" (the context pointer), but __traits(hasMember) insists that it doesn't. Perhaps "this" could be renamed to "__context", and made visible to __traits(hasMember)? --
Nov 18 2018