[Issue 15371] __traits(getMember) should bypass the protection

2021-01-17 Thread d-bugmail--- via Digitalmars-d-bugs
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

2019-04-12 Thread d-bugmail--- via Digitalmars-d-bugs
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

2019-04-10 Thread d-bugmail--- via Digitalmars-d-bugs
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

2019-03-26 Thread d-bugmail--- via Digitalmars-d-bugs
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

2017-04-23 Thread via Digitalmars-d-bugs
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

2016-08-30 Thread via Digitalmars-d-bugs
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

2016-08-27 Thread via Digitalmars-d-bugs
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

2016-08-12 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15371

Martin Nowak  changed:

   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

2016-06-01 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15371

Jacob Carlborg  changed:

   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

2016-05-31 Thread via Digitalmars-d-bugs
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

2016-01-18 Thread via Digitalmars-d-bugs
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

2015-12-01 Thread via Digitalmars-d-bugs
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

2015-11-21 Thread via Digitalmars-d-bugs
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).

--