[Issue 20054] New: getSymbolsByUDA no longer works on modules
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jul 15 12:59:56 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=20054
Issue ID: 20054
Summary: getSymbolsByUDA no longer works on modules
Product: D
Version: D2
Hardware: x86_64
OS: Windows
Status: NEW
Severity: regression
Priority: P1
Component: phobos
Assignee: nobody at puremagic.com
Reporter: zorael at gmail.com
I use this heavily to iterate module-level functions[1].
import std.traits;
struct UDA;
@UDA
void foo() {}
void main()
{
alias funs = getSymbolsByUDA!(mixin(__MODULE__), UDA);
}
> C:\cygwin\home\zorael\work\result\bin\..\import\std\traits.d(8356): Error: template instance `isAggregateType!(uda)` does not match template declaration `isAggregateType(T)`
> uda.d(10): while looking for match for `getSymbolsByUDA!(uda, UDA)`
Offending commit:
commit f07517ac648a933d998bc6a53af7dc55c9d48daf
Author: The Dlang Bot <code+dlang-bot at dawg.eu>
Date: Wed Jul 10 11:57:39 2019 +0200
phobos: Merge pull request #7100 from RazvanN7/fix_issue_19105
https://github.com/dlang/phobos/pull/7100
Fix Issue 19105 - Bogus recursive template expansion via getSymbolsByUDA
merged-on-behalf-of: Nicholas Wilson
<thewilsonator at users.noreply.github.com>
[1]:
https://github.com/zorael/kameloso/blob/25cee1b7/source/kameloso/plugins/common.d#L955
--
More information about the Digitalmars-d-bugs
mailing list