[rust-toolchain] bump to 1.94.0#10058
Conversation
This dependency version bump is in preparation for bumping the rust toolchain to 1.94.0. Without it, we get some compiler warnings about conflicting `min` symbols imported from diesel. Replace deprecated diesel::dsl::count_distinct() with count().aggregate_distinct() from AggregateExpressionMethods.
This dependency version bump is in preparation for bumping the rust toolchain to 1.94.0 (#10058). Without it, we get some compiler warnings about conflicting `min` symbols imported from diesel: ``` warning: `min` is ambiguous --> nexus/db-queries/src/db/datastore/ereport.rs:22:35 | 22 | use diesel::dsl::{count_distinct, min}; | ^^^ ambiguous name | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #114095 <rust-lang/rust#114095> = note: ambiguous because of multiple glob imports of a name in the same module note: `min` could refer to the type alias defined here --> /Users/dr/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.2.12/src/lib.rs:319:13 | 319 | pub use crate::helper_types::*; | ^^^^^^^^^^^^^^^^^^^ = help: consider updating this dependency to resolve this error = help: if updating the dependency does not resolve the problem report the problem to the author of the relevant crate note: `min` could also refer to the type alias defined here --> /Users/dr/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.2.12/src/lib.rs:322:13 | 322 | pub use crate::expression::dsl::*; | ^^^^^^^^^^^^^^^^^^^^^^ = note: `#[warn(ambiguous_glob_imports)]` (part of `#[warn(future_incompatible)]`) on by default ``` Also replace deprecated `diesel::dsl::count_distinct()` with `count().aggregate_distinct()` from `AggregateExpressionMethods`.
|
Important note: Rust 1.94.0 removes the unstable |
rust-lang/cargo#16420 seems to imply that |
- Remove unnecessary unsafe blocks around __cpuid_count() calls (now safe in Rust 1.94.0) - Replace --timings=json with --timings (HTML output) in buildomat build scripts, as the JSON timings flag was removed in cargo 1.94.0 - Fix clippy::redundant_iter_cloned in trust-quorum test utils - Fix clippy::unnecessary_unwrap in nexus trust quorum datastore
7f1c4eb to
8520d7f
Compare
acc7942 to
40fca5d
Compare
Yup, good call. The new output format is pretty different but still usable. 044b62f produces this and oxidecomputer/history#1 consumes it. |
Replace --timings (HTML) with -Zbuild-analysis (JSONL) for per-crate build timing data. Both cargo invocations use identical flags to avoid cache invalidation. RUSTC_BOOTSTRAP=1 is required for the unstable -Zbuild-analysis flag. Output is collected from $CARGO_HOME/log/ and published as cargo-build-analysis.jsonl.
044b62f to
465f670
Compare
This mostly just picks up the Rust toolchain bump from #10058.
This mostly just picks up the Rust toolchain bump from #10058.
In #7659 I added a stupid hack to improve Helios build-and-test times in CI: first build everything with `--exclude=omicron-nexus`, then perform a normal build. This was to mitigate the effect of simultaneously linking all Nexus-containing binaries (bin and test targets for both Nexus and OMDB), which severely pushed the memory limits of Buildomat instances at the time. Since #10018 this job now uses an instance with 256 GB of memory. This is enough RAM. This change appears to shave about four minutes off of this job. This may also have the side effect of making the build timing data useful again. #10058 had to deal with a change to rustc's build analysis output and given my read of the script the uploaded build timing file would have basically only contained information about how long it took to build Nexus. (But I could be wrong, I have not actually looked at the file.)
Bump the rust toolchain version to 1.94.0. This requires #10056 to compile without warnings.