[Issue 20648] New: static foreach over allMembers of module doesn't seem to work
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Mar 9 03:44:42 UTC 2020
https://issues.dlang.org/show_bug.cgi?id=20648
Issue ID: 20648
Summary: static foreach over allMembers of module doesn't seem
to work
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: major
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: turkeyman at gmail.com
This should list all the structs in the module:
----------------------
module my_module;
struct Wow {}
template ScrapeStructs(Tys...)
{
import std.meta : AliasSeq;
static if (Tys.length == 0)
alias ScrapeStructs = AliasSeq!();
else static if (is(Tys[0] == struct))
alias ScrapeStructs = AliasSeq!(Tys[0], ScrapeStructs!(Tys[1 .. $]));
else
alias ScrapeStructs = ScrapeStructs!(Tys[1 .. $]);
}
alias AllStructs = ScrapeStructs!(__traits(allMembers, my_module));
pragma(msg, AllStructs); // ()
pragma(msg, is(Wow == struct)); // true
----------------------
But it doesn't...
--
More information about the Digitalmars-d-bugs
mailing list