digitalmars.D.learn - getSymbolsByUDA does not take private symbols under consideration.
- Piotr Mitana (15/15) Feb 16 2018 Hello,
- Anonymouse (4/19) Feb 16 2018 getSymbolsByUDA seems to have some visibility thing going on.
- bauss (2/17) Feb 16 2018 It's definitely a bug!
Hello, The code below: ================ import std.traits; enum Attr; class MyClass { private Attr int a; static assert(getSymbolsByUDA!(typeof(this), MyClass).length == 1); } ================ does not compile as static assertion fails. Making the filed a public makes it compile properly. Should I file a bug or is by design?
Feb 16 2018
On Friday, 16 February 2018 at 09:26:47 UTC, Piotr Mitana wrote:Hello, The code below: ================ import std.traits; enum Attr; class MyClass { private Attr int a; static assert(getSymbolsByUDA!(typeof(this), MyClass).length == 1); } ================ does not compile as static assertion fails. Making the filed a public makes it compile properly. Should I file a bug or is by design?getSymbolsByUDA seems to have some visibility thing going on. Related to https://issues.dlang.org/show_bug.cgi?id=17973 perhaps? Though that only gives deprecation warnings, not errors.
Feb 16 2018
On Friday, 16 February 2018 at 09:26:47 UTC, Piotr Mitana wrote:Hello, The code below: ================ import std.traits; enum Attr; class MyClass { private Attr int a; static assert(getSymbolsByUDA!(typeof(this), MyClass).length == 1); } ================ does not compile as static assertion fails. Making the filed a public makes it compile properly. Should I file a bug or is by design?It's definitely a bug!
Feb 16 2018