From b26b8ca2fcbb2eb81b24433bfec3186eafd3bb83 Mon Sep 17 00:00:00 2001 From: "hash-worker[bot]" <180894564+hash-worker[bot]@users.noreply.github.com> Date: Mon, 6 Jul 2026 05:02:57 +0000 Subject: [PATCH 1/5] Update Rust toolchains to nightly-2026-06-22 --- libs/error-stack/README.md | 2 +- libs/error-stack/macros/README.md | 2 +- libs/error-stack/src/lib.rs | 2 +- rust-toolchain.toml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/error-stack/README.md b/libs/error-stack/README.md index d0761f40561..cca88146545 100644 --- a/libs/error-stack/README.md +++ b/libs/error-stack/README.md @@ -7,7 +7,7 @@ [![crates.io](https://img.shields.io/crates/v/error-stack)][crates.io] [![libs.rs](https://img.shields.io/badge/libs.rs-error--stack-orange)][libs.rs] -[![rust-version](https://img.shields.io/static/v1?label=Rust&message=1.83.0/nightly-2026-06-08&color=blue)][rust-version] +[![rust-version](https://img.shields.io/static/v1?label=Rust&message=1.83.0/nightly-2026-06-22&color=blue)][rust-version] [![documentation](https://img.shields.io/docsrs/error-stack)][documentation] [![license](https://img.shields.io/crates/l/error-stack)][license] diff --git a/libs/error-stack/macros/README.md b/libs/error-stack/macros/README.md index b5999fb8751..c8474894833 100644 --- a/libs/error-stack/macros/README.md +++ b/libs/error-stack/macros/README.md @@ -6,7 +6,7 @@ [![crates.io](https://img.shields.io/crates/v/error-stack-macros)][crates.io] [![libs.rs](https://img.shields.io/badge/libs.rs-error--stack--macros-orange)][libs.rs] -[![rust-version](https://img.shields.io/static/v1?label=Rust&message=1.83.0/nightly-2026-06-08&color=blue)][rust-version] +[![rust-version](https://img.shields.io/static/v1?label=Rust&message=1.83.0/nightly-2026-06-22&color=blue)][rust-version] [![documentation](https://img.shields.io/docsrs/error-stack-macros)][documentation] [![license](https://img.shields.io/crates/l/error-stack)][license] diff --git a/libs/error-stack/src/lib.rs b/libs/error-stack/src/lib.rs index bff95f66ded..4a714d5df73 100644 --- a/libs/error-stack/src/lib.rs +++ b/libs/error-stack/src/lib.rs @@ -2,7 +2,7 @@ //! //! [![crates.io](https://img.shields.io/crates/v/error-stack)][crates.io] //! [![libs.rs](https://img.shields.io/badge/libs.rs-error--stack-orange)][libs.rs] -//! [![rust-version](https://img.shields.io/static/v1?label=Rust&message=1.83.0/nightly-2026-06-08&color=blue)][rust-version] +//! [![rust-version](https://img.shields.io/static/v1?label=Rust&message=1.83.0/nightly-2026-06-22&color=blue)][rust-version] //! //! [crates.io]: https://crates.io/crates/error-stack //! [libs.rs]: https://lib.rs/crates/error-stack diff --git a/rust-toolchain.toml b/rust-toolchain.toml index b71557776bf..7001b96fa5d 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2026-06-08" +channel = "nightly-2026-06-22" components = ['rustfmt', 'clippy', 'llvm-tools-preview', 'miri', 'rust-src', 'rust-analyzer', 'rustc-codegen-cranelift-preview'] From c20b8a9252cb8306d725e3e67ec46130b795b06a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 6 Jul 2026 08:24:54 +0000 Subject: [PATCH 2/5] Update const trait impl syntax for nightly-2026-06-22 Co-authored-by: Bilal Mahmoud --- libs/@local/hashql/core/src/id/bit_vec/finite.rs | 2 +- libs/@local/hashql/macros/src/id/enum.rs | 6 +++--- libs/@local/hashql/macros/src/id/struct.rs | 2 +- libs/@local/hashql/mir/src/interpret/value/int.rs | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libs/@local/hashql/core/src/id/bit_vec/finite.rs b/libs/@local/hashql/core/src/id/bit_vec/finite.rs index 1a9c66daac6..8e1d9d74334 100644 --- a/libs/@local/hashql/core/src/id/bit_vec/finite.rs +++ b/libs/@local/hashql/core/src/id/bit_vec/finite.rs @@ -85,7 +85,7 @@ macro_rules! impl_trait { $(impl_trait!(@impl $integral);)* }; (@impl $integral:ty) => { - impl const FiniteBitSetIntegral for $integral { + const impl FiniteBitSetIntegral for $integral { const EMPTY: Self = Self::MIN; const FILLED: Self = Self::MAX; const MAX_DOMAIN_SIZE: u32 = <$integral>::BITS; diff --git a/libs/@local/hashql/macros/src/id/enum.rs b/libs/@local/hashql/macros/src/id/enum.rs index e7798207b7d..5a9c4cc0cc2 100644 --- a/libs/@local/hashql/macros/src/id/enum.rs +++ b/libs/@local/hashql/macros/src/id/enum.rs @@ -145,7 +145,7 @@ pub(super) fn expand_enum( output.extend(quote! { #[automatically_derived] #[expect(clippy::cast_possible_truncation, clippy::cast_lossless)] - impl #konst #krate::id::Id for #name { + #konst impl #krate::id::Id for #name { const MIN: Self = Self::from_discriminant(0); const MAX: Self = Self::from_discriminant(#max); @@ -198,7 +198,7 @@ pub(super) fn expand_enum( for int in [quote!(u32), quote!(u64), quote!(usize)] { output.extend(quote! { #[automatically_derived] - impl #konst ::core::convert::TryFrom<#int> for #name { + #konst impl ::core::convert::TryFrom<#int> for #name { type Error = #krate::id::IdError; #[inline] @@ -220,7 +220,7 @@ pub(super) fn expand_enum( // 6. HasId impl output.extend(quote! { #[automatically_derived] - impl #konst #krate::id::HasId for #name { + #konst impl #krate::id::HasId for #name { type Id = Self; #[inline] diff --git a/libs/@local/hashql/macros/src/id/struct.rs b/libs/@local/hashql/macros/src/id/struct.rs index b3d6b27841f..eabca363d7d 100644 --- a/libs/@local/hashql/macros/src/id/struct.rs +++ b/libs/@local/hashql/macros/src/id/struct.rs @@ -201,7 +201,7 @@ pub(super) fn expand_struct( #[automatically_derived] #[expect(clippy::cast_possible_truncation, clippy::cast_lossless)] - impl #konst #krate::id::Id for #name { + #konst impl #krate::id::Id for #name { const MIN: Self = Self::new(#min); const MAX: Self = Self::new(#max_value); diff --git a/libs/@local/hashql/mir/src/interpret/value/int.rs b/libs/@local/hashql/mir/src/interpret/value/int.rs index 0dbb218a7e8..e1262976a91 100644 --- a/libs/@local/hashql/mir/src/interpret/value/int.rs +++ b/libs/@local/hashql/mir/src/interpret/value/int.rs @@ -362,7 +362,7 @@ const impl From for Int { macro_rules! impl_from_int { ($($ty:ty),*) => { $( - impl const From<$ty> for Int { + const impl From<$ty> for Int { #[inline] fn from(value: $ty) -> Self { Self::from_i128(i128::from(value)) From 98e9415fa5d46f6e4e90403a7a3461d3f67039bd Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 6 Jul 2026 08:32:35 +0000 Subject: [PATCH 3/5] Make clear_excess_bits_in_final_word const for nightly clippy Co-authored-by: Bilal Mahmoud --- libs/@local/hashql/core/src/id/bit_vec/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/@local/hashql/core/src/id/bit_vec/mod.rs b/libs/@local/hashql/core/src/id/bit_vec/mod.rs index 030dc3fe579..1c58dac09d2 100644 --- a/libs/@local/hashql/core/src/id/bit_vec/mod.rs +++ b/libs/@local/hashql/core/src/id/bit_vec/mod.rs @@ -1554,7 +1554,7 @@ const fn chunk_word_index_and_mask(elem: usize) -> (usize, Word) { word_index_and_mask(chunk_elem) } -fn clear_excess_bits_in_final_word(domain_size: usize, words: &mut [Word]) { +const fn clear_excess_bits_in_final_word(domain_size: usize, words: &mut [Word]) { let num_bits_in_final_word = domain_size % WORD_BITS; if num_bits_in_final_word > 0 { let mask = (1 << num_bits_in_final_word) - 1; From ecb52ea55b493dfdb2b88a28afa66d675ac0ae3c Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 6 Jul 2026 08:40:40 +0000 Subject: [PATCH 4/5] Suppress result_large_err clippy lint in validation test helper Co-authored-by: Bilal Mahmoud --- libs/@local/graph/validation/src/lib.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libs/@local/graph/validation/src/lib.rs b/libs/@local/graph/validation/src/lib.rs index f080eca64b4..6d1f68ece3e 100644 --- a/libs/@local/graph/validation/src/lib.rs +++ b/libs/@local/graph/validation/src/lib.rs @@ -423,6 +423,10 @@ mod tests { Ok(property) } + #[expect( + clippy::result_large_err, + reason = "test helper mirrors production validation APIs that return large reports" + )] pub(crate) async fn validate_data( value: JsonValue, data_type: &str, From ea46230f15684ac2f01d8e0e8f11dd275743472f Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 6 Jul 2026 08:52:06 +0000 Subject: [PATCH 5/5] Box ValueValidationReport in validate_data test helper Co-authored-by: Bilal Mahmoud --- libs/@local/graph/validation/src/lib.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/libs/@local/graph/validation/src/lib.rs b/libs/@local/graph/validation/src/lib.rs index 6d1f68ece3e..fdac900b3ff 100644 --- a/libs/@local/graph/validation/src/lib.rs +++ b/libs/@local/graph/validation/src/lib.rs @@ -423,16 +423,12 @@ mod tests { Ok(property) } - #[expect( - clippy::result_large_err, - reason = "test helper mirrors production validation APIs that return large reports" - )] pub(crate) async fn validate_data( value: JsonValue, data_type: &str, data_types: impl IntoIterator + Send, components: ValidateEntityComponents, - ) -> Result { + ) -> Result> { let mut value = serde_json::from_value(value).expect("failed to parse value"); let mut provider = Provider::new( [],