From f687bc3d40d2a59f1eebf13eb8534d673afb1a91 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 23 Sep 2026 14:16:12 +0200 Subject: [PATCH 01/11] Rust: Update Rust toolchain to 1.98 Update rules_rust to 0.74.0. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- MODULE.bazel | 44 ++++++++++++++++++++++---------------------- rust-toolchain.toml | 2 +- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 9073266d77eb..4ff61ef248ea 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -30,7 +30,7 @@ bazel_dep(name = "rules_kotlin", version = "2.2.2-codeql.1") bazel_dep(name = "gazelle", version = "0.50.0") bazel_dep(name = "rules_dotnet", version = "0.21.5-codeql.1") bazel_dep(name = "googletest", version = "1.17.0.bcr.2") -bazel_dep(name = "rules_rust", version = "0.73.0") +bazel_dep(name = "rules_rust", version = "0.74.0") bazel_dep(name = "rules_swift", version = "4.0.0-rc5-codeql.2") bazel_dep(name = "swift-syntax", version = "603.0.2") bazel_dep(name = "zstd", version = "1.5.7.bcr.1") @@ -45,7 +45,7 @@ RUST_EDITION = "2024" # a nightly toolchain is required to enable experimental_use_cc_common_link, which we require internally # we prefer to run the same version as internally, even if experimental_use_cc_common_link is not really # required in this repo -RUST_VERSION = "nightly/2026-07-15" +RUST_VERSION = "nightly/2026-09-03" rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") rust.toolchain( @@ -57,26 +57,26 @@ rust.toolchain( ], # generated by buildutils-internal/scripts/fill-rust-sha256s.py (internal repo) sha256s = { - "2026-07-15/rustc-nightly-x86_64-unknown-linux-gnu.tar.xz": "dad49ece98c6d0e5f3bfd7c532b5111f55319a0e2a880ef1a87379643348cf8e", - "2026-07-15/rustc-nightly-x86_64-apple-darwin.tar.xz": "54fe056dd41fd0ae2e74e8a941ee207af21e9b86700636fa254f11f0f1fa0783", - "2026-07-15/rustc-nightly-aarch64-apple-darwin.tar.xz": "0e8c44436fefd06850a343e244236bf8e2b7eadaee447c53a91bc4e17e6710d1", - "2026-07-15/rustc-nightly-x86_64-pc-windows-msvc.tar.xz": "a55c3933faf617a47a10545a072bae1de03aa3fe7363d0779baad35bed2cf259", - "2026-07-15/clippy-nightly-x86_64-unknown-linux-gnu.tar.xz": "49425e37f45e428b569098174a28985aae3102965dfa7434ca8472d1b3e58b5e", - "2026-07-15/clippy-nightly-x86_64-apple-darwin.tar.xz": "2b1ca2938c8d3d35f9c26badd696d575db876260569900684c766cf8319960a7", - "2026-07-15/clippy-nightly-aarch64-apple-darwin.tar.xz": "7c95556525376e0250dcdfb9c36725e8c0c131c1c6ac3b7e5872279e040852fb", - "2026-07-15/clippy-nightly-x86_64-pc-windows-msvc.tar.xz": "e737590737fdf81e08af55c7cbc3e7f4883d5f68cbec4bd572ccb7af44fc15d8", - "2026-07-15/cargo-nightly-x86_64-unknown-linux-gnu.tar.xz": "4df5b9f2ad9b597d272fa9500d650561f22c8543233485078a13a64693e567c3", - "2026-07-15/cargo-nightly-x86_64-apple-darwin.tar.xz": "e45a0ab75df0e61a3429ab450e35551ca920b138be39dc5cf8af824dd36fcb15", - "2026-07-15/cargo-nightly-aarch64-apple-darwin.tar.xz": "81e1469252cd4630fdf221f9390cdb4604472c0ef6774e6162370864e5adc3e0", - "2026-07-15/cargo-nightly-x86_64-pc-windows-msvc.tar.xz": "077cf2ad9811cba2596faab7b5763f8430791263ab7f3961fa31f23aaa3d741d", - "2026-07-15/llvm-tools-nightly-x86_64-unknown-linux-gnu.tar.xz": "25823477ba51d4aba12beb19cb7d2c46d453357a4b6d1c301102fc06d0c5db28", - "2026-07-15/llvm-tools-nightly-x86_64-apple-darwin.tar.xz": "168f79a128b34c88a8cef03af0ced8986a99c52df4016e5d111cba3c4638e4e3", - "2026-07-15/llvm-tools-nightly-aarch64-apple-darwin.tar.xz": "f95a27de3a30e6ba3d36548663b434e625cd1bbbfb015eadd90f67d80f657c5a", - "2026-07-15/llvm-tools-nightly-x86_64-pc-windows-msvc.tar.xz": "1d48b7b8f511a23f270e9380f729ee414db918abbc88535fe419dd53aa0d5429", - "2026-07-15/rust-std-nightly-x86_64-unknown-linux-gnu.tar.xz": "4c1a2f508b6791a1059924e6369d813b46888215add0a5906af95266b33219b2", - "2026-07-15/rust-std-nightly-x86_64-apple-darwin.tar.xz": "a2438da77f7eb292f80a5cab3de1aa2e8deb718b89c0ba6e26ef5c76299cc048", - "2026-07-15/rust-std-nightly-aarch64-apple-darwin.tar.xz": "02c36fc7728dc17376062e7a0f3bf26439e1317317971ba9339b3a3a34dee2fa", - "2026-07-15/rust-std-nightly-x86_64-pc-windows-msvc.tar.xz": "5e724d34d34ec4ed34161bb890452640ddda11fd9ef64f6a74e47541d5b02583", + "2026-09-03/rustc-nightly-x86_64-unknown-linux-gnu.tar.xz": "bd1f0986150596835e808635d81786c60ab9da3981687dfb00918329925e837a", + "2026-09-03/rustc-nightly-x86_64-apple-darwin.tar.xz": "8f3da4fcdaf5c8574f723ee0dab80c0e47e59e97fb55c1b84a1dc96dc2b90f6b", + "2026-09-03/rustc-nightly-aarch64-apple-darwin.tar.xz": "ef4e9dda67ee052fb60b506f76a5dbd2f1c45822aec878b31b98c2fe75ab6f84", + "2026-09-03/rustc-nightly-x86_64-pc-windows-msvc.tar.xz": "b2feb930850f69c40c4fc4658a054676de9a3c263b6e1afbdad86b61ab0940ef", + "2026-09-03/clippy-nightly-x86_64-unknown-linux-gnu.tar.xz": "9715b53a8e80261f85eeddc6096e82e6038218ddd81e9fd8d7d5d558d076191b", + "2026-09-03/clippy-nightly-x86_64-apple-darwin.tar.xz": "83b26f9becd27e65b822a70d2f0ca1b676e0bad3d7a99597adf65326692744bb", + "2026-09-03/clippy-nightly-aarch64-apple-darwin.tar.xz": "51708a4c7399d2a71e5fcaa491a9e233e63c98f67dcad7bbe11fd164ba604690", + "2026-09-03/clippy-nightly-x86_64-pc-windows-msvc.tar.xz": "2990517d181ffe467505070d8842ae63089b781addedffa296100d018b746979", + "2026-09-03/cargo-nightly-x86_64-unknown-linux-gnu.tar.xz": "a60615509715996b8d4d54b30a7db8a1cd62400d06206dbeeb20b223ad1e6b34", + "2026-09-03/cargo-nightly-x86_64-apple-darwin.tar.xz": "1650d406de2cef5d7b0d573fa131937a09559c33b03766380fb3b97eb30b2493", + "2026-09-03/cargo-nightly-aarch64-apple-darwin.tar.xz": "058ced0d2b26cde728a0553a572c0895cbbc5bdaaf23dc995649737cb2dd043d", + "2026-09-03/cargo-nightly-x86_64-pc-windows-msvc.tar.xz": "1ce268af2f3e143b4a4aa114cfcead7091659af7b36660b007652b1f34329dff", + "2026-09-03/llvm-tools-nightly-x86_64-unknown-linux-gnu.tar.xz": "c4557aaddd0b4a65593bd1f8474322fe3d91e5cc41a0221f383a8780256ad102", + "2026-09-03/llvm-tools-nightly-x86_64-apple-darwin.tar.xz": "47d0e8184d270c223c298a227b0485afcfa5dc70429f5454b472a8b69ca03e9c", + "2026-09-03/llvm-tools-nightly-aarch64-apple-darwin.tar.xz": "141b1f097db3a292f8641fe6e4ec1e48edb758154a2defa2dbd4a088af72caf7", + "2026-09-03/llvm-tools-nightly-x86_64-pc-windows-msvc.tar.xz": "f6bb9e1cabc5b790bd419b7fe18c7ff132a40d0ff2db794efd2d5f4c0b535ba0", + "2026-09-03/rust-std-nightly-x86_64-unknown-linux-gnu.tar.xz": "7bfd37eda0920b04ef50b4785475c5fa2cea8df19c24f3879d0b5cac6e4dcdbc", + "2026-09-03/rust-std-nightly-x86_64-apple-darwin.tar.xz": "462e83115594799aff5d77a221b29a59d5e166435773c8eae37d047a8a5f39e1", + "2026-09-03/rust-std-nightly-aarch64-apple-darwin.tar.xz": "79f676f8265e332ece71eea226a3a9b124506c9460e758ca1f669f80e0336eb0", + "2026-09-03/rust-std-nightly-x86_64-pc-windows-msvc.tar.xz": "075661d74da5a65b8d5c8adb9375a868fea80d5b0e5c131af6f4cd059d6b3113", }, versions = [RUST_VERSION], ) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 121cacb2a5b2..80b98bd34610 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -5,6 +5,6 @@ # reflected by `MODULE.bazel` in this repository). [toolchain] -channel = "1.97" +channel = "1.98" profile = "minimal" components = [ "clippy", "rustfmt" ] From a343794767cec22837971ca7a60ee40d20f5847b Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 23 Sep 2026 15:37:57 +0200 Subject: [PATCH 02/11] QL: Update locked Rust dependencies Update dependencies to address issues that showed up in CI. Updating cc specifically fixed a Rust 1.98 Windows compilation error. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aaf47101-2cb9-4d38-9f6a-e492c4da4135 --- ql/Cargo.lock | 125 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 80 insertions(+), 45 deletions(-) diff --git a/ql/Cargo.lock b/ql/Cargo.lock index d6ea9ea343ef..c5889398d383 100644 --- a/ql/Cargo.lock +++ b/ql/Cargo.lock @@ -28,9 +28,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.18" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse", @@ -43,15 +43,15 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] @@ -109,10 +109,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.37" +version = "1.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40545c26d092346d8a8dab71ee48e7685a7a9cba76e634790c215b41a4a7b4cf" +checksum = "54413ede23c2daf518f35156dfde027feb2374004d63bd497f983c8db9c0e313" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", @@ -126,9 +127,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.44" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" dependencies = [ "iana-time-zone", "js-sys", @@ -140,9 +141,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.20" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" dependencies = [ "clap_builder", "clap_derive", @@ -150,9 +151,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.20" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" dependencies = [ "anstream", "anstyle", @@ -162,21 +163,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.18" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +checksum = "f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0" dependencies = [ "heck", "proc-macro2", "quote", - "syn", + "syn 3.0.6", ] [[package]] name = "clap_lex" -version = "0.7.2" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" [[package]] name = "codeql-extractor" @@ -338,6 +339,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "find-msvc-tools" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25905e51abafe4dcea6c15fec58c57b601cdbd0ee53d22ea1d3016c587d39b" + [[package]] name = "flate2" version = "1.1.0" @@ -450,9 +457,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.162" +version = "0.2.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" [[package]] name = "log" @@ -532,9 +539,9 @@ checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" dependencies = [ "unicode-ident", ] @@ -570,9 +577,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.12.3" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" dependencies = [ "aho-corasick", "memchr", @@ -582,9 +589,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.14" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" dependencies = [ "aho-corasick", "memchr", @@ -593,9 +600,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "ryu" @@ -605,34 +612,45 @@ checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "serde" -version = "1.0.214" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.214" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.6", ] [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] @@ -659,9 +677,9 @@ dependencies = [ [[package]] name = "shlex" -version = "1.3.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" [[package]] name = "smallvec" @@ -692,6 +710,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "thread_local" version = "1.1.8" @@ -721,7 +750,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.87", ] [[package]] @@ -802,9 +831,9 @@ checksum = "e8ddffe35a0e5eeeadf13ff7350af564c6e73993a24db62caee1822b185c2600" [[package]] name = "tree-sitter-python" -version = "0.23.6" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d065aaa27f3aaceaf60c1f0e0ac09e1cb9eb8ed28e7bcdaa52129cffc7f4b04" +checksum = "6bf85fd39652e740bf60f46f4cda9492c3a9ad75880575bf14960f775cb74a1c" dependencies = [ "cc", "tree-sitter-language", @@ -884,7 +913,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn", + "syn 2.0.87", "wasm-bindgen-shared", ] @@ -906,7 +935,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -1026,7 +1055,7 @@ version = "0.1.0" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.6", ] [[package]] @@ -1038,6 +1067,12 @@ dependencies = [ "serde_yaml", ] +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" + [[package]] name = "zstd" version = "0.13.3" From ddd4bf0942b8242dbb303f1f4d44368d917fb725 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 23 Sep 2026 14:31:40 +0200 Subject: [PATCH 03/11] Shared: Avoid unnecessary unwrap in YAML conversion Fixes the clippy::unnecessary_unwrap lint error reported by Clippy 1.98. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aaf47101-2cb9-4d38-9f6a-e492c4da4135 --- shared/yeast-schema/src/node_types_yaml.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shared/yeast-schema/src/node_types_yaml.rs b/shared/yeast-schema/src/node_types_yaml.rs index 97052f9a835b..c2d27793a18c 100644 --- a/shared/yeast-schema/src/node_types_yaml.rs +++ b/shared/yeast-schema/src/node_types_yaml.rs @@ -205,11 +205,11 @@ pub fn convert(yaml_input: &str) -> Result { "types": types, }); - if spec.name.is_none() { + if let Some(name) = spec.name { + json_fields.insert(name, field_info); + } else { // $children json_children = Some(field_info); - } else { - json_fields.insert(spec.name.unwrap(), field_info); } } From 36977e75f368b563a65ad4ec87c87df1bb4c30af Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 23 Sep 2026 14:31:42 +0200 Subject: [PATCH 04/11] Shared: Move Yeast helper before test module Fixes the clippy::items_after_test_module lint error reported by Clippy 1.98. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aaf47101-2cb9-4d38-9f6a-e492c4da4135 --- shared/yeast/src/dump.rs | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/shared/yeast/src/dump.rs b/shared/yeast/src/dump.rs index ddcf3ae12b4e..843d0afc2463 100644 --- a/shared/yeast/src/dump.rs +++ b/shared/yeast/src/dump.rs @@ -522,6 +522,20 @@ fn source_skeleton(ast: &Ast, node: &Node, source: &str) -> SourceSkeleton { SourceSkeleton::Text(result) } +fn node_content(node: &Node, source: &str) -> String { + match &node.content { + NodeContent::DynamicString(s) if !s.is_empty() => s.clone(), + _ => { + let range = node.byte_range(); + if range.start < source.len() && range.end <= source.len() { + source[range.start..range.end].to_string() + } else { + String::new() + } + } + } +} + #[cfg(test)] mod tests { use super::*; @@ -675,17 +689,3 @@ mod tests { .starts_with("parent source=\n")); } } - -fn node_content(node: &Node, source: &str) -> String { - match &node.content { - NodeContent::DynamicString(s) if !s.is_empty() => s.clone(), - _ => { - let range = node.byte_range(); - if range.start < source.len() && range.end <= source.len() { - source[range.start..range.end].to_string() - } else { - String::new() - } - } - } -} From cf35fbec92731591ae233b21d262599fc926fed4 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 23 Sep 2026 14:31:45 +0200 Subject: [PATCH 05/11] Ruby: Initialize Ruby code ranges directly Fixes the clippy::needless_late_init lint error reported by Clippy 1.98. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aaf47101-2cb9-4d38-9f6a-e492c4da4135 --- ruby/extractor/src/extractor.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ruby/extractor/src/extractor.rs b/ruby/extractor/src/extractor.rs index 3749609e7885..cd8d69807b2d 100644 --- a/ruby/extractor/src/extractor.rs +++ b/ruby/extractor/src/extractor.rs @@ -114,9 +114,8 @@ pub fn run(options: Options) -> std::io::Result<()> { let src_archive_file = file_paths::path_for(&src_archive_dir, &path, "", path_transformer.as_ref()); let mut source = std::fs::read(&path)?; let mut needs_conversion = false; - let code_ranges; let mut trap_writer = trap::Writer::new(); - if path.extension().is_some_and(|x| x == "erb") { + let code_ranges = if path.extension().is_some_and(|x| x == "erb") { tracing::info!("scanning: {}", path.display()); extractor::extract( &erb, @@ -142,7 +141,7 @@ pub fn run(options: Options) -> std::io::Result<()> { source[i] = b'\n'; } } - code_ranges = ranges; + ranges } else { if let Some(encoding_name) = scan_coding_comment(&source) { // If the input is already UTF-8 then there is no need to recode the source @@ -204,8 +203,8 @@ pub fn run(options: Options) -> std::io::Result<()> { } } } - code_ranges = vec![]; - } + vec![] + }; extractor::extract( &language, "ruby", From fe28e62da6c37540dc38118dedf67e5f1f2ea13c Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 23 Sep 2026 14:31:47 +0200 Subject: [PATCH 06/11] Unified: Remove needless corpus path borrow Fixes the clippy::needless_borrows_for_generic_args lint error reported by Clippy 1.98. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aaf47101-2cb9-4d38-9f6a-e492c4da4135 --- unified/extractor/tests/corpus_tests.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/extractor/tests/corpus_tests.rs b/unified/extractor/tests/corpus_tests.rs index 852e72452c5b..c757f269d010 100644 --- a/unified/extractor/tests/corpus_tests.rs +++ b/unified/extractor/tests/corpus_tests.rs @@ -123,7 +123,7 @@ fn test_corpus() { let output_schema = yeast::node_types_yaml::schema_from_yaml(languages::OUTPUT_AST_SCHEMA) .expect("Failed to parse OUTPUT_AST_SCHEMA YAML"); - let lang_corpus_dir = corpus_dir.join(&lang.prefix); + let lang_corpus_dir = corpus_dir.join(lang.prefix); if !lang_corpus_dir.exists() { continue; } From e95999b46f0f7c6f6c559b69c41c84dc452944b6 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 23 Sep 2026 14:31:59 +0200 Subject: [PATCH 07/11] QL: Remove needless tree-sitter build borrows Fixes the clippy::needless_borrows_for_generic_args lint errors reported by Clippy 1.98. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aaf47101-2cb9-4d38-9f6a-e492c4da4135 --- ql/buramu/tree-sitter-blame/bindings/rust/build.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ql/buramu/tree-sitter-blame/bindings/rust/build.rs b/ql/buramu/tree-sitter-blame/bindings/rust/build.rs index 4cc26f5e0f86..067936913bdd 100644 --- a/ql/buramu/tree-sitter-blame/bindings/rust/build.rs +++ b/ql/buramu/tree-sitter-blame/bindings/rust/build.rs @@ -2,7 +2,7 @@ fn main() { let src_dir = std::path::Path::new("src"); let mut c_config = cc::Build::new(); - c_config.include(&src_dir); + c_config.include(src_dir); c_config .flag_if_supported("-Wno-unused-parameter") .flag_if_supported("-Wno-unused-but-set-variable") @@ -11,7 +11,7 @@ fn main() { c_config.flag("-utf-8"); let parser_path = src_dir.join("parser.c"); - c_config.file(&parser_path); + c_config.file(parser_path.as_path()); // If your language uses an external scanner written in C, // then include this block of code: From f5a18e1de53b165af2f5d03ee7c7177ca7912928 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 23 Sep 2026 14:32:39 +0200 Subject: [PATCH 08/11] QL: Remove needless Buramu argument borrow Fixes the clippy::needless_borrows_for_generic_args lint error reported by Clippy 1.98. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aaf47101-2cb9-4d38-9f6a-e492c4da4135 --- ql/buramu/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ql/buramu/src/main.rs b/ql/buramu/src/main.rs index f91ba8352efc..0e35e0c12207 100644 --- a/ql/buramu/src/main.rs +++ b/ql/buramu/src/main.rs @@ -24,7 +24,7 @@ fn test_get_filename_and_lineno() { fn get_files_with_deprecations() -> FileDeprecations { let output = Command::new("git") - .args(&[ + .args([ "grep", "-n", "-E", From abb0f30afb5ec15b2d37f08798375f76db734c33 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 23 Sep 2026 14:33:12 +0200 Subject: [PATCH 09/11] Python: Borrow Python grammar language in test Fixes the all-targets compilation error exposed while running Clippy with Rust 1.98. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aaf47101-2cb9-4d38-9f6a-e492c4da4135 --- python/extractor/tsg-python/tsp/bindings/rust/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/extractor/tsg-python/tsp/bindings/rust/lib.rs b/python/extractor/tsg-python/tsp/bindings/rust/lib.rs index 560277354f2a..33a32e703f3b 100644 --- a/python/extractor/tsg-python/tsp/bindings/rust/lib.rs +++ b/python/extractor/tsg-python/tsp/bindings/rust/lib.rs @@ -62,7 +62,7 @@ mod tests { fn can_load_grammar() { let mut parser = tree_sitter::Parser::new(); parser - .set_language(super::language()) + .set_language(&super::language()) .expect("Error loading Python grammar"); } } From b96659bd9fc567b7ccd2ed2c176a1a9f6958806d Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 23 Sep 2026 14:33:33 +0200 Subject: [PATCH 10/11] Ruby: Make Ruby encoding lifetime explicit Fixes the mismatched_lifetime_syntaxes lint error reported by Rust 1.98. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aaf47101-2cb9-4d38-9f6a-e492c4da4135 --- ruby/extractor/src/extractor.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby/extractor/src/extractor.rs b/ruby/extractor/src/extractor.rs index cd8d69807b2d..91852a5b0057 100644 --- a/ruby/extractor/src/extractor.rs +++ b/ruby/extractor/src/extractor.rs @@ -371,7 +371,7 @@ fn get_overlay_changed_files() -> Option> { ) } -fn scan_coding_comment(content: &[u8]) -> std::option::Option> { +fn scan_coding_comment(content: &[u8]) -> std::option::Option> { let mut index = 0; // skip UTF-8 BOM marker if there is one if content.len() >= 3 && content[0] == 0xef && content[1] == 0xbb && content[2] == 0xbf { From b3a77e45a362f3d6cefb3057ddb772f8a0ef69b0 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 23 Sep 2026 14:33:56 +0200 Subject: [PATCH 11/11] QL: Use default Buramu map entries Fixes the clippy::unwrap_or_default lint error reported by Clippy 1.98. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aaf47101-2cb9-4d38-9f6a-e492c4da4135 --- ql/buramu/src/main.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ql/buramu/src/main.rs b/ql/buramu/src/main.rs index 0e35e0c12207..91e6cc298605 100644 --- a/ql/buramu/src/main.rs +++ b/ql/buramu/src/main.rs @@ -38,10 +38,7 @@ fn get_files_with_deprecations() -> FileDeprecations { let mut file_deprecations: FileDeprecations = HashMap::new(); for line in output.stdout.lines() { let (file, lineno) = get_filename_and_lineno(&line.unwrap()); - file_deprecations - .entry(file) - .or_insert_with(Vec::new) - .push(lineno); + file_deprecations.entry(file).or_default().push(lineno); } file_deprecations }