Minor issue - zero-length fixed size arrays in variable-sized structs..

Daniel Keep daniel.keep.lists at gmail.com
Wed Jul 8 23:38:38 PDT 2009


You'd have to be mad to use it like that.

struct S
{
    int a;
    private { size_t size; char[0] data; }
    char[] message() { return data.ptr[0..length]; }
    size_t length() { return size; }

    S* opCall(size_t size)
    {
        return cast(S*)((new ubyte[S.sizeof+size]).ptr);
    }
}

void main()
{
    auto s = S(5);
    s.message[] = "hello";
    writeln(s.message);
    s.message[] = "world";
    writeln(s.message);
}



More information about the Digitalmars-d mailing list