If the type passed to __traits(derivedMembers, ...) does not have any derived members, an array of void[0u] type is returned instead of invariant(char)[][0u]; class C { //int x; // uncomment to make it compile } static assert (is (typeof(__traits(derivedMembers, C)) : string[]));
This was "fixed" in r360 since derivedMembers now returns a tuple instead of an array literal.