3 ms·
A couple of notes: Tooling: Rust takes backwards compatibility very seriously. If you're using multiple version of a crate in your dependency try, it's very li
by swsieber 8y ago
A couple of notes:
Tooling: Rust takes backwards compatibility very seriously. If you're using multiple version of a crate in your dependency try, it's very likely because those two crate versions have breaking changes between them.
Language - You should very rarely need to unwrap because of pattern matching:
Stuff like this: if (a.is_some()) { let value = a.unwrap()...
Can be rewritten like this: if let Some(value) = a { ...
- millstone 8y agoThe gratuitous unwrapping comes from APIs like `Mutex::lock` and `write!`
- edflsafoiewq 8y agoIME unwrapping usually comes from the variant of an enum being determined by the ambient invariants in the program. For example, if you have a dependent pair, (x,y), x determines the variant of y. Similar consideration for switching between a array of options of pairs and a pair of arrays of options. The simplest example of this is array subscripting. A sufficient bound on n will determine the variant of arr.get(n). The API acknowledges this common case by providing arr[n].