Skip to content

upgrade to Rust v1.99.0 - #23692

Merged
tdyas merged 6 commits into
mainfrom
tdyas/rust/upgrade-1.99.0
Oct 16, 2026
Merged

tdyas merged 6 commits into
mainfrom
tdyas/rust/upgrade-1.99.0

Conversation

@tdyas

@tdyas tdyas commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Upgrade to Rust v1.99.0. There were a few fixes for Clippy lints triggered in this version:

  • Upgraded async-trait to a version which avoids triggering a Clippy lint error from generated code.

tdyas added 4 commits October 1, 2026 21:50
```
error: this function has a `#[must_use]` attribute with no message, but returns a type already considered as `#[must_use]`
  --> graph/src/node.rs:21:15
   |
21 |   #[async_trait]
   |  _______________^
22 | | pub trait Node: Clone + Debug + Display + Eq + Hash + Send + Sync + 'static {
23 | |     /// An implementation-specific context required to run this Node.
24 | |     type Context: Send + Sync;
...  |
29 | |     async fn run(self, context: Context<Self>) -> Result<Self::Item, Self::Error>;
   | |____^
   |
note: the return type is pinned boxed `futures::Future` trait object
  --> graph/src/node.rs:21:1
   |
21 | #[async_trait]
   | ^^^^^^^^^^^^^^
help: remove `must_use`
  --> graph/src/node.rs:21:1
   |
21 | #[async_trait]
   | ^^^^^^^^^^^^^^
   = note: alternatively, you may add an explicit reason to the `must_use` attribute
   = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.99.0/index.html#double_must_use
   = note: `-D clippy::double-must-use` implied by `-D clippy::all`
   = help: to override `-D clippy::all` add `#[allow(clippy::double_must_use)]`
   = note: this error originates in the attribute macro `async_trait` (in Nightly builds, run with -Z macro-backtrace for more info)
```
```
error: use of irregular braces for `format!` macro
   --> fs/store/src/local.rs:283:25
    |
283 | ...e| format! {"Failed to create local store subdirectory {dest_path:?}: {e}"},
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider writing: `format!("Failed to create local store subdirectory {dest_path:?}: {e}")`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.99.0/index.html#nonstandard_macro_braces
    = note: `-D clippy::nonstandard-macro-braces` implied by `-D clippy::all`
    = help: to override `-D clippy::all` add `#[allow(clippy::nonstandard_macro_braces)]`
```
@tdyas tdyas added release-notes:not-required [CI] PR doesn't require mention in release notes category:internal CI, fixes for not-yet-released features, etc. labels Oct 2, 2026
@tdyas
tdyas requested review from benjyw and tobni October 3, 2026 00:24
@tdyas
tdyas marked this pull request as ready for review October 3, 2026 01:11
@tdyas

tdyas commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor Author

The error motivating the async-trait upgrade:

error: this function has a `#[must_use]` attribute with no message, but returns a type already considered as `#[must_use]`
  --> graph/src/node.rs:21:15
   |
21 |   #[async_trait]
   |  _______________^
22 | | pub trait Node: Clone + Debug + Display + Eq + Hash + Send + Sync + 'static {
23 | |     /// An implementation-specific context required to run this Node.
24 | |     type Context: Send + Sync;
...  |
29 | |     async fn run(self, context: Context<Self>) -> Result<Self::Item, Self::Error>;
   | |____^
   |
note: the return type is pinned boxed `futures::Future` trait object
  --> graph/src/node.rs:21:1
   |
21 | #[async_trait]
   | ^^^^^^^^^^^^^^
help: remove `must_use`
  --> graph/src/node.rs:21:1
   |
21 | #[async_trait]
   | ^^^^^^^^^^^^^^
   = note: alternatively, you may add an explicit reason to the `must_use` attribute
   = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.99.0/index.html#double_must_use
   = note: `-D clippy::double-must-use` implied by `-D clippy::all`
   = help: to override `-D clippy::all` add `#[allow(clippy::double_must_use)]`
   = note: this error originates in the attribute macro `async_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

@tdyas

tdyas commented Oct 3, 2026

Copy link
Copy Markdown
Contributor Author
error: use of irregular braces for `format!` macro
   --> fs/store/src/local.rs:283:25
    |
283 | ...e| format! {"Failed to create local store subdirectory {dest_path:?}: {e}"},
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider writing: `format!("Failed to create local store subdirectory {dest_path:?}: {e}")`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.99.0/index.html#nonstandard_macro_braces
    = note: `-D clippy::nonstandard-macro-braces` implied by `-D clippy::all`
    = help: to override `-D clippy::all` add `#[allow(clippy::nonstandard_macro_braces)]`

@sureshjoshi

Copy link
Copy Markdown
Member
error: use of irregular braces for `format!` macro
   --> fs/store/src/local.rs:283:25
    |
283 | ...e| format! {"Failed to create local store subdirectory {dest_path:?}: {e}"},
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider writing: `format!("Failed to create local store subdirectory {dest_path:?}: {e}")`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.99.0/index.html#nonstandard_macro_braces
    = note: `-D clippy::nonstandard-macro-braces` implied by `-D clippy::all`
    = help: to override `-D clippy::all` add `#[allow(clippy::nonstandard_macro_braces)]`

https://clippy.rust-lang.org/master/index.html?search=macro_#nonstandard_macro_braces

I had to re-review that clippy lint like 10 times, as I thought it was moving braces into parens, which blew my mind. But... Something to be said that any braces can be used with macros.

@tdyas
tdyas merged commit 6bcdb85 into main Oct 16, 2026
28 checks passed
@tdyas
tdyas deleted the tdyas/rust/upgrade-1.99.0 branch October 16, 2026 01:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:internal CI, fixes for not-yet-released features, etc. release-notes:not-required [CI] PR doesn't require mention in release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants