On Monday, 27 May 2013 at 21:55:00 UTC, Simen Kjaeraas wrote:
Now, if we wanted to add compiler support for non-nullable references, many more things would need to be decided - how do they look? Do they assert non-nullness upon initialization/assignment, or are external checks required?

Same problem exists with any type with @disable this.

Does new Foo() return a non-nullable reference? Must we also add scoped non-nullness guarantees (if(foo != null) { /* foo is now implicitly
convertible to non-nullable */ })?


if reference are non nullables, this example don't make any sense.

So, no. The stuff required to add @disable this() to the language is not the same that is required for non-nullable references. It's certainly an important part of it, but there's still more left, and it's going to make the language harder to implement. Adding a feature that lets non-nullable references be
added in a library is much better.

It is. Having everybody considering it isn't is probably why you'll find so much holes in NonNullable.

Reply via email to