struct MyStruct; // <- forward declared (opaque type, never defined)

MyStruct*[] arrayOfPointers;

arrayOfPointers ~= null; // appending doesn't work
arrayOfPointers = new MyStruct*[n]; // or just allocating the array doesn't work either

Complains:
1>code.d(84): Error: struct MyStruct is forward referenced when looking for 'toHash'
1>code.d(84): Error: struct MyStruct is forward referenced when looking for 'opCmp'
1>code.d(84): Error: struct MyStruct is forward referenced when looking for 'toString'
1>code.d(84): Error: struct MyStruct unknown size
1>code.d(84): Error: struct MyStruct no size yet for forward reference
1>code.d(84): Error: struct MyStruct unknown size
1>code.d(84): Error: struct MyStruct no size yet for forward reference

What's the go here?
Why would it need any of that information? It's just a pointer...