On 2/19/18 6:18 AM, Nathan S. wrote:
On Saturday, 17 February 2018 at 12:49:07 UTC, Andrei Alexandrescu wrote:
On 02/16/2018 10:10 PM, rikki cattermole wrote:
Could use the name for the field as well. At the minimum useful for debugging purposes.

That would be tricky because fields are decomposed down to primitive types. -- Andrei

That's unfortunate. Not being able to get the names and types together is my main dissatisfaction with the current interface.

.tupleof does all this:

struct S
{
  int x;
  double y;
}

static foreach(alias v; S.tupleof)
{
  pragma(msg, typeof(v));
  pragma(msg, v.offsetof);
  pragma(msg, __traits(identifier, v));
}

output while compiling:
int
0LU
x
double
8LU
y

It's admittedly an ugly interface...

-Steve

Reply via email to