struct init property

Namespace rswhite4 at googlemail.com
Thu Aug 23 16:35:56 PDT 2012


> If you want something that isn't nullable, you'll need a type 
> which which
> isn't nullable, which means using a struct. I know that you 
> want non-nullable
> references, but for D2, the best that you're going to get is a 
> struct which
> wraps a class.
>
> - Jonathan M Davis

That would be fine if i only have to write:

[code]
void test(NotNullable!Foo f) {
[/code]

and not

[code]
Foo f = new Foo();
NotNullable!Foo nf = f;
test(nf)
[/code]

as well.

This overhead ist the same as if you use precondition. That's the 
reason why IMO NotNullable as struct isn't a good choice for that 
situation.

But to overwrite the .init  was just an idea, i didn't think that 
so much guarantees would be broken. Thanks for your explanation.



More information about the Digitalmars-d-learn mailing list