* For trivial things like indentation style, consult `.editorconfig`; see http://editorconfig.org/ for more.
* Put trailing commas after the last items and match arms to keep future diffs cleaner.
* Consider using `use self::Whatever::*` for matches that use more than 4 enum variants (regardless of number of enums), or if enum qualifiers are quite long, to keep things concise; e.g. prefer this:
```rust
let drivetype = {
use self::id::RPM::*;
use self::vendor_attribute::Type::*;
match id.rpm {
RPM(_) => Some(HDD),
NonRotating => Some(SSD),
Unknown => None,
}
};
```
over:
```rust
let drivetype = match id.rpm {
id::RPM::RPM(_) => Some(vendor_attribute::Type::HDD),
id::RPM::NonRotating => Some(vendor_attribute::Type::SSD),
id::RPM::Unknown => None,
};
```
* If for some reason you need to reindent large block of code (e.g. introducing `if … {}` block around it), do it in a separate commit. That way you'll keep commit diffs semantically clean.
* Never import `…::Error` directly, always use external error types with at least one qualifier (e.g. match `Err(io::Error(…))` but not `Err(Error(…))`).