[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 --- Comment #11 from Dlang Bot --- dlang/dmd pull request #12135 "[dmd-cxx] Fix Issue 15371 - __traits(getMember) should bypass the protection" was merged into dmd-cxx: - 286cb9c2f46610bc3874301dae9264f28939051f by Iain Buclaw: [dmd-cxx] Fix Issue 15371 - __traits(getMember) should bypass the protection https://github.com/dlang/dmd/pull/12135 --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 Dlang Bot changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED --- Comment #10 from Dlang Bot --- dlang/dmd pull request #9585 "Fix Issue 15371 - __traits(getMember) should bypass the protection" was merged into master: - bd44bc789d98baf85d2b07cf6858c573c9be by RazvanN7: Fix Issue 15371 - __traits(getMember) should bypass the protection https://github.com/dlang/dmd/pull/9585 --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 Dlang Bot changed: What|Removed |Added Keywords||pull --- Comment #9 from Dlang Bot --- @RazvanN7 created dlang/dmd pull request #9585 "Fix Issue 15371 - __traits(getMember) should bypass the protection" fixing this issue: - Fix Issue 15371 - __traits(getMember) should bypass the protection https://github.com/dlang/dmd/pull/9585 --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 RazvanN changed: What|Removed |Added CC||razvan.nitu1...@gmail.com See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=19761 --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 b2.t...@gmx.com changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|WONTFIX |--- --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 b2.t...@gmx.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WONTFIX --- Comment #8 from b2.t...@gmx.com --- With the direction took by https://github.com/dlang/dmd/pull/6078 this improvement is now impossible. --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 --- Comment #7 from b2.t...@gmx.com --- related https://issues.dlang.org/show_bug.cgi?id=10267 --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 Martin Nowakchanged: What|Removed |Added CC||c...@dawg.eu --- Comment #6 from Martin Nowak --- (In reply to b2.temp from comment #3) > Also if a template would be instantiated in the module that use it... Well, there are plenty of reasons to not do that, foremost being that template instantiations should be independent of instantiation scope. That's why we have mixin template as an alternative. --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 Jacob Carlborgchanged: What|Removed |Added CC||d...@me.com --- Comment #5 from Jacob Carlborg --- A pointer can be used as well to bypass the protection. It works for other symbols than fields. --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 --- Comment #4 from b2.t...@gmx.com --- In the meantime, when the trait code is for a struct or a class it's possible to use its '.tupleof' property. It's not affected by the visibility. Instead of all member: import std.meta: aliasSeqOf; import std.range: iota; foreach(i; aliasSeqOf!(iota(0, T.tupleof.length))) { alias MT = typeof(T.tupleof[i]); ... } This is not exactly the same but when the trait code is to inspect the variable types or UDAs it works fine. --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 --- Comment #3 from b2.t...@gmx.com --- Also if a template would be instantiated in the module that use it... --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 --- Comment #2 from bb.t...@gmx.com --- https://github.com/D-Programming-Language/dmd/pull/5289 On n'est jamais mieux servi que par soi-même. --
[Issue 15371] __traits(getMember) should bypass the protection
https://issues.dlang.org/show_bug.cgi?id=15371 --- Comment #1 from bb.t...@gmx.com --- something like that: https://github.com/Blumerline/dmd/commit/53419e71b93b0870574d93cbb83ebb7ccbb5e325 or maybe change in the Scope struct the module that indicates where the template should be instantiated (since it function that contains traits code will always be a template). --