[Issue 18698] static foreach + __traits(allMembers, moduleName)

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Mar 30 21:55:50 UTC 2018


https://issues.dlang.org/show_bug.cgi?id=18698

--- Comment #1 from Manu <turkeyman at gmail.com> ---
I try this:

  module test;
  alias Members = __traits(allMembers, test);

> Error: basic type expected, not `__traits`

We *really* need to fix that one...

So:

  module test;
  import std.meta;
  alias Members = AliasSeq!(__traits(allMembers, test));
  pragma(msg, Members);

> tuple("object", "std", "arr", "t", "Members")

Okay, that's good.

  static foreach(m; Members)
  {
    pragma(msg, m);
  }

Error: template instance AliasSeq!(__traits(allMembers, test)) recursive
template expansion


Oh dear...

--


More information about the Digitalmars-d-bugs mailing list