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