[Issue 21122] __traits(getAttributes) wrong scope on enums
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Wed Aug  5 13:07:57 UTC 2020
    
    
  
https://issues.dlang.org/show_bug.cgi?id=21122
Simen Kjaeraas <simen.kjaras at gmail.com> changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |simen.kjaras at gmail.com
            Summary|hasUDAs/getUDAs/getSymbolsB |__traits(getAttributes)
                   |yUDA fails on local symbol  |wrong scope on enums
                   |UDAs with enum values       |
--- Comment #1 from Simen Kjaeraas <simen.kjaras at gmail.com> ---
Reduced:
unittest {
    enum A;
    enum E { @A a }
    pragma(msg, getAllUDAs!(E.a));
}
alias getAllUDAs(A...) = __traits(getAttributes, A);
By introducting a symbol A at module scope we can even have getAllUDAs return
the wrong thing. Obviously it's looking up things in the wrong scope.
--
    
    
More information about the Digitalmars-d-bugs
mailing list