Hey there,

trying to read data into the fields of a class.

This is what I got so far:

```
import std.traits;
import std.bitmanip;

class Test {
    byte[4] marray;
    byte mbyte;

    this(ubyte[] data)
    {
        auto fields = this.tupleof;

        foreach (field; fields)
        {
// Here it should actually not enter when field is mbyte (byte)
            if (isStaticArray!(typeof(field)))
            {
                for (int i = 0; i < field.length; i++)
                    field[i] = data.read!(typeof(field[i]));
            }
            else
            {

            }
        }
    }
}

void main() {
    new Test([0x12, 0x23, 0x34, 0x45, 0x56]);
}
```

The problem is that `isStaticArray` won't halt when the field is `byte`.

When I add a `writeln(isStaticArray!(typeof(field)));` it will write `false` for `mbyte` though...

What's the problem? Is it a bug?

And: Is there a better way to do what I'm trying to do?...

Reply via email to