On Saturday, 20 February 2016 at 09:40:40 UTC, Tobias Müller
wrote:
Yuxuan Shui <[email protected]> wrote:
[...]
In Rust that would be:
let var : Option<i32> = ...;
if let Some(var) = var {
// You can use var here
}
It works for every enum (= tagged union), not just Option<T>
Swift also has "if let".
It's not much more verbose but more explicit.
Changing the type of a variable based on static analysis is
just advanced
obfuscation. It hurts readability and the gain is questionable.
At least it
only works for nullable types.
Tobi
D has this too, but only for nullable types afaik.
if(byte* ptr = someFunc()){
//...
}