This is our monthly toolchain upgrade to the latest stable version. Since the primary artifacts of this repository are binaries, we want to be tracking Rust compiler releases closely in the event a stdlib vulnerability is found. We do not pin to "stable", however, since that has caused pipeline breakage when some code patterns are made illegal (like in the upgrade from 1.47 to 1.48 [^0]) or, more often, clippy lints are added.
- `clippy::explicit_auto_deref`: remove redundant dereferences
- `clippy::manual_string_new`: replace `"".to_owned()` with `String::new()` and `.unwrap_or_default()`
- `clippy::needless_borrow`: remove unnecessary borrows
Switching to `let .. else` where appropriate was skipped in the interest of keeping the changeset small.
## Azure IoT Edge PR checklist:
This is our monthly toolchain upgrade to the latest stable version. Since the primary artifacts of this repository are binaries, we want to be tracking Rust compiler releases closely in the event a stdlib vulnerability is found. We do not pin to "stable", however, since that has caused pipeline breakage when some code patterns are made illegal (like in the upgrade from 1.47 to 1.48 [^0]) or, more often, clippy lints are added.
- `clippy::derive_partial_eq_without_eq`: derive `Eq` where possible
- `clippy::single_match_else`: replace `match` with `if let`
- `clippy::unused_async`: remove `async`
- `clippy::unused_self`: make function associated
- `clippy::unnecessary_wraps`: remove unnecessary wrapping `Result`
## Azure IoT Edge PR checklist:
This is our monthly toolchain upgrade to the latest stable version. Since the primary artifacts of this repository are binaries, we want to be tracking Rust compiler releases closely in the event a stdlib vulnerability is found. We do not pin to "stable", however, since that has caused pipeline breakage when some code patterns are made illegal (like in the upgrade from 1.47 to 1.48 [^0]) or, more often, clippy lints are added.
- `clippy::borrow_deref_ref`: remove unnecessary uses of `&*`
- `clippy::derive_partial_eq_without_eq`: derive `Eq` where possible
## Azure IoT Edge PR checklist:
This is our monthly toolchain upgrade to the latest stable version. Since iotedge/edgelet is a binary package, we want to be tracking Rust compiler releases closely in the event a stdlib vulnerability is found. We do not pin to "stable", however, since that has caused pipeline breakage when some code patterns are made illegal (like in the upgrade from 1.47 to 1.48 [^0]) or, more often, clippy lints are added.
- Use $crate metavariable in macros referencing crate
- Remove `let () = ..`
- Fix build failure in edgehub-proxy
[^0]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#compatibility-notes-11
Namely, the point on `mem::uninitialized`.
## Azure IoT Edge PR checklist:
This is our monthly toolchain upgrade to the latest stable version. Since iotedge/edgelet is a binary package, we want to be tracking Rust compiler releases closely in the event a stdlib vulnerability is found. We do not pin to "stable", however, since that has caused pipeline breakage when some code patterns are made illegal (like in the upgrade from 1.47 to 1.48 [^0]) or, more often, clippy lints are added.
- Switch `.to_owned` to `.clone` where semantically appropriate (`clippy::implicit_clone`)
- Merge pattern matching statements (`clippy::unnested_or_patterns`)
- Stop immediately dropping `Drop` types (`clippy::let_underscore_drop`)
- Use semicolon for unit returns (`clippy::semicolon_if_nothing_returned`)
- Remove needless borrows (`clippy::needless_borrow`)
- Stop using `.to_string` in format arguments (`clippy::to_string_in_format_args`)
- Use `.unwrap_or_else` where function calls required (`clippy::or_fun_call`)
[^0]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#compatibility-notes-11
Namely, the point on `mem::uninitialized`.
## Azure IoT Edge PR checklist:
This is our monthly toolchain upgrade to the latest stable version. Since iotedge/edgelet is a binary package, we want to be tracking Rust compiler releases closely in the event a stdlib vulnerability is found. We do not pin to "stable", however, since that has caused pipeline breakage when some code patterns are made illegal (like in the upgrade from 1.47 to 1.48 [^0]) or, more often, clippy lints are added.
- Change from `cloned()` to `copied()` since we can and to work around ICE: rust-lang/rust-clippy#8662
[^0]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#compatibility-notes-11
Namely, the point on `mem::uninitialized`.
## Azure IoT Edge PR checklist:
This is our monthly toolchain upgrade to the latest stable version. Since iotedge/edgelet is a binary package, we want to be tracking Rust compiler releases closely in the event a stdlib vulnerability is found. We do not pin to "stable", however, since that has caused pipeline breakage when some code patterns are made illegal (like in the upgrade from 1.47 to 1.48 [^0]) or, more often, clippy lints are added.
- Add `#[must_use]` directives on methods returning `Self`
- Change `unwrap_or_else(...::new)` to `unwrap_or_default` where appropriate
- Box `CertIssuanceOptions` in `EdgeCa` enum due to large variant size difference otherwise
## Azure IoT Edge PR checklist: