Bug 18884 – getSymbolsByUDA fails on AliasSeq members

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2018-05-20T07:42:59Z
Last change time
2018-06-03T23:37:37Z
Assigned to
No Owner
Creator
elpenguino+D

Comments

Comment #0 by elpenguino+D — 2018-05-20T07:42:59Z
The following code started failing after DMD 2.078: -------- unittest { import std.meta; import std.traits; struct X { alias A = AliasSeq!(ulong, uint); } alias x = getSymbolsByUDA!(X, X); } -------- DMD 2.080.0 produces this error: -------- /path/to/dmd.linux/dmd2/linux/bin64/../../src/phobos/std/traits.d(8377): Error: template `std.meta.Alias` does not match any template declaration /path/to/dmd.linux/dmd2/linux/bin64/../../src/phobos/std/traits.d(8194): Error: template instance `std.traits.getSymbolsByUDAImpl!(X, X, "A")` error instantiating onlineapp.d(9): instantiated from here: `getSymbolsByUDA!(X, X)` -------- The flawed line appears to be here: `alias member = Alias!(__traits(getMember, symbol, names[0]));`
Comment #1 by simen.kjaras — 2018-05-20T15:57:35Z
Comment #2 by bugzilla — 2018-05-28T21:51:22Z
(In reply to Simen Kjaeraas from comment #1) > PR: > https://github.com/dlang/phobos/pull/6518 This has been pulled. Has this issue been resolved?
Comment #3 by simen.kjaras — 2018-05-29T12:23:18Z
(In reply to Walter Bright from comment #2) > This has been pulled. Has this issue been resolved? Should be. The unittest in the PR is taken almost verbatim from here. Since it's a regression, it targets stable, and the bot only auto-closes issues when it makes its way to master, as I understand it.
Comment #4 by github-bugzilla — 2018-06-03T23:37:36Z
Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/8db8debe32576b3e0207e3b7c7ad7fd473d874a9 Fix issue 18884 - getSymbolsByUDA fails on AliasSeq members https://github.com/dlang/phobos/commit/300bb9cd550edb03980fcb46a23b7403c4e85519 Merge pull request #6518 from Biotronic/Issue-18884 Fix issue 18884 - getSymbolsByUDA fails on AliasSeq members