Thread overview
[Issue 21122] __traits(getAttributes) wrong scope on enums
Aug 05, 2020
Simen Kjaeraas
Aug 05, 2020
Basile-z
Aug 07, 2020
Dlang Bot
Aug 07, 2020
Dlang Bot
Aug 10, 2020
Dlang Bot
August 05, 2020
https://issues.dlang.org/show_bug.cgi?id=21122

Simen Kjaeraas <simen.kjaras@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |simen.kjaras@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@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.

--
August 05, 2020
https://issues.dlang.org/show_bug.cgi?id=21122

Basile-z <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid
          Component|phobos                      |dmd

--
August 07, 2020
https://issues.dlang.org/show_bug.cgi?id=21122

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #2 from Dlang Bot <dlang-bot@dlang.rocks> ---
@BorisCarvajal created dlang/dmd pull request #11527 "Fix Issue 21122 - __traits(getAttributes) wrong scope on enums" fixing this issue:

- Fix Issue 21122 - __traits(getAttributes) wrong scope on enums

https://github.com/dlang/dmd/pull/11527

--
August 07, 2020
https://issues.dlang.org/show_bug.cgi?id=21122

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #11527 "Fix Issue 21122 - __traits(getAttributes) wrong scope on enums" was merged into stable:

- 0ad9333f5dda9b857c51317c9be51039e8b91716 by Boris Carvajal:
  Fix Issue 21122 - __traits(getAttributes) wrong scope on enums

https://github.com/dlang/dmd/pull/11527

--
August 10, 2020
https://issues.dlang.org/show_bug.cgi?id=21122

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #11542 "merge stable" was merged into master:

- 7d40b941b2b36ee84aa669f9c5310e1b98caa504 by Boris Carvajal:
  Fix Issue 21122 - __traits(getAttributes) wrong scope on enums

https://github.com/dlang/dmd/pull/11542

--