3 ms·
It does introduce another layer of nesting in the code, which can be undesirable from a readability perspective at times
by Macha 4y ago
It does introduce another layer of nesting in the code, which can be undesirable from a readability perspective at times
- johntb86 4y agoRust is getting let-else to solve that problem: https://rust-lang.github.io/rfcs/3137-let-else.html https://rust-lang.github.io/rfcs/3137-let-else.html
- kannanvijayan 4y agoNot necessarily, you can extract the inner type by using the match as an expression, e.g.: ``` let val = match res { Err(e) => { ... return ...; } Ok(v) => v, }; // Use val without unwrapping here. ``` That said, even though I'd avoid unwrap in this particular case in my code, I generally disagree with the author. Taking out unwrap and leaving in expect would simply lead to a bunch of code that goes `let val = result.expect("!");`, which is equivalently bad when held up against the criticisms the author makes of unwrap. Unwrap isn't really harmful so much as a symptom and an escape valve around the fact that our type systems really aren't powerful enough to derive all the invariants the programmer can about their code.
- deleted 4y ago[deleted]