Skip to content

[rust-toolchain] bump to 1.94.0#10058

Merged
mergeconflict merged 5 commits intomainfrom
mergeconflict/rust-toolchain-1.94.0
Mar 16, 2026
Merged

[rust-toolchain] bump to 1.94.0#10058
mergeconflict merged 5 commits intomainfrom
mergeconflict/rust-toolchain-1.94.0

Conversation

@mergeconflict
Copy link
Contributor

@mergeconflict mergeconflict commented Mar 13, 2026

Bump the rust toolchain version to 1.94.0. This requires #10056 to compile without warnings.

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.
mergeconflict added a commit that referenced this pull request Mar 13, 2026
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`.
Base automatically changed from mergeconflict/bump-diesel to main March 13, 2026 19:02
@mergeconflict
Copy link
Contributor Author

mergeconflict commented Mar 13, 2026

Important note: Rust 1.94.0 removes the unstable --timings=json with no replacement (see https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#timings); we can only output timings in HTML now. This will break https://github.com/oxidecomputer/history, we need to figure out how to handle this.

@mergeconflict mergeconflict requested a review from smklein March 13, 2026 19:15
@smklein
Copy link
Collaborator

smklein commented Mar 13, 2026

Important note: Rust 1.94.0 removes the unstable --timings=json with no replacement (see https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#timings); we can only output timings in HTML now. This will break https://github.com/oxidecomputer/history, we need to figure out how to handle this.

rust-lang/cargo#16420 seems to imply that -Zbuild-analysis is a replacement here (see also;: rust-lang/cargo#15844) we should see how this works. It would be nice to avoid breaking this cargo history command, if we can avoid it.

- 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
@mergeconflict mergeconflict force-pushed the mergeconflict/rust-toolchain-1.94.0 branch from 7f1c4eb to 8520d7f Compare March 13, 2026 19:56
@mergeconflict mergeconflict force-pushed the mergeconflict/rust-toolchain-1.94.0 branch from acc7942 to 40fca5d Compare March 13, 2026 20:18
@mergeconflict
Copy link
Contributor Author

rust-lang/cargo#16420 seems to imply that -Zbuild-analysis is a replacement here (see also;: rust-lang/cargo#15844) we should see how this works. It would be nice to avoid breaking this cargo history command, if we can avoid it.

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.
@mergeconflict mergeconflict force-pushed the mergeconflict/rust-toolchain-1.94.0 branch from 044b62f to 465f670 Compare March 14, 2026 20:17
@mergeconflict mergeconflict merged commit 23acf35 into main Mar 16, 2026
16 checks passed
@mergeconflict mergeconflict deleted the mergeconflict/rust-toolchain-1.94.0 branch March 16, 2026 17:15
hawkw added a commit that referenced this pull request Mar 18, 2026
This mostly just picks up the Rust toolchain bump from #10058.
hawkw added a commit that referenced this pull request Mar 18, 2026
This mostly just picks up the Rust toolchain bump from #10058.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants