On Wednesday, 10 May 2017 at 13:11:46 UTC, Atila Neves wrote:
On Wednesday, 10 May 2017 at 11:12:06 UTC, Stefan Koch wrote:
null :

() { Slice* s; s = null; return s; }

[] :
() { Slice* s; s = alloca(sizeof(*s)); s.base = null; s.length = 0; return s; }

Therefore

null.length => (cast(Slice*)null).length; which results in a segfault.

and

[].length => (cast(Slice*)somevalidSliceDiscriptor).length;

That's not how "regular" D works though.

Atila

What do you mean ?
Hmm this should be how it works ....
They reason why assert([] == null) holds.
is because base is implicitly alias thised.

if you try assert([] is null), it should fail.

Reply via email to