On 2013-43-23 09:01, deadalnix <deadal...@gmail.com> wrote:

On Wednesday, 23 January 2013 at 08:00:05 UTC, Simen Kjaeraas wrote:
On 2013-45-23 04:01, deadalnix <deadal...@gmail.com> wrote:

On Tuesday, 22 January 2013 at 19:07:56 UTC, Simen Kjaeraas wrote:

One could argue that the compiler should choose the other constructor, and even that having default constructors is reasonable. However, D has gone
the route of not having default constructors for structs. Instead,
structs are defined to be trivially constructible from T.init.


Which incompatible with the desire of a NonNull construct.

Really? It's not like you cannot @disable T.init. Please show how this is
a problem for NonNull!T.


Easy :

NonNull!T bar; // bar is null

Patently false. @disable this() makes this fail with "initializer required
for type".


NonNull!T[] barArray;
barArray.length = 5; // barArray contains null elements.

This is a known bug in the implementation of @disable this().


NonNull!T bar = something;
foo(move(bar));
bar; // bar is null \o/

Except it isn't.


--
Simen

Reply via email to