4 ms·
you are right, not so useful for Result type, but still, it comes handy for Option types (since None doesn't hold anything).
by vasilakisfil 4y ago
you are right, not so useful for Result type, but still, it comes handy for Option types (since None doesn't hold anything).
- etra0 4y agoAgree, I don't know if it's that useful for `Result<T>`, but for `Option<T>`, there has been a couple of times I've written if foo.is_none() { return; } let foo = foo.unwrap() Now I can do simply let Some(foo_unwrapped) = foo else { return; } which is prettier than the `if let (...)` to just unwrap it IMO.
- mintplant 4y agoWithout let-else, you could write that as: let foo_unwrapped = match foo { Some(foo_unwrapped) => foo_unwrapped, None => return, }; Not as pretty, but you don't have to unwrap.
- bonzini 4y agoFor Result it's probably more common to use ?, alternatively you could use let x_result = something; let Ok(x) = x_result else { ... } But I expect that it will be used mostly with Option, as in "else continue" or "else break".