On Tuesday, 23 February 2016 at 06:49:46 UTC, Tobias Müller wrote:
rsw0x <anonym...@anonymous.com> wrote:
On Saturday, 20 February 2016 at 09:40:40 UTC, Tobias Müller wrote:
[...]

D has this too, but only for nullable types afaik.

if(byte* ptr = someFunc()){
//...
}



That's not quite the same as there are no non-nullable pointers in D. There's no guarantee from the type system that the byte* is not null and
there are no compiler checks involved.
It's a simple runtime check.

OTOH in the examples in Kotlin/Rust the variable 'var' changes its type
from 'int?' to plain 'int'.
In Kotlin this is done with static analysis, in Rust with rebinding of the
name.

Tobi

Rust's Option<T> checks are not done at compile-time in most cases unless something changed drastically in the past ~18 months.

Reply via email to