From ab75d9950c6d06c921d9741182cc3de278fec276 Mon Sep 17 00:00:00 2001 From: Taus Date: Wed, 15 Apr 2026 12:54:41 +0000 Subject: [PATCH 001/190] Cargo: upgrade dependencies --- Cargo.lock | 1527 +++++++++++------------ ruby/extractor/Cargo.toml | 10 +- rust/ast-generator/Cargo.toml | 8 +- rust/extractor/Cargo.toml | 50 +- rust/extractor/macros/Cargo.toml | 4 +- shared/tree-sitter-extractor/Cargo.toml | 10 +- 6 files changed, 791 insertions(+), 818 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b6456c841063..71a3dd0eabdd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,9 +10,9 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -34,9 +34,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.20" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse", @@ -49,26 +49,26 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "anstyle-parse" -version = "0.2.7" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.0", ] [[package]] @@ -84,15 +84,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "argfile" -version = "0.2.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a1cc0ba69de57db40674c66f7cf2caee3981ddef084388482c95c0e2133e5e8" +checksum = "99489a733dea0d2930bfa59c243146a8513ce7b0991b9d006647687cc61f53e7" dependencies = [ "fs-err", "os_str_bytes", @@ -110,7 +110,7 @@ version = "0.1.0" dependencies = [ "anyhow", "either", - "itertools 0.14.0", + "itertools", "mustache", "proc-macro2", "quote", @@ -128,6 +128,15 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "atomic-polyfill" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" +dependencies = [ + "critical-section", +] + [[package]] name = "autocfg" version = "1.5.0" @@ -148,16 +157,17 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.4" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" +checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" [[package]] name = "borsh" -version = "1.5.7" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" +checksum = "cfd1e3f8955a5d7de9fab72fc8373fade9fb8a703968cb200ae3dc6cf08e185a" dependencies = [ + "bytes", "cfg_aliases", ] @@ -190,48 +200,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" [[package]] -name = "camino" -version = "1.1.12" +name = "byteorder" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0b03af37dad7a14518b7691d81acb0f8222604ad3d1b02f6b4bed5188c0cd5" -dependencies = [ - "serde", -] +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] -name = "cargo-platform" -version = "0.2.0" +name = "bytes" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" + +[[package]] +name = "camino" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84982c6c0ae343635a3a4ee6dedef965513735c8b183caa7289fa6e27399ebd4" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" dependencies = [ - "serde", + "serde_core", ] [[package]] -name = "cargo-util-schemas" -version = "0.8.2" +name = "cargo-platform" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dc1a6f7b5651af85774ae5a34b4e8be397d9cf4bc063b7e6dbd99a841837830" +checksum = "87a0c0e6148f11f01f32650a2ea02d532b2ad4e81d8bd41e6e565b5adc5e6082" dependencies = [ - "semver", "serde", - "serde-untagged", - "serde-value", - "thiserror", - "toml 0.8.23", - "unicode-xid", - "url", + "serde_core", ] [[package]] name = "cargo_metadata" -version = "0.21.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cfca2aaa699835ba88faf58a06342a314a950d2b9686165e038286c30316868" +checksum = "ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9" dependencies = [ "camino", "cargo-platform", - "cargo-util-schemas", "semver", "serde", "serde_json", @@ -240,9 +246,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.37" +version = "1.2.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65193589c6404eb80b450d618eaf9a2cafaaafd57ecce47370519ef674a7bd44" +checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" dependencies = [ "find-msvc-tools", "jobserver", @@ -252,9 +258,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" @@ -263,15 +269,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] -name = "chalk-derive" -version = "0.103.0" +name = "chacha20" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb4899682de915ca7c0b025bdd0a3d34c75fe12184122fda6805a7baddaa293c" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", + "cfg-if", + "cpufeatures", + "rand_core", ] [[package]] @@ -286,60 +291,21 @@ dependencies = [ "synstructure", ] -[[package]] -name = "chalk-ir" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90a37d2ab99352b4caca135061e7b4ac67024b648c28ed0b787feec4bea4caed" -dependencies = [ - "bitflags 2.9.4", - "chalk-derive 0.103.0", -] - [[package]] name = "chalk-ir" version = "0.104.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7047a516de16226cd17344d41a319d0ea1064bf9e60bd612ab341ab4a34bbfa8" dependencies = [ - "bitflags 2.9.4", - "chalk-derive 0.104.0", -] - -[[package]] -name = "chalk-recursive" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c855be60e646664bc37c2496d3dc81ca5ef60520930e5e0f0057a0575aff6c19" -dependencies = [ - "chalk-derive 0.103.0", - "chalk-ir 0.103.0", - "chalk-solve", - "rustc-hash 1.1.0", - "tracing", -] - -[[package]] -name = "chalk-solve" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "477ac6cdfd2013e9f93b09b036c2b607a67b2e728f4777b8422d55a79e9e3a34" -dependencies = [ - "chalk-derive 0.103.0", - "chalk-ir 0.103.0", - "ena", - "indexmap 2.11.4", - "itertools 0.12.1", - "petgraph", - "rustc-hash 1.1.0", - "tracing", + "bitflags 2.11.1", + "chalk-derive", ] [[package]] name = "chrono" -version = "0.4.42" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ "iana-time-zone", "js-sys", @@ -351,9 +317,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.48" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae" +checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" dependencies = [ "clap_builder", "clap_derive", @@ -361,9 +327,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.48" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ "anstream", "anstyle", @@ -373,9 +339,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.47" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" +checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" dependencies = [ "heck", "proc-macro2", @@ -385,9 +351,18 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.5" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" + +[[package]] +name = "cobs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" +dependencies = [ + "thiserror", +] [[package]] name = "codeql-autobuilder-rust" @@ -443,14 +418,14 @@ version = "0.1.0" dependencies = [ "anyhow", "argfile", - "chalk-ir 0.104.0", + "chalk-ir", "chrono", "clap", "codeql-extractor", "dunce", "figment", "glob", - "itertools 0.14.0", + "itertools", "mustache", "num-traits", "ra_ap_base_db", @@ -472,7 +447,7 @@ dependencies = [ "serde", "serde_json", "serde_with", - "toml 0.9.7", + "toml 1.1.2+spec-1.1.0", "tracing", "tracing-flame", "tracing-subscriber", @@ -481,9 +456,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" [[package]] name = "core-foundation-sys" @@ -503,6 +478,15 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f1d92727879fb4f24cec33a35e3bff74035541326cbc12ad44ba8886d1927b0" +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.5.0" @@ -512,6 +496,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + [[package]] name = "crossbeam-channel" version = "0.5.15" @@ -557,9 +547,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "darling" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" dependencies = [ "darling_core", "darling_macro", @@ -567,11 +557,10 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" dependencies = [ - "fnv", "ident_case", "proc-macro2", "quote", @@ -581,9 +570,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core", "quote", @@ -615,16 +604,22 @@ dependencies = [ ] [[package]] -name = "displaydoc" -version = "0.2.5" +name = "derive-where" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +checksum = "d08b3a0bcc0d079199cd476b2cae8435016ec11d1c0986c6901c5ac223041534" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "dissimilar" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeda16ab4059c5fd2a83f2b9c9e9c981327b18aa8e3b313f7e6563799d4f093e" + [[package]] name = "drop_bomb" version = "0.1.5" @@ -649,13 +644,25 @@ version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + [[package]] name = "ena" version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" dependencies = [ - "log 0.4.28", + "log 0.4.29", ] [[package]] @@ -728,16 +735,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" -[[package]] -name = "erased-serde" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" -dependencies = [ - "serde", - "typeid", -] - [[package]] name = "figment" version = "0.10.19" @@ -754,15 +751,15 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.1" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "fixedbitset" -version = "0.4.2" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" @@ -774,32 +771,17 @@ dependencies = [ "miniz_oxide", ] -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "foldhash" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" -[[package]] -name = "form_urlencoded" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" -dependencies = [ - "percent-encoding", -] - [[package]] name = "fs-err" -version = "2.11.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +checksum = "73fde052dbfc920003cfd2c8e2c6e6d4cc7c1091538c3a24226cec0665ab08c0" dependencies = [ "autocfg", ] @@ -821,14 +803,28 @@ checksum = "7ab85b9b05e3978cc9a9cf8fea7f01b494e1a09ed3037e16ba39edc7a29eb61a" [[package]] name = "getrandom" -version = "0.3.3" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi 5.3.0", + "wasip2", +] + +[[package]] +name = "getrandom" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ "cfg-if", "libc", - "r-efi", - "wasi 0.14.5+wasi-0.2.4", + "r-efi 6.0.0", + "rand_core", + "wasip2", + "wasip3", ] [[package]] @@ -845,11 +841,20 @@ checksum = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5" dependencies = [ "aho-corasick", "bstr", - "log 0.4.28", + "log 0.4.29", "regex-automata", "regex-syntax", ] +[[package]] +name = "hash32" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -873,6 +878,12 @@ dependencies = [ "foldhash", ] +[[package]] +name = "hashbrown" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" + [[package]] name = "hashlink" version = "0.10.0" @@ -882,6 +893,20 @@ dependencies = [ "hashbrown 0.15.5", ] +[[package]] +name = "heapless" +version = "0.7.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" +dependencies = [ + "atomic-polyfill", + "hash32", + "rustc_version", + "serde", + "spin", + "stable_deref_trait", +] + [[package]] name = "heck" version = "0.5.0" @@ -902,11 +927,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "home" -version = "0.5.11" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.0", ] [[package]] @@ -919,7 +944,7 @@ dependencies = [ "core-foundation-sys", "iana-time-zone-haiku", "js-sys", - "log 0.4.28", + "log 0.4.29", "wasm-bindgen", "windows-core", ] @@ -934,90 +959,10 @@ dependencies = [ ] [[package]] -name = "icu_collections" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" -dependencies = [ - "displaydoc", - "potential_utf", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locale_core" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_normalizer" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "2.0.0" +name = "id-arena" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" - -[[package]] -name = "icu_properties" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", - "potential_utf", - "zerotrie", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" - -[[package]] -name = "icu_provider" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" -dependencies = [ - "displaydoc", - "icu_locale_core", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerotrie", - "zerovec", -] +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "ident_case" @@ -1025,27 +970,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -[[package]] -name = "idna" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - [[package]] name = "indexmap" version = "1.9.3" @@ -1059,12 +983,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.11.4" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.15.5", + "hashbrown 0.17.0", "serde", "serde_core", ] @@ -1081,7 +1005,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.11.1", "inotify-sys", "libc", ] @@ -1105,19 +1029,19 @@ dependencies = [ ] [[package]] -name = "is_terminal_polyfill" -version = "1.70.1" +name = "inventory" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a4f0c30c76f2f4ccee3fe55a2435f691ca00c0e4bd87abe4f4a851b1d4dac39b" +dependencies = [ + "rustversion", +] [[package]] -name = "itertools" -version = "0.12.1" +name = "is_terminal_polyfill" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -1130,9 +1054,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jobserver" @@ -1140,7 +1064,7 @@ version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "getrandom", + "getrandom 0.3.4", "libc", ] @@ -1192,11 +1116,17 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "libc" -version = "0.2.175" +version = "0.2.185" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" +checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f" [[package]] name = "line-index" @@ -1208,12 +1138,6 @@ dependencies = [ "text-size", ] -[[package]] -name = "litemap" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" - [[package]] name = "lock_api" version = "0.4.13" @@ -1230,14 +1154,14 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" dependencies = [ - "log 0.4.28", + "log 0.4.29", ] [[package]] name = "log" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "matchers" @@ -1250,9 +1174,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.5" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memoffset" @@ -1274,14 +1198,14 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.4" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" dependencies = [ "libc", - "log 0.4.28", - "wasi 0.11.1+wasi-snapshot-preview1", - "windows-sys 0.59.0", + "log 0.4.29", + "wasi", + "windows-sys 0.61.0", ] [[package]] @@ -1315,12 +1239,12 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.11.1", "fsevent-sys", "inotify", "kqueue", "libc", - "log 0.4.28", + "log 0.4.29", "mio", "notify-types", "walkdir", @@ -1344,9 +1268,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" [[package]] name = "num-traits" @@ -1367,11 +1291,20 @@ dependencies = [ "libc", ] +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + [[package]] name = "once_cell" -version = "1.21.3" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "once_cell_polyfill" @@ -1385,15 +1318,6 @@ version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] - [[package]] name = "os_str_bytes" version = "7.1.1" @@ -1403,16 +1327,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "papaya" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f92dd0b07c53a0a0c764db2ace8c541dc47320dad97c2200c2a637ab9dd2328f" -dependencies = [ - "equivalent", - "seize", -] - [[package]] name = "parking_lot" version = "0.12.4" @@ -1459,17 +1373,11 @@ dependencies = [ "syn", ] -[[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - [[package]] name = "perf-event" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5396562cd2eaa828445d6d34258ae21ee1eb9d40fe626ca7f51c8dccb4af9d66" +checksum = "b4d6393d9238342159080d79b78cb59c67399a8e7ecfa5d410bd614169e4e823" dependencies = [ "libc", "perf-event-open-sys", @@ -1477,28 +1385,29 @@ dependencies = [ [[package]] name = "perf-event-open-sys" -version = "1.0.1" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce9bedf5da2c234fdf2391ede2b90fabf585355f33100689bc364a3ea558561a" +checksum = "7c44fb1c7651a45a3652c4afc6e754e40b3d6e6556f1487e2b230bfc4f33c2a8" dependencies = [ "libc", ] [[package]] name = "petgraph" -version = "0.6.5" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", - "indexmap 2.11.4", + "hashbrown 0.15.5", + "indexmap 2.14.0", ] [[package]] name = "pin-project-lite" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pkg-config" @@ -1513,12 +1422,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] -name = "potential_utf" -version = "0.1.3" +name = "postcard" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" +checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" dependencies = [ - "zerovec", + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "heapless", + "serde", ] [[package]] @@ -1528,19 +1441,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] -name = "ppv-lite86" -version = "0.2.21" +name = "prettyplease" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ - "zerocopy", + "proc-macro2", + "syn", ] [[package]] name = "proc-macro2" -version = "1.0.101" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -1560,9 +1474,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.41" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] @@ -1573,42 +1487,53 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "ra-ap-rustc_abi" -version = "0.123.0" +version = "0.143.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f18c877575c259d127072e9bfc41d985202262fb4d6bfdae3d1252147c2562c2" +checksum = "1d49dbe5d570793b3c3227972a6ac85fc3e830f09b32c3cb3b68cfceebad3b0a" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.11.1", "ra-ap-rustc_hashes", "ra-ap-rustc_index", "tracing", ] +[[package]] +name = "ra-ap-rustc_ast_ir" +version = "0.143.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0956db62c264a899d15667993cbbd2e8f0b02108712217e2579c61ac30b94b" + [[package]] name = "ra-ap-rustc_hashes" -version = "0.123.0" +version = "0.143.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2439ed1df3472443133b66949f81080dff88089b42f825761455463709ee1cad" +checksum = "7df512084c24f4c96c8cc9a59cbd264301efbc8913d3759b065398024af316c9" dependencies = [ "rustc-stable-hash", ] [[package]] name = "ra-ap-rustc_index" -version = "0.123.0" +version = "0.143.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a24fe0be21be1f8ebc21dcb40129214fb4cefb0f2753f3d46b6dbe656a1a45" +checksum = "bca3a49a928d38ba7927605e5909b6abe77d09ff359e4695c070c3f91d69cc8a" dependencies = [ "ra-ap-rustc_index_macros", - "smallvec", ] [[package]] name = "ra-ap-rustc_index_macros" -version = "0.123.0" +version = "0.143.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "844a27ddcad0116facae2df8e741fd788662cf93dc13029cd864f2b8013b81f9" +checksum = "4463e908a62c64c2a65c1966c2f4995d0e1f8b7dfc85a8b8de2562edf3d89070" dependencies = [ "proc-macro2", "quote", @@ -1617,9 +1542,9 @@ dependencies = [ [[package]] name = "ra-ap-rustc_lexer" -version = "0.121.0" +version = "0.143.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22944e31fb91e9b3e75bcbc91e37d958b8c0825a6160927f2856831d2ce83b36" +checksum = "228e01e1b237adb4bd8793487e1c37019c1e526a8f93716d99602301be267056" dependencies = [ "memchr", "unicode-properties", @@ -1627,47 +1552,81 @@ dependencies = [ ] [[package]] -name = "ra-ap-rustc_lexer" -version = "0.123.0" +name = "ra-ap-rustc_next_trait_solver" +version = "0.143.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b734cfcb577d09877799a22742f1bd398be6c00bc428d9de56d48d11ece5771" +checksum = "10d6f91143011d474bb844d268b0784c6a4c6db57743558b83f5ad34511627f1" dependencies = [ - "memchr", - "unicode-properties", - "unicode-xid", + "derive-where", + "ra-ap-rustc_index", + "ra-ap-rustc_type_ir", + "ra-ap-rustc_type_ir_macros", + "tracing", ] [[package]] name = "ra-ap-rustc_parse_format" -version = "0.121.0" +version = "0.143.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81057891bc2063ad9e353f29462fbc47a0f5072560af34428ae9313aaa5e9d97" +checksum = "37fa8effbc436c0ddd9d7b1421aa3cccf8b94566c841c4e4aa3e09063b8f423f" dependencies = [ - "ra-ap-rustc_lexer 0.121.0", - "rustc-literal-escaper", + "ra-ap-rustc_lexer", + "rustc-literal-escaper 0.0.5", ] [[package]] name = "ra-ap-rustc_pattern_analysis" -version = "0.123.0" +version = "0.143.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b0ee1f059b9dea0818c6c7267478926eee95ba4c7dcf89c8db32fa165d3904" +checksum = "883c843fc27847ad03b8e772dd4a2d2728af4333a6d6821a22dfcfe7136dff3e" dependencies = [ "ra-ap-rustc_index", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "rustc_apfloat", "smallvec", "tracing", ] +[[package]] +name = "ra-ap-rustc_type_ir" +version = "0.143.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a86e33c46b2b261a173b23f207461a514812a8b2d2d7935bbc685f733eacce10" +dependencies = [ + "arrayvec", + "bitflags 2.11.1", + "derive-where", + "ena", + "indexmap 2.14.0", + "ra-ap-rustc_ast_ir", + "ra-ap-rustc_index", + "ra-ap-rustc_type_ir_macros", + "rustc-hash 2.1.2", + "smallvec", + "thin-vec", + "tracing", +] + +[[package]] +name = "ra-ap-rustc_type_ir_macros" +version = "0.143.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15034c2fcaa5cf302aea6db20eda0f71fffeb0b372d6073cc50f940e974a2a47" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + [[package]] name = "ra_ap_base_db" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e876bb2c3e52a8d4e6684526a2d4e81f9d028b939ee4dc5dc775fe10deb44d59" +checksum = "b1567168e7c7b50acf2ffb87bde8937986d4f41c777a2c308298ede9d555c96c" dependencies = [ "dashmap", - "indexmap 2.11.4", + "indexmap 2.14.0", "la-arena", "ra_ap_cfg", "ra_ap_intern", @@ -1675,7 +1634,7 @@ dependencies = [ "ra_ap_span", "ra_ap_syntax", "ra_ap_vfs", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "salsa", "salsa-macros", "semver", @@ -1685,32 +1644,33 @@ dependencies = [ [[package]] name = "ra_ap_cfg" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a0b56eb4536ce6d2431932c4d337aeeaf7bb22c9249b38cbe80677b5881228f" +checksum = "1e1fc8d53014b0ec4c06c9dbf0a810ccd67b3a96de4ef06bd1a248c2295b6a37" dependencies = [ "ra_ap_intern", + "ra_ap_syntax", "ra_ap_tt", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "tracing", ] [[package]] name = "ra_ap_edition" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bdc6cbe42c63ca78611bae82bfc8db24864f33dccc813697c5fde43a0907285" +checksum = "627a8ce8e870632395b7bf053c93039a3d91dda744ccae166ac83650572cfaa2" [[package]] name = "ra_ap_hir" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebffdc134eccabc17209d7760cfff7fd12ed18ab6e21188c5e084b97aa38504c" +checksum = "b77616ef81f690a3eba4befd32112780b99f052676b0e7686a22bf79f3fbe2a8" dependencies = [ "arrayvec", "either", - "indexmap 2.11.4", - "itertools 0.14.0", + "itertools", + "ra-ap-rustc_type_ir", "ra_ap_base_db", "ra_ap_cfg", "ra_ap_hir_def", @@ -1721,7 +1681,8 @@ dependencies = [ "ra_ap_stdx", "ra_ap_syntax", "ra_ap_tt", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", + "serde_json", "smallvec", "tracing", "triomphe", @@ -1729,18 +1690,18 @@ dependencies = [ [[package]] name = "ra_ap_hir_def" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81d2337ef59550392d42aa997aa1105a3d6d1c2b3a583c777786bc4a0a074fd5" +checksum = "81504dd727efbaf48704a9c0e18e6491cb9848428376ad37146f37f63571ab3c" dependencies = [ "arrayvec", - "bitflags 2.9.4", + "bitflags 2.11.1", "cov-mark", "drop_bomb", "either", "fst", - "indexmap 2.11.4", - "itertools 0.14.0", + "indexmap 2.14.0", + "itertools", "la-arena", "ra-ap-rustc_abi", "ra-ap-rustc_parse_format", @@ -1748,18 +1709,17 @@ dependencies = [ "ra_ap_cfg", "ra_ap_hir_expand", "ra_ap_intern", - "ra_ap_mbe", "ra_ap_query-group-macro", "ra_ap_span", "ra_ap_stdx", "ra_ap_syntax", + "ra_ap_syntax-bridge", "ra_ap_tt", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "rustc_apfloat", "salsa", "salsa-macros", "smallvec", - "text-size", "thin-vec", "tracing", "triomphe", @@ -1767,13 +1727,13 @@ dependencies = [ [[package]] name = "ra_ap_hir_expand" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97cf8ececb2743a819d8299a408e17f164dd1a1004d65936b3d5493b55330326" +checksum = "9980623345a88d4431ce80331e640c494e2e59303e82a2cb1290b4684efdc6e5" dependencies = [ "cov-mark", "either", - "itertools 0.14.0", + "itertools", "ra_ap_base_db", "ra_ap_cfg", "ra_ap_intern", @@ -1785,110 +1745,119 @@ dependencies = [ "ra_ap_syntax", "ra_ap_syntax-bridge", "ra_ap_tt", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "salsa", "salsa-macros", "smallvec", + "thin-vec", "tracing", "triomphe", ] [[package]] name = "ra_ap_hir_ty" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc004e1099ba766a61500c27d34eb5cd336430d0a89a9620315a90d7a202a73a" +checksum = "b822d1b9f0168281bbba34e0c5abada891fa9fc5e0b54e86493e8b075a877973" dependencies = [ "arrayvec", - "bitflags 2.9.4", - "chalk-derive 0.103.0", - "chalk-ir 0.103.0", - "chalk-recursive", - "chalk-solve", "cov-mark", "either", "ena", - "indexmap 2.11.4", - "itertools 0.14.0", + "indexmap 2.14.0", + "itertools", "la-arena", "oorandom", + "petgraph", "ra-ap-rustc_abi", + "ra-ap-rustc_ast_ir", "ra-ap-rustc_index", + "ra-ap-rustc_next_trait_solver", "ra-ap-rustc_pattern_analysis", + "ra-ap-rustc_type_ir", "ra_ap_base_db", "ra_ap_hir_def", "ra_ap_hir_expand", "ra_ap_intern", + "ra_ap_macros", "ra_ap_query-group-macro", "ra_ap_span", "ra_ap_stdx", "ra_ap_syntax", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "rustc_apfloat", "salsa", "salsa-macros", - "scoped-tls", + "serde", + "serde_derive", "smallvec", + "thin-vec", "tracing", + "tracing-subscriber", + "tracing-tree", "triomphe", "typed-arena", ] [[package]] name = "ra_ap_ide_db" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2acb572d6dbeb1c96d0339890ba91298b8f5f0ab22648da4ee2b4ab77dbc3fe" +checksum = "0e250964a32be6c74f1f72e0fd8aea08aaed0535d85a7fd315fe442942185da0" dependencies = [ "arrayvec", - "bitflags 2.9.4", + "bitflags 2.11.1", "cov-mark", "crossbeam-channel", "either", "fst", - "indexmap 2.11.4", - "itertools 0.14.0", + "itertools", "line-index", "memchr", "nohash-hasher", "ra_ap_base_db", "ra_ap_hir", + "ra_ap_macros", "ra_ap_parser", "ra_ap_profile", "ra_ap_query-group-macro", "ra_ap_span", "ra_ap_stdx", "ra_ap_syntax", + "ra_ap_test_fixture", + "ra_ap_test_utils", "ra_ap_vfs", "rayon", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "salsa", "salsa-macros", + "smallvec", "tracing", "triomphe", ] [[package]] name = "ra_ap_intern" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14586c2c4781b69fdd0c505972d9bff8c162a8740537a3ee506faff686d9a20d" +checksum = "df7edf9d14d093b4314b43ed75eaf56d47d870a09b8d0e0e67d17919c30bfb0f" dependencies = [ "dashmap", "hashbrown 0.14.5", - "rustc-hash 2.1.1", + "rayon", + "rustc-hash 2.1.2", "triomphe", ] [[package]] name = "ra_ap_load-cargo" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50ce5546b3e3414507ab4d12348d0a28748062e33a1448895c68466d0b015503" +checksum = "184cdaabfb66948938aa4b73ee24f7fa57c1292292c1d87bcad2c616cbd254ea" dependencies = [ "anyhow", "crossbeam-channel", - "itertools 0.14.0", + "itertools", "ra_ap_hir_expand", "ra_ap_ide_db", "ra_ap_intern", @@ -1901,60 +1870,78 @@ dependencies = [ "tracing", ] +[[package]] +name = "ra_ap_macros" +version = "0.0.328" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd338f982b2f7438ee89ca2429ad7181f2f0751fa6b98d8275905c97e2fb8361" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + [[package]] name = "ra_ap_mbe" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67333c6405797cb64aafb994b9a179157b30beeda2352e203e800be2b184a22d" +checksum = "81d4c7114f2363c05b6dc7f5f6cdd6c9d6a1ba63410b0cdc80c81d1414da7c72" dependencies = [ "arrayvec", + "bitflags 2.11.1", "cov-mark", - "ra-ap-rustc_lexer 0.123.0", + "ra-ap-rustc_lexer", "ra_ap_intern", "ra_ap_parser", "ra_ap_span", "ra_ap_stdx", "ra_ap_syntax-bridge", "ra_ap_tt", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", + "salsa", "smallvec", ] [[package]] name = "ra_ap_parser" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a3b92b8b147c0826b83e70ad44e3c98e94201fc93e1f09396c43b4d7958c22a" +checksum = "c9851f3b6e93971e6c3957966a07154bc35e0f91c0a6980ad71965620df6f737" dependencies = [ "drop_bomb", - "ra-ap-rustc_lexer 0.123.0", + "ra-ap-rustc_lexer", "ra_ap_edition", - "rustc-literal-escaper", + "rustc-literal-escaper 0.0.4", "tracing", + "winnow 0.7.15", ] [[package]] name = "ra_ap_paths" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4991f3d57fac0def7822bebfeb159c8d7b58c824bf82044b765c54f2c0971e2" +checksum = "506bbef9963ca9275dd50f5876d68e32a58d47a369ea10bce2be1c758b081c42" dependencies = [ "camino", ] [[package]] name = "ra_ap_proc_macro_api" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45db9e2df587d56f0738afa89fb2c100ff7c1e9cbe49e07f6a8b62342832211b" +checksum = "18e0229d5c7daa016a8f4f735194e68baf34ca18b73982ae036a8217874f32e9" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.14.0", + "postcard", "ra_ap_intern", "ra_ap_paths", "ra_ap_span", "ra_ap_stdx", "ra_ap_tt", - "rustc-hash 2.1.1", + "rayon", + "rustc-hash 2.1.2", + "semver", "serde", "serde_derive", "serde_json", @@ -1963,9 +1950,9 @@ dependencies = [ [[package]] name = "ra_ap_profile" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19981637b8ee4160e228c815a7fef3944b5c0555d6af41a931be92d68978bc6c" +checksum = "b251c30d8e4df3902a92d10c4899e43403921f72aef12afa2f027a77e4898950" dependencies = [ "cfg-if", "libc", @@ -1975,13 +1962,13 @@ dependencies = [ [[package]] name = "ra_ap_project_model" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bda0769fd6ca949fdd5917acb68ddc2c143745614ddd94ef38b376838611cf8" +checksum = "2b04624412e45c7b0f792859be553182ea2360d8a24bf7162ca212840e683a24" dependencies = [ "anyhow", "cargo_metadata", - "itertools 0.14.0", + "itertools", "la-arena", "ra_ap_base_db", "ra_ap_cfg", @@ -1990,21 +1977,22 @@ dependencies = [ "ra_ap_span", "ra_ap_stdx", "ra_ap_toolchain", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "semver", "serde", "serde_derive", "serde_json", "temp-dir", + "toml 0.9.12+spec-1.1.0", "tracing", "triomphe", ] [[package]] name = "ra_ap_query-group-macro" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f182a4b05f004eabaa83250a5de7ea3a13a92c88f3cbe98bfa1880cd9fbce0a" +checksum = "770079ca5addde33d31b7f3fa8d399f0dc29c26f69642a9d5c2a5e623d8af64d" dependencies = [ "proc-macro2", "quote", @@ -2013,29 +2001,29 @@ dependencies = [ [[package]] name = "ra_ap_span" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6f9fa2de07f5cccf431674b90e82c1fe1ea2339db3b3869eec44d135de09a4" +checksum = "80a523bc8c85155ccd1db35b6855d37729d339c572b7fc0801c459bb8218976b" dependencies = [ "hashbrown 0.14.5", "la-arena", "ra_ap_stdx", "ra_ap_syntax", "ra_ap_vfs", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "salsa", "text-size", ] [[package]] name = "ra_ap_stdx" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa770adb32896fcba934b464ac3bd179163ba2b0766e275eed5b4e262e08492b" +checksum = "eb22b95e21d08060860056c86af1b47b2cecbac5422baa112d9d138e97c3671a" dependencies = [ "crossbeam-channel", "crossbeam-utils", - "itertools 0.14.0", + "itertools", "jod-thread", "libc", "miow", @@ -2045,17 +2033,18 @@ dependencies = [ [[package]] name = "ra_ap_syntax" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e9e1393281ad5c635239d353ed3cfbf28c8d0af03d0c61a3b24b31d1143b17f" +checksum = "ba3d9c469b5635401647b69e01a9930746f08a3cac51d04ad5ae99e66bdd643f" dependencies = [ "either", - "itertools 0.14.0", + "itertools", "ra_ap_parser", "ra_ap_stdx", "rowan", - "rustc-hash 2.1.1", - "rustc-literal-escaper", + "rustc-hash 2.1.2", + "rustc-literal-escaper 0.0.4", + "smallvec", "smol_str", "tracing", "triomphe", @@ -2063,9 +2052,9 @@ dependencies = [ [[package]] name = "ra_ap_syntax-bridge" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684e6ff1008ee5340335888f0453d94bb38950f110059a51f1818c7f6a56a807" +checksum = "b4d3f2e2a1836eeedc2ed2810ece4cdf7ea42284f71b7031eac8448c1cb95b09" dependencies = [ "ra_ap_intern", "ra_ap_parser", @@ -2073,14 +2062,46 @@ dependencies = [ "ra_ap_stdx", "ra_ap_syntax", "ra_ap_tt", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", +] + +[[package]] +name = "ra_ap_test_fixture" +version = "0.0.328" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21d6d353373b4f28f2236ed7843bcee0e4dd0e6a12b339da874460bbefd070ab" +dependencies = [ + "ra_ap_base_db", + "ra_ap_cfg", + "ra_ap_hir_expand", + "ra_ap_intern", + "ra_ap_paths", + "ra_ap_span", + "ra_ap_stdx", + "ra_ap_test_utils", + "ra_ap_tt", + "triomphe", +] + +[[package]] +name = "ra_ap_test_utils" +version = "0.0.328" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d10cbb0402abee7034de5d90ddf7e380d1e21ad0e1dcd2db92c3c87df78723" +dependencies = [ + "dissimilar", + "ra_ap_paths", + "ra_ap_profile", + "ra_ap_stdx", + "rustc-hash 2.1.2", + "text-size", ] [[package]] name = "ra_ap_toolchain" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61969c5f72af03a9837e077c2d939d87a5c863623725c461777c352664a3bb03" +checksum = "2fed946c88a9dfa93de7a376a06493c5377a1052ac666ab9e1155f4ea57271c9" dependencies = [ "camino", "home", @@ -2088,38 +2109,41 @@ dependencies = [ [[package]] name = "ra_ap_tt" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb87c7b35572c18a580ea811e970b94875fad5ac7cfa8644266a59081044f959" +checksum = "96dfc20add2675d38240a7815755b54f514d91b9dc0336cb3d024901af4faeef" dependencies = [ "arrayvec", - "ra-ap-rustc_lexer 0.123.0", + "indexmap 2.14.0", + "ra-ap-rustc_lexer", "ra_ap_intern", + "ra_ap_span", "ra_ap_stdx", + "rustc-hash 2.1.2", "text-size", ] [[package]] name = "ra_ap_vfs" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c174d6b9b7a7f54687df7e00c3e75ed6f082a7943a9afb1d54f33c0c12773de" +checksum = "d69bc10b59435e4d989d10bc0b602a5bd70e1dcc2c5d8513b10585d9e778b440" dependencies = [ "crossbeam-channel", "fst", - "indexmap 2.11.4", + "indexmap 2.14.0", "nohash-hasher", "ra_ap_paths", "ra_ap_stdx", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "tracing", ] [[package]] name = "ra_ap_vfs-notify" -version = "0.0.301" +version = "0.0.328" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f6fce8d47c7ce9b8f2cd0e5a55f8fc4878d6043e61f46cde4391d3a5c6086f" +checksum = "07f7f31bb0c5744ba1fe1b1460eeb62274110dfb94e4b6719cf2e7df9410032d" dependencies = [ "crossbeam-channel", "notify", @@ -2127,45 +2151,33 @@ dependencies = [ "ra_ap_stdx", "ra_ap_vfs", "rayon", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "tracing", "walkdir", ] [[package]] name = "rand" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" -dependencies = [ - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" dependencies = [ - "ppv-lite86", + "chacha20", + "getrandom 0.4.2", "rand_core", ] [[package]] name = "rand_core" -version = "0.9.3" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" -dependencies = [ - "getrandom", -] +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" [[package]] name = "rayon" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" dependencies = [ "either", "rayon-core", @@ -2187,7 +2199,7 @@ version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.11.1", ] [[package]] @@ -2212,9 +2224,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.3" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", @@ -2224,9 +2236,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.11" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", @@ -2235,15 +2247,15 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.6" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "rowan" -version = "0.15.15" +version = "0.15.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a58fa8a7ccff2aec4f39cc45bf5f985cec7125ab271cf681c279fd00192b49" +checksum = "62f509095fc8cc0c8c8564016771d458079c11a8d857e65861f045145c0d3208" dependencies = [ "countme", "hashbrown 0.14.5", @@ -2268,9 +2280,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" [[package]] name = "rustc-literal-escaper" @@ -2278,6 +2290,12 @@ version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab03008eb631b703dd16978282ae36c73282e7922fe101a4bd072a40ecea7b8b" +[[package]] +name = "rustc-literal-escaper" +version = "0.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4ee29da77c5a54f42697493cd4c9b9f31b74df666a6c04dfc4fde77abe0438b" + [[package]] name = "rustc-stable-hash" version = "0.1.2" @@ -2290,10 +2308,19 @@ version = "0.2.3+llvm-462a31f5a5ab" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "486c2179b4796f65bfe2ee33679acf0927ac83ecf583ad6c91c3b4570911b9ad" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.11.1", "smallvec", ] +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + [[package]] name = "rustversion" version = "1.0.22" @@ -2308,22 +2335,22 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "salsa" -version = "0.23.0" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e235afdb8e510f38a07138fbe5a0b64691894358a9c0cbd813b1aade110efc9" +checksum = "e2e2aa2fca57727371eeafc975acc8e6f4c52f8166a78035543f6ee1c74c2dcc" dependencies = [ "boxcar", "crossbeam-queue", "crossbeam-utils", "hashbrown 0.15.5", "hashlink", - "indexmap 2.11.4", + "indexmap 2.14.0", "intrusive-collections", - "papaya", + "inventory", "parking_lot", "portable-atomic", "rayon", - "rustc-hash 2.1.1", + "rustc-hash 2.1.2", "salsa-macro-rules", "salsa-macros", "smallvec", @@ -2333,15 +2360,15 @@ dependencies = [ [[package]] name = "salsa-macro-rules" -version = "0.23.0" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2edb86a7e9c91f6d30c9ce054312721dbe773a162db27bbfae834d16177b30ce" +checksum = "1bfc2a1e7bf06964105515451d728f2422dedc3a112383324a00b191a5c397a3" [[package]] name = "salsa-macros" -version = "0.23.0" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0778d6e209051bc4e75acfe83bcd7848601ec3dbe9c3dbb982829020e9128af" +checksum = "3d844c1aa34946da46af683b5c27ec1088a3d9d84a2b837a108223fd830220e1" dependencies = [ "proc-macro2", "quote", @@ -2382,35 +2409,20 @@ dependencies = [ "serde_json", ] -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - [[package]] name = "scopeguard" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "seize" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4b8d813387d566f627f3ea1b914c068aac94c40ae27ec43f5f33bde65abefe7" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "semver" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" dependencies = [ "serde", + "serde_core", ] [[package]] @@ -2423,27 +2435,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-untagged" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34836a629bcbc6f1afdf0907a744870039b1e14c0561cb26094fa683b158eff3" -dependencies = [ - "erased-serde", - "serde", - "typeid", -] - -[[package]] -name = "serde-value" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" -dependencies = [ - "ordered-float", - "serde", -] - [[package]] name = "serde_core" version = "1.0.228" @@ -2466,51 +2457,41 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.14.0", "itoa", "memchr", - "ryu", "serde", "serde_core", + "zmij", ] [[package]] name = "serde_spanned" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_spanned" -version = "1.0.2" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5417783452c2be558477e104686f7de5dae53dba813c28435e0e70f82d9b04ee" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" dependencies = [ "serde_core", ] [[package]] name = "serde_with" -version = "3.14.1" +version = "3.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c522100790450cf78eeac1507263d0a350d4d5b30df0c8e1fe051a10c22b376e" +checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" dependencies = [ "base64", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.11.4", + "indexmap 2.14.0", "schemars 0.9.0", "schemars 1.0.4", - "serde", - "serde_derive", + "serde_core", "serde_json", "serde_with_macros", "time", @@ -2518,9 +2499,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.14.1" +version = "3.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327ada00f7d64abaac1e55a6911e90cf665aa051b9a561c7006c157f4633135e" +checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" dependencies = [ "darling", "proc-macro2", @@ -2534,7 +2515,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.14.0", "itoa", "ryu", "serde", @@ -2564,19 +2545,28 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "smol_str" -version = "0.3.2" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9676b89cd56310a87b93dec47b11af744f34d5fc9f367b829474eec0a891350d" +checksum = "4aaa7368fcf4852a4c2dd92df0cace6a71f2091ca0a23391ce7f3a31833f1523" dependencies = [ "borsh", - "serde", + "serde_core", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", ] [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "streaming-iterator" @@ -2592,9 +2582,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.106" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -2632,18 +2622,18 @@ checksum = "144f754d318415ac792f9d69fc87abbbfc043ce2ef041c60f16ad828f638717d" [[package]] name = "thiserror" -version = "2.0.16" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "2.0.16" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", @@ -2661,129 +2651,105 @@ dependencies = [ [[package]] name = "time" -version = "0.3.43" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", + "itoa", + "libc", "num-conv", + "num_threads", "powerfmt", - "serde", + "serde_core", "time-core", "time-macros", ] [[package]] name = "time-core" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-macros" -version = "0.2.24" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" dependencies = [ "num-conv", "time-core", ] -[[package]] -name = "tinystr" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" -dependencies = [ - "displaydoc", - "zerovec", -] - [[package]] name = "toml" -version = "0.8.23" +version = "0.9.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" dependencies = [ - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.11", - "toml_edit", + "indexmap 2.14.0", + "serde_core", + "serde_spanned", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 0.7.15", ] [[package]] name = "toml" -version = "0.9.7" +version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00e5e5d9bf2475ac9d4f0d9edab68cc573dc2fd644b0dba36b0c30a92dd9eaa0" +checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.14.0", "serde_core", - "serde_spanned 1.0.2", - "toml_datetime 0.7.2", + "serde_spanned", + "toml_datetime 1.1.1+spec-1.1.0", "toml_parser", "toml_writer", - "winnow", + "winnow 1.0.1", ] [[package]] name = "toml_datetime" -version = "0.6.11" +version = "0.7.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" dependencies = [ - "serde", + "serde_core", ] [[package]] name = "toml_datetime" -version = "0.7.2" +version = "1.1.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" dependencies = [ "serde_core", ] -[[package]] -name = "toml_edit" -version = "0.22.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" -dependencies = [ - "indexmap 2.11.4", - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.11", - "toml_write", - "winnow", -] - [[package]] name = "toml_parser" -version = "1.0.3" +version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627" +checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" dependencies = [ - "winnow", + "winnow 1.0.1", ] -[[package]] -name = "toml_write" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" - [[package]] name = "toml_writer" -version = "1.0.3" +version = "1.1.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d163a63c116ce562a22cda521fcc4d79152e7aba014456fb5eb442f6d6a10109" +checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -2792,9 +2758,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", @@ -2803,9 +2769,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.34" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -2828,16 +2794,16 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "log 0.4.28", + "log 0.4.29", "once_cell", "tracing-core", ] [[package]] name = "tracing-subscriber" -version = "0.3.20" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" dependencies = [ "matchers", "nu-ansi-term", @@ -2846,11 +2812,24 @@ dependencies = [ "sharded-slab", "smallvec", "thread_local", + "time", "tracing", "tracing-core", "tracing-log", ] +[[package]] +name = "tracing-tree" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac87aa03b6a4d5a7e4810d1a80c19601dbe0f8a837e9177f23af721c7ba7beec" +dependencies = [ + "nu-ansi-term", + "tracing-core", + "tracing-log", + "tracing-subscriber", +] + [[package]] name = "tree-sitter" version = "0.25.9" @@ -2913,9 +2892,9 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef8f7726da4807b58ea5c96fdc122f80702030edc33b35aff9190a51148ccc85" +checksum = "dd69c5aa8f924c7519d6372789a74eac5b94fb0f8fcf0d4a97eb0bfc3e785f39" dependencies = [ "serde", "stable_deref_trait", @@ -2927,12 +2906,6 @@ version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" -[[package]] -name = "typeid" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" - [[package]] name = "uncased" version = "0.9.10" @@ -2950,9 +2923,9 @@ checksum = "a3e5df347f0bf3ec1d670aad6ca5c6a1859cd9ea61d2113125794654ccced68f" [[package]] name = "unicode-ident" -version = "1.0.19" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-properties" @@ -2972,24 +2945,6 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" -[[package]] -name = "url" -version = "2.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", -] - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - [[package]] name = "utf8parse" version = "0.2.2" @@ -3025,21 +2980,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasi" -version = "0.14.5+wasi-0.2.4" +name = "wasip2" +version = "1.0.0+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4494f6290a82f5fe584817a676a34b9d6763e8d9d18204009fb31dceca98fd4" +checksum = "03fa2761397e5bd52002cd7e73110c71af2109aca4e521a9f40473fe685b0a24" dependencies = [ - "wasip2", + "wit-bindgen 0.45.1", ] [[package]] -name = "wasip2" -version = "1.0.0+wasi-0.2.4" +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03fa2761397e5bd52002cd7e73110c71af2109aca4e521a9f40473fe685b0a24" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.51.0", ] [[package]] @@ -3062,7 +3017,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb" dependencies = [ "bumpalo", - "log 0.4.28", + "log 0.4.29", "proc-macro2", "quote", "syn", @@ -3101,6 +3056,40 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap 2.14.0", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.11.1", + "hashbrown 0.15.5", + "indexmap 2.14.0", + "semver", +] + [[package]] name = "winapi-util" version = "0.1.11" @@ -3184,15 +3173,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-sys" version = "0.60.2" @@ -3342,128 +3322,121 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.7.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" -dependencies = [ - "memchr", -] - -[[package]] -name = "wit-bindgen" -version = "0.45.1" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" [[package]] -name = "writeable" -version = "0.6.1" +name = "winnow" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" +checksum = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5" [[package]] -name = "yansi" -version = "1.0.1" +name = "wit-bindgen" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36" [[package]] -name = "yoke" -version = "0.8.0" +name = "wit-bindgen" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", + "wit-bindgen-rust-macro", ] [[package]] -name = "yoke-derive" -version = "0.8.0" +name = "wit-bindgen-core" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", + "anyhow", + "heck", + "wit-parser", ] [[package]] -name = "zerocopy" -version = "0.8.27" +name = "wit-bindgen-rust" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ - "zerocopy-derive", + "anyhow", + "heck", + "indexmap 2.14.0", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", ] [[package]] -name = "zerocopy-derive" -version = "0.8.27" +name = "wit-bindgen-rust-macro" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" dependencies = [ + "anyhow", + "prettyplease", "proc-macro2", "quote", "syn", + "wit-bindgen-core", + "wit-bindgen-rust", ] [[package]] -name = "zerofrom" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" +name = "wit-component" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", + "anyhow", + "bitflags 2.11.1", + "indexmap 2.14.0", + "log 0.4.29", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", ] [[package]] -name = "zerotrie" -version = "0.2.2" +name = "wit-parser" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" dependencies = [ - "displaydoc", - "yoke", - "zerofrom", + "anyhow", + "id-arena", + "indexmap 2.14.0", + "log 0.4.29", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", ] [[package]] -name = "zerovec" -version = "0.11.4" +name = "yansi" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] -name = "zerovec-derive" -version = "0.11.1" +name = "zmij" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" [[package]] name = "zstd" diff --git a/ruby/extractor/Cargo.toml b/ruby/extractor/Cargo.toml index b6e1ae901198..09c67fd42f8d 100644 --- a/ruby/extractor/Cargo.toml +++ b/ruby/extractor/Cargo.toml @@ -10,13 +10,13 @@ edition = "2024" tree-sitter = ">= 0.23.0" tree-sitter-embedded-template = "0.25.0" tree-sitter-ruby = "0.23.1" -clap = { version = "4.5", features = ["derive"] } +clap = { version = "4.6", features = ["derive"] } tracing = "0.1" -tracing-subscriber = { version = "0.3.20", features = ["env-filter"] } -rayon = "1.11.0" -regex = "1.11.3" +tracing-subscriber = { version = "0.3.23", features = ["env-filter"] } +rayon = "1.12.0" +regex = "1.12.3" encoding = "0.2" lazy_static = "1.5.0" -serde_json = "1.0.145" +serde_json = "1.0.149" codeql-extractor = { path = "../../shared/tree-sitter-extractor" } diff --git a/rust/ast-generator/Cargo.toml b/rust/ast-generator/Cargo.toml index fcba71b696c1..af12188d240a 100644 --- a/rust/ast-generator/Cargo.toml +++ b/rust/ast-generator/Cargo.toml @@ -7,11 +7,11 @@ license = "MIT" # When updating these dependencies, run `rust/update_cargo_deps.sh` [dependencies] ungrammar = "1.16.1" -proc-macro2 = "1.0.101" -quote = "1.0.41" +proc-macro2 = "1.0.106" +quote = "1.0.45" either = "1.15.0" -stdx = {package = "ra_ap_stdx", version = "0.0.301"} +stdx = {package = "ra_ap_stdx", version = "0.0.328"} itertools = "0.14.0" mustache = "0.9.0" serde = { version = "1.0.228", features = ["derive"] } -anyhow = "1.0.100" +anyhow = "1.0.102" diff --git a/rust/extractor/Cargo.toml b/rust/extractor/Cargo.toml index 223d9dfc68c2..41199b7c8f98 100644 --- a/rust/extractor/Cargo.toml +++ b/rust/extractor/Cargo.toml @@ -6,39 +6,39 @@ license = "MIT" # When updating these dependencies, run `rust/update_cargo_deps.sh` [dependencies] -anyhow = "1.0.100" -clap = { version = "4.5.48", features = ["derive"] } +anyhow = "1.0.102" +clap = { version = "4.6.0", features = ["derive"] } figment = { version = "0.10.19", features = ["env", "yaml"] } num-traits = "0.2.19" -ra_ap_base_db = "0.0.301" -ra_ap_hir = "0.0.301" -ra_ap_hir_def = "0.0.301" -ra_ap_ide_db = "0.0.301" -ra_ap_hir_ty = "0.0.301" -ra_ap_hir_expand = "0.0.301" -ra_ap_load-cargo = "0.0.301" -ra_ap_paths = "0.0.301" -ra_ap_project_model = "0.0.301" -ra_ap_syntax = "0.0.301" -ra_ap_vfs = "0.0.301" -ra_ap_parser = "0.0.301" -ra_ap_span = "0.0.301" -ra_ap_cfg = "0.0.301" -ra_ap_intern = "0.0.301" +ra_ap_base_db = "0.0.328" +ra_ap_hir = "0.0.328" +ra_ap_hir_def = "0.0.328" +ra_ap_ide_db = "0.0.328" +ra_ap_hir_ty = "0.0.328" +ra_ap_hir_expand = "0.0.328" +ra_ap_load-cargo = "0.0.328" +ra_ap_paths = "0.0.328" +ra_ap_project_model = "0.0.328" +ra_ap_syntax = "0.0.328" +ra_ap_vfs = "0.0.328" +ra_ap_parser = "0.0.328" +ra_ap_span = "0.0.328" +ra_ap_cfg = "0.0.328" +ra_ap_intern = "0.0.328" serde = "1.0.228" -serde_with = "3.14.1" -triomphe = "0.1.14" -argfile = "0.2.1" +serde_with = "3.18.0" +triomphe = "0.1.15" +argfile = "1.0.0" codeql-extractor = { path = "../../shared/tree-sitter-extractor" } rust-extractor-macros = { path = "macros" } itertools = "0.14.0" glob = "0.3.3" -chrono = { version = "0.4.42", features = ["serde"] } -serde_json = "1.0.145" +chrono = { version = "0.4.44", features = ["serde"] } +serde_json = "1.0.149" dunce = "1.0.5" -toml = "0.9.7" -tracing = "0.1.41" +toml = "1.1.2" +tracing = "0.1.44" tracing-flame = "0.2.0" -tracing-subscriber = "0.3.20" +tracing-subscriber = "0.3.23" chalk-ir = "0.104.0" mustache = "0.9.0" diff --git a/rust/extractor/macros/Cargo.toml b/rust/extractor/macros/Cargo.toml index e2e51876ee7d..7d370713d5d6 100644 --- a/rust/extractor/macros/Cargo.toml +++ b/rust/extractor/macros/Cargo.toml @@ -9,5 +9,5 @@ proc-macro = true # When updating these dependencies, run `rust/update_cargo_deps.sh` [dependencies] -quote = "1.0.41" -syn = { version = "2.0.106", features = ["full"] } +quote = "1.0.45" +syn = { version = "2.0.117", features = ["full"] } diff --git a/shared/tree-sitter-extractor/Cargo.toml b/shared/tree-sitter-extractor/Cargo.toml index d02f02fd5888..a84266b4f87c 100644 --- a/shared/tree-sitter-extractor/Cargo.toml +++ b/shared/tree-sitter-extractor/Cargo.toml @@ -10,18 +10,18 @@ flate2 = "1.1" globset = "0.4" tree-sitter = ">= 0.23.0" tracing = "0.1" -tracing-subscriber = { version = "0.3.20", features = ["env-filter"] } -rayon = "1.11.0" -regex = "1.11.3" +tracing-subscriber = { version = "0.3.23", features = ["env-filter"] } +rayon = "1.12.0" +regex = "1.12.3" encoding = "0.2" lazy_static = "1.5.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -chrono = { version = "0.4.42", features = ["serde"] } +chrono = { version = "0.4.44", features = ["serde"] } num_cpus = "1.17.0" zstd = "0.13.3" [dev-dependencies] tree-sitter-ql = "0.23.1" tree-sitter-json = "0.24.8" -rand = "0.9.2" +rand = "0.10.1" From 12344713cb7dc5bbac5508891e0025423723586a Mon Sep 17 00:00:00 2001 From: Taus Date: Wed, 15 Apr 2026 13:01:10 +0000 Subject: [PATCH 002/190] Bazel: regenerate vendored cargo dependencies --- MODULE.bazel | 64 +- ...3.bazel => BUILD.aho-corasick-1.1.4.bazel} | 4 +- ...UILD.android_system_properties-0.1.5.bazel | 2 +- ....6.20.bazel => BUILD.anstream-1.0.0.bazel} | 12 +- ....0.11.bazel => BUILD.anstyle-1.0.14.bazel} | 2 +- ....bazel => BUILD.anstyle-parse-1.0.0.bazel} | 2 +- ....bazel => BUILD.anstyle-query-1.1.5.bazel} | 8 +- .../BUILD.anstyle-wincon-3.0.10.bazel | 2 +- ...0.100.bazel => BUILD.anyhow-1.0.102.bazel} | 10 +- ...-0.2.1.bazel => BUILD.argfile-1.0.0.bazel} | 4 +- ...azel => BUILD.atomic-polyfill-1.0.3.bazel} | 21 +- .../tree_sitter_extractors_deps/BUILD.bazel | 196 +- ....9.4.bazel => BUILD.bitflags-2.11.1.bazel} | 2 +- ...sh-1.5.7.bazel => BUILD.borsh-1.6.1.bazel} | 6 +- .../BUILD.bstr-1.12.0.bazel | 2 +- .../BUILD.byteorder-1.5.0.bazel | 97 + .../BUILD.bytes-1.11.1.bazel | 97 + ...-1.1.12.bazel => BUILD.camino-1.2.2.bazel} | 14 +- ...bazel => BUILD.cargo-platform-0.3.2.bazel} | 6 +- ...azel => BUILD.cargo_metadata-0.23.1.bazel} | 13 +- ....cc-1.2.37.bazel => BUILD.cc-1.2.60.bazel} | 28 +- ...f-1.0.3.bazel => BUILD.cfg-if-1.0.4.bazel} | 2 +- .../BUILD.chacha20-0.10.0.bazel | 151 ++ .../BUILD.chalk-derive-0.104.0.bazel | 6 +- .../BUILD.chalk-ir-0.103.0.bazel | 103 - .../BUILD.chalk-ir-0.104.0.bazel | 2 +- .../BUILD.chalk-recursive-0.103.0.bazel | 106 - .../BUILD.chalk-solve-0.103.0.bazel | 109 - ...0.4.42.bazel => BUILD.chrono-0.4.44.bazel} | 2 +- ...ap-4.5.48.bazel => BUILD.clap-4.6.0.bazel} | 8 +- ...8.bazel => BUILD.clap_builder-4.6.0.bazel} | 10 +- ...47.bazel => BUILD.clap_derive-4.6.0.bazel} | 10 +- ...0.7.5.bazel => BUILD.clap_lex-1.1.0.bazel} | 4 +- ...map-0.8.0.bazel => BUILD.cobs-0.3.0.bazel} | 12 +- ....4.bazel => BUILD.colorchoice-1.0.5.bazel} | 2 +- .../BUILD.cpufeatures-0.3.0.bazel | 118 + .../BUILD.crc32fast-1.5.0.bazel | 2 +- .../BUILD.critical-section-1.2.0.bazel | 97 + ....21.3.bazel => BUILD.darling-0.23.0.bazel} | 6 +- ....bazel => BUILD.darling_core-0.23.0.bazel} | 9 +- ...bazel => BUILD.darling_macro-0.23.0.bazel} | 8 +- .../BUILD.dashmap-6.1.0.bazel | 4 +- .../BUILD.deranged-0.5.3.bazel | 7 + ...5.bazel => BUILD.derive-where-1.6.1.bazel} | 12 +- .../BUILD.dissimilar-1.0.11.bazel | 97 + .../BUILD.embedded-io-0.4.0.bazel | 97 + ....1.bazel => BUILD.embedded-io-0.6.1.bazel} | 4 +- .../BUILD.ena-0.14.3.bazel | 2 +- ...azel => BUILD.find-msvc-tools-0.1.9.bazel} | 2 +- ....2.bazel => BUILD.fixedbitset-0.5.7.bazel} | 4 +- .../BUILD.fnv-1.0.7.bazel | 101 - .../BUILD.form_urlencoded-1.2.2.bazel | 104 - ...-2.11.0.bazel => BUILD.fs-err-3.3.0.bazel} | 6 +- .../BUILD.fsevent-sys-4.1.0.bazel | 2 +- ....3.3.bazel => BUILD.getrandom-0.3.4.bazel} | 60 +- .../BUILD.getrandom-0.4.2.bazel | 252 ++ .../BUILD.globset-0.4.16.bazel | 8 +- ...s-1.0.1.bazel => BUILD.hash32-0.2.1.bazel} | 9 +- .../BUILD.hashbrown-0.17.0.bazel | 97 + ...0.26.bazel => BUILD.heapless-0.7.17.bazel} | 64 +- ...e-0.5.11.bazel => BUILD.home-0.5.12.bazel} | 10 +- .../BUILD.iana-time-zone-0.1.63.bazel | 2 +- .../BUILD.iana-time-zone-haiku-0.1.2.bazel | 2 +- .../BUILD.icu_collections-2.0.0.bazel | 106 - .../BUILD.icu_locale_core-2.0.0.bazel | 109 - .../BUILD.icu_normalizer-2.0.0.bazel | 110 - .../BUILD.icu_properties-2.0.1.bazel | 112 - .../BUILD.icu_provider-2.0.0.bazel | 114 - .../BUILD.id-arena-2.3.0.bazel | 101 + .../BUILD.idna-1.1.0.bazel | 107 - .../BUILD.idna_adapter-1.2.1.bazel | 104 - ...11.4.bazel => BUILD.indexmap-2.14.0.bazel} | 6 +- .../BUILD.inotify-0.11.0.bazel | 4 +- .../BUILD.inotify-sys-0.1.5.bazel | 2 +- ...5.0.bazel => BUILD.inventory-0.3.24.bazel} | 44 +- ...> BUILD.is_terminal_polyfill-1.70.2.bazel} | 2 +- .../BUILD.itertools-0.12.1.bazel | 105 - ...a-1.0.15.bazel => BUILD.itoa-1.0.18.bazel} | 4 +- .../BUILD.jobserver-0.1.34.bazel | 60 +- .../BUILD.js-sys-0.3.78.bazel | 2 +- .../BUILD.kqueue-1.1.1.bazel | 2 +- .../BUILD.kqueue-sys-1.0.4.bazel | 2 +- .../BUILD.leb128fmt-0.1.0.bazel | 97 + ...0.2.175.bazel => BUILD.libc-0.2.185.bazel} | 6 +- .../BUILD.log-0.3.9.bazel | 2 +- ...og-0.4.28.bazel => BUILD.log-0.4.29.bazel} | 2 +- .../BUILD.matchers-0.2.0.bazel | 2 +- ...r-2.7.5.bazel => BUILD.memchr-2.8.0.bazel} | 2 +- ....mio-1.0.4.bazel => BUILD.mio-1.2.0.bazel} | 70 +- .../BUILD.notify-8.2.0.bazel | 50 +- ...0.1.0.bazel => BUILD.num-conv-0.2.1.bazel} | 2 +- .../BUILD.num_cpus-1.17.0.bazel | 76 +- .../BUILD.num_threads-0.1.7.bazel | 124 + ...1.3.bazel => BUILD.once_cell-1.21.4.bazel} | 2 +- .../BUILD.ordered-float-2.10.1.bazel | 104 - .../BUILD.os_str_bytes-7.1.1.bazel | 2 +- .../BUILD.papaya-0.2.3.bazel | 104 - .../BUILD.parking_lot_core-0.9.11.bazel | 56 +- .../BUILD.pear_codegen-0.2.9.bazel | 6 +- ...4.7.bazel => BUILD.perf-event-0.4.8.bazel} | 10 +- ... => BUILD.perf-event-open-sys-4.0.0.bazel} | 4 +- .../BUILD.petgraph-0.8.3.bazel | 102 + ...el => BUILD.pin-project-lite-0.2.17.bazel} | 2 +- ...0.4.6.bazel => BUILD.postcard-1.1.3.bazel} | 12 +- .../BUILD.potential_utf-0.1.3.bazel | 103 - ....bazel => BUILD.prettyplease-0.2.37.bazel} | 17 +- ....bazel => BUILD.proc-macro2-1.0.106.bazel} | 8 +- ...BUILD.proc-macro2-diagnostics-0.10.1.bazel | 6 +- ...-1.0.41.bazel => BUILD.quote-1.0.45.bazel} | 12 +- .../BUILD.r-efi-6.0.0.bazel | 97 + ...el => BUILD.ra-ap-rustc_abi-0.143.0.bazel} | 14 +- .../BUILD.ra-ap-rustc_ast_ir-0.143.0.bazel | 97 + ...=> BUILD.ra-ap-rustc_hashes-0.143.0.bazel} | 2 +- ... => BUILD.ra-ap-rustc_index-0.143.0.bazel} | 9 +- ...LD.ra-ap-rustc_index_macros-0.143.0.bazel} | 8 +- .../BUILD.ra-ap-rustc_lexer-0.123.0.bazel | 102 - ... => BUILD.ra-ap-rustc_lexer-0.143.0.bazel} | 4 +- ...a-ap-rustc_next_trait_solver-0.143.0.bazel | 111 + ...LD.ra-ap-rustc_parse_format-0.143.0.bazel} | 8 +- ...a-ap-rustc_pattern_analysis-0.143.0.bazel} | 10 +- .../BUILD.ra-ap-rustc_type_ir-0.143.0.bazel | 118 + ....ra-ap-rustc_type_ir_macros-0.143.0.bazel} | 14 +- ...azel => BUILD.ra_ap_base_db-0.0.328.bazel} | 43 +- ...01.bazel => BUILD.ra_ap_cfg-0.0.328.bazel} | 18 +- ...azel => BUILD.ra_ap_edition-0.0.328.bazel} | 2 +- ...01.bazel => BUILD.ra_ap_hir-0.0.328.bazel} | 51 +- ...azel => BUILD.ra_ap_hir_def-0.0.328.bazel} | 61 +- ...l => BUILD.ra_ap_hir_expand-0.0.328.bazel} | 57 +- ...bazel => BUILD.ra_ap_hir_ty-0.0.328.bazel} | 69 +- ...bazel => BUILD.ra_ap_ide_db-0.0.328.bazel} | 65 +- ...bazel => BUILD.ra_ap_intern-0.0.328.bazel} | 7 +- ...l => BUILD.ra_ap_load-cargo-0.0.328.bazel} | 42 +- ...bazel => BUILD.ra_ap_macros-0.0.328.bazel} | 14 +- ...01.bazel => BUILD.ra_ap_mbe-0.0.328.bazel} | 32 +- ...bazel => BUILD.ra_ap_parser-0.0.328.bazel} | 12 +- ....bazel => BUILD.ra_ap_paths-0.0.328.bazel} | 4 +- ... BUILD.ra_ap_proc_macro_api-0.0.328.bazel} | 36 +- ...azel => BUILD.ra_ap_profile-0.0.328.bazel} | 42 +- ...> BUILD.ra_ap_project_model-0.0.328.bazel} | 48 +- ...ILD.ra_ap_query-group-macro-0.0.328.bazel} | 8 +- ...1.bazel => BUILD.ra_ap_span-0.0.328.bazel} | 18 +- ...1.bazel => BUILD.ra_ap_stdx-0.0.328.bazel} | 58 +- ...bazel => BUILD.ra_ap_syntax-0.0.328.bazel} | 24 +- ...> BUILD.ra_ap_syntax-bridge-0.0.328.bazel} | 28 +- .../BUILD.ra_ap_test_fixture-0.0.328.bazel | 123 + ...l => BUILD.ra_ap_test_utils-0.0.328.bazel} | 20 +- ...el => BUILD.ra_ap_toolchain-0.0.328.bazel} | 6 +- .../BUILD.ra_ap_tt-0.0.328.bazel | 115 + ...01.bazel => BUILD.ra_ap_vfs-0.0.328.bazel} | 16 +- ...l => BUILD.ra_ap_vfs-notify-0.0.328.bazel} | 20 +- ...nd-0.9.2.bazel => BUILD.rand-0.10.1.bazel} | 12 +- .../BUILD.rand_chacha-0.9.0.bazel | 104 - .../BUILD.rand_core-0.10.1.bazel | 97 + .../BUILD.rand_core-0.9.3.bazel | 104 - ...-1.11.0.bazel => BUILD.rayon-1.12.0.bazel} | 2 +- .../BUILD.redox_syscall-0.5.17.bazel | 2 +- .../BUILD.ref-cast-impl-1.0.24.bazel | 6 +- ...-1.11.3.bazel => BUILD.regex-1.12.3.bazel} | 10 +- ...azel => BUILD.regex-automata-0.4.14.bazel} | 8 +- ....bazel => BUILD.regex-syntax-0.8.10.bazel} | 2 +- ....15.15.bazel => BUILD.rowan-0.15.18.bazel} | 2 +- ...1.1.bazel => BUILD.rustc-hash-2.1.2.bazel} | 2 +- .../BUILD.rustc-literal-escaper-0.0.5.bazel | 97 + ...ustc_apfloat-0.2.3+llvm-462a31f5a5ab.bazel | 2 +- ....bazel => BUILD.rustc_version-0.4.1.bazel} | 13 +- ...-0.23.0.bazel => BUILD.salsa-0.25.2.bazel} | 18 +- ...l => BUILD.salsa-macro-rules-0.25.2.bazel} | 2 +- ....bazel => BUILD.salsa-macros-0.25.2.bazel} | 11 +- .../BUILD.schemars-0.9.0.bazel | 2 +- .../BUILD.schemars-1.0.4.bazel | 2 +- .../BUILD.semver-1.0.28.bazel | 108 + .../BUILD.serde-untagged-0.1.8.bazel | 102 - .../BUILD.serde-value-0.7.0.bazel | 101 - .../BUILD.serde_core-1.0.228.bazel | 2 + .../BUILD.serde_derive-1.0.228.bazel | 6 +- ...5.bazel => BUILD.serde_json-1.0.149.bazel} | 42 +- ....bazel => BUILD.serde_spanned-1.1.1.bazel} | 4 +- ....1.bazel => BUILD.serde_with-3.18.0.bazel} | 7 +- ...l => BUILD.serde_with_macros-3.18.0.bazel} | 10 +- .../BUILD.serde_yaml-0.9.34+deprecated.bazel | 4 +- ...0.3.2.bazel => BUILD.smol_str-0.3.6.bazel} | 4 +- .../BUILD.spin-0.9.8.bazel | 114 + ...l => BUILD.stable_deref_trait-1.2.1.bazel} | 5 +- ...-2.0.106.bazel => BUILD.syn-2.0.117.bazel} | 9 +- .../BUILD.synstructure-0.13.2.bazel | 6 +- ....16.bazel => BUILD.thiserror-2.0.18.bazel} | 8 +- ...azel => BUILD.thiserror-impl-2.0.18.bazel} | 8 +- .../BUILD.thread_local-1.1.9.bazel | 2 +- .../BUILD.time-0.3.43.bazel | 103 - .../BUILD.time-0.3.47.bazel | 221 ++ ....1.6.bazel => BUILD.time-core-0.1.8.bazel} | 4 +- ...4.bazel => BUILD.time-macros-0.2.27.bazel} | 8 +- .../BUILD.tinystr-0.8.1.bazel | 107 - ...zel => BUILD.toml-0.9.12+spec-1.1.0.bazel} | 12 +- ...azel => BUILD.toml-1.1.2+spec-1.1.0.bazel} | 16 +- ...UILD.toml_datetime-0.7.5+spec-1.1.0.bazel} | 2 +- ...UILD.toml_datetime-1.1.1+spec-1.1.0.bazel} | 8 +- .../BUILD.toml_edit-0.22.27.bazel | 110 - ... BUILD.toml_parser-1.1.2+spec-1.1.0.bazel} | 6 +- .../BUILD.toml_write-0.1.2.bazel | 102 - ... BUILD.toml_writer-1.1.1+spec-1.1.0.bazel} | 4 +- ....1.41.bazel => BUILD.tracing-0.1.44.bazel} | 8 +- ... => BUILD.tracing-attributes-0.1.31.bazel} | 8 +- ....bazel => BUILD.tracing-core-0.1.36.bazel} | 4 +- .../BUILD.tracing-flame-0.2.0.bazel | 4 +- .../BUILD.tracing-log-0.2.0.bazel | 6 +- ... => BUILD.tracing-subscriber-0.3.23.bazel} | 13 +- ...5.bazel => BUILD.tracing-tree-0.4.1.bazel} | 16 +- .../BUILD.tree-sitter-0.25.9.bazel | 8 +- ...tree-sitter-embedded-template-0.25.0.bazel | 2 +- .../BUILD.tree-sitter-json-0.24.8.bazel | 2 +- .../BUILD.tree-sitter-ql-0.23.1.bazel | 2 +- .../BUILD.tree-sitter-ruby-0.23.1.bazel | 2 +- ...1.14.bazel => BUILD.triomphe-0.1.15.bazel} | 6 +- ...bazel => BUILD.unicode-ident-1.0.24.bazel} | 4 +- .../BUILD.url-2.5.7.bazel | 108 - .../BUILD.utf8_iter-1.0.4.bazel | 97 - ...sip3-0.4.0+wasi-0.3.0-rc-2026-01-06.bazel} | 8 +- .../BUILD.wasm-bindgen-0.2.101.bazel | 4 +- .../BUILD.wasm-bindgen-backend-0.2.101.bazel | 8 +- .../BUILD.wasm-bindgen-macro-0.2.101.bazel | 2 +- ...D.wasm-bindgen-macro-support-0.2.101.bazel | 6 +- .../BUILD.wasm-bindgen-shared-0.2.101.bazel | 2 +- ...bazel => BUILD.wasm-encoder-0.244.0.bazel} | 12 +- .../BUILD.wasm-metadata-0.244.0.bazel | 103 + .../BUILD.wasmparser-0.244.0.bazel | 111 + .../BUILD.windows-implement-0.60.0.bazel | 6 +- .../BUILD.windows-interface-0.59.1.bazel | 6 +- .../BUILD.windows-sys-0.52.0.bazel | 1 - .../BUILD.windows-sys-0.59.0.bazel | 109 - .../BUILD.windows-sys-0.61.0.bazel | 3 + .../BUILD.winnow-0.7.13.bazel | 102 - .../BUILD.winnow-0.7.15.bazel | 97 + .../BUILD.winnow-1.0.1.bazel | 97 + ...1.bazel => BUILD.wit-bindgen-0.51.0.bazel} | 18 +- .../BUILD.wit-bindgen-core-0.51.0.bazel | 102 + .../BUILD.wit-bindgen-rust-0.51.0.bazel | 173 ++ .../BUILD.wit-bindgen-rust-macro-0.51.0.bazel | 172 ++ ...azel => BUILD.wit-component-0.244.0.bazel} | 21 +- ...2.bazel => BUILD.wit-parser-0.244.0.bazel} | 28 +- .../BUILD.yoke-0.8.0.bazel | 109 - .../BUILD.zerocopy-derive-0.8.27.bazel | 102 - .../BUILD.zerofrom-0.1.6.bazel | 104 - .../BUILD.zerofrom-derive-0.1.6.bazel | 103 - .../BUILD.zerotrie-0.2.2.bazel | 108 - .../BUILD.zerovec-0.11.4.bazel | 109 - .../BUILD.zerovec-derive-0.11.1.bazel | 102 - ...id-1.0.3.bazel => BUILD.zmij-1.0.21.bazel} | 18 +- .../BUILD.zstd-sys-2.0.16+zstd.1.5.7.bazel | 2 +- .../tree_sitter_extractors_deps/defs.bzl | 2078 ++++++++--------- 250 files changed, 6020 insertions(+), 6056 deletions(-) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.aho-corasick-1.1.3.bazel => BUILD.aho-corasick-1.1.4.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.anstream-0.6.20.bazel => BUILD.anstream-1.0.0.bazel} (93%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.anstyle-1.0.11.bazel => BUILD.anstyle-1.0.14.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.anstyle-parse-0.2.7.bazel => BUILD.anstyle-parse-1.0.0.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.anstyle-query-1.1.4.bazel => BUILD.anstyle-query-1.1.5.bazel} (95%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.anyhow-1.0.100.bazel => BUILD.anyhow-1.0.102.bazel} (97%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.argfile-0.2.1.bazel => BUILD.argfile-1.0.0.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.zerocopy-0.8.27.bazel => BUILD.atomic-polyfill-1.0.3.bazel} (94%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.bitflags-2.9.4.bazel => BUILD.bitflags-2.11.1.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.borsh-1.5.7.bazel => BUILD.borsh-1.6.1.bazel} (98%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.byteorder-1.5.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bytes-1.11.1.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.camino-1.1.12.bazel => BUILD.camino-1.2.2.bazel} (95%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.cargo-platform-0.2.0.bazel => BUILD.cargo-platform-0.3.2.bazel} (97%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.cargo_metadata-0.21.0.bazel => BUILD.cargo_metadata-0.23.1.bazel} (92%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.cc-1.2.37.bazel => BUILD.cc-1.2.60.bazel} (86%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.cfg-if-1.0.3.bazel => BUILD.cfg-if-1.0.4.bazel} (99%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chacha20-0.10.0.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.103.0.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-recursive-0.103.0.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-solve-0.103.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.chrono-0.4.42.bazel => BUILD.chrono-0.4.44.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.clap-4.5.48.bazel => BUILD.clap-4.6.0.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.clap_builder-4.5.48.bazel => BUILD.clap_builder-4.6.0.bazel} (95%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.clap_derive-4.5.47.bazel => BUILD.clap_derive-4.6.0.bazel} (95%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.clap_lex-0.7.5.bazel => BUILD.clap_lex-1.1.0.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.litemap-0.8.0.bazel => BUILD.cobs-0.3.0.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.colorchoice-1.0.4.bazel => BUILD.colorchoice-1.0.5.bazel} (99%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cpufeatures-0.3.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.critical-section-1.2.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.darling-0.21.3.bazel => BUILD.darling-0.23.0.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.darling_core-0.21.3.bazel => BUILD.darling_core-0.23.0.bazel} (95%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.darling_macro-0.21.3.bazel => BUILD.darling_macro-0.23.0.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.displaydoc-0.2.5.bazel => BUILD.derive-where-1.6.1.bazel} (94%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dissimilar-1.0.11.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.embedded-io-0.4.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.writeable-0.6.1.bazel => BUILD.embedded-io-0.6.1.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.find-msvc-tools-0.1.1.bazel => BUILD.find-msvc-tools-0.1.9.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.fixedbitset-0.4.2.bazel => BUILD.fixedbitset-0.5.7.bazel} (98%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fnv-1.0.7.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.form_urlencoded-1.2.2.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.fs-err-2.11.0.bazel => BUILD.fs-err-3.3.0.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.getrandom-0.3.3.bazel => BUILD.getrandom-0.3.4.bazel} (86%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.4.2.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.scoped-tls-1.0.1.bazel => BUILD.hash32-0.2.1.bazel} (96%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.17.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.semver-1.0.26.bazel => BUILD.heapless-0.7.17.bazel} (70%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.home-0.5.11.bazel => BUILD.home-0.5.12.bazel} (94%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_collections-2.0.0.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_locale_core-2.0.0.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_normalizer-2.0.0.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_properties-2.0.1.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_provider-2.0.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.id-arena-2.3.0.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.idna-1.1.0.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.idna_adapter-1.2.1.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.indexmap-2.11.4.bazel => BUILD.indexmap-2.14.0.bazel} (97%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.seize-0.5.0.bazel => BUILD.inventory-0.3.24.bazel} (82%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.is_terminal_polyfill-1.70.1.bazel => BUILD.is_terminal_polyfill-1.70.2.bazel} (99%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.12.1.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.itoa-1.0.15.bazel => BUILD.itoa-1.0.18.bazel} (98%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.leb128fmt-0.1.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.libc-0.2.175.bazel => BUILD.libc-0.2.185.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.log-0.4.28.bazel => BUILD.log-0.4.29.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.memchr-2.7.5.bazel => BUILD.memchr-2.8.0.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.mio-1.0.4.bazel => BUILD.mio-1.2.0.bazel} (66%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.num-conv-0.1.0.bazel => BUILD.num-conv-0.2.1.bazel} (99%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_threads-0.1.7.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.once_cell-1.21.3.bazel => BUILD.once_cell-1.21.4.bazel} (99%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ordered-float-2.10.1.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.papaya-0.2.3.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.perf-event-0.4.7.bazel => BUILD.perf-event-0.4.8.bazel} (95%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.perf-event-open-sys-1.0.1.bazel => BUILD.perf-event-open-sys-4.0.0.bazel} (98%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.petgraph-0.8.3.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.pin-project-lite-0.2.16.bazel => BUILD.pin-project-lite-0.2.17.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.erased-serde-0.4.6.bazel => BUILD.postcard-1.1.3.bazel} (94%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.potential_utf-0.1.3.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.icu_normalizer_data-2.0.0.bazel => BUILD.prettyplease-0.2.37.bazel} (93%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.proc-macro2-1.0.101.bazel => BUILD.proc-macro2-1.0.106.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.quote-1.0.41.bazel => BUILD.quote-1.0.45.bazel} (96%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.r-efi-6.0.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra-ap-rustc_abi-0.123.0.bazel => BUILD.ra-ap-rustc_abi-0.143.0.bazel} (91%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_ast_ir-0.143.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra-ap-rustc_hashes-0.123.0.bazel => BUILD.ra-ap-rustc_hashes-0.143.0.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra-ap-rustc_index-0.123.0.bazel => BUILD.ra-ap-rustc_index-0.143.0.bazel} (94%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra-ap-rustc_index_macros-0.123.0.bazel => BUILD.ra-ap-rustc_index_macros-0.143.0.bazel} (96%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.123.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra-ap-rustc_lexer-0.121.0.bazel => BUILD.ra-ap-rustc_lexer-0.143.0.bazel} (98%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_next_trait_solver-0.143.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra-ap-rustc_parse_format-0.121.0.bazel => BUILD.ra-ap-rustc_parse_format-0.143.0.bazel} (95%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra-ap-rustc_pattern_analysis-0.123.0.bazel => BUILD.ra-ap-rustc_pattern_analysis-0.143.0.bazel} (94%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_type_ir-0.143.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.yoke-derive-0.8.0.bazel => BUILD.ra-ap-rustc_type_ir_macros-0.143.0.bazel} (93%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_base_db-0.0.301.bazel => BUILD.ra_ap_base_db-0.0.328.bazel} (79%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_cfg-0.0.301.bazel => BUILD.ra_ap_cfg-0.0.328.bazel} (88%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_edition-0.0.301.bazel => BUILD.ra_ap_edition-0.0.328.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_hir-0.0.301.bazel => BUILD.ra_ap_hir-0.0.328.bazel} (74%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_hir_def-0.0.301.bazel => BUILD.ra_ap_hir_def-0.0.328.bazel} (73%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_hir_expand-0.0.301.bazel => BUILD.ra_ap_hir_expand-0.0.328.bazel} (73%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_hir_ty-0.0.301.bazel => BUILD.ra_ap_hir_ty-0.0.328.bazel} (68%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_ide_db-0.0.301.bazel => BUILD.ra_ap_ide_db-0.0.328.bazel} (69%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_intern-0.0.301.bazel => BUILD.ra_ap_intern-0.0.328.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_load-cargo-0.0.301.bazel => BUILD.ra_ap_load-cargo-0.0.328.bazel} (78%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.chalk-derive-0.103.0.bazel => BUILD.ra_ap_macros-0.0.328.bazel} (94%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_mbe-0.0.301.bazel => BUILD.ra_ap_mbe-0.0.328.bazel} (81%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_parser-0.0.301.bazel => BUILD.ra_ap_parser-0.0.328.bazel} (93%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_paths-0.0.301.bazel => BUILD.ra_ap_paths-0.0.328.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_proc_macro_api-0.0.301.bazel => BUILD.ra_ap_proc_macro_api-0.0.328.bazel} (80%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_profile-0.0.301.bazel => BUILD.ra_ap_profile-0.0.328.bazel} (73%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_project_model-0.0.301.bazel => BUILD.ra_ap_project_model-0.0.328.bazel} (76%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_query-group-macro-0.0.301.bazel => BUILD.ra_ap_query-group-macro-0.0.328.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_span-0.0.301.bazel => BUILD.ra_ap_span-0.0.328.bazel} (90%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_stdx-0.0.301.bazel => BUILD.ra_ap_stdx-0.0.328.bazel} (80%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_syntax-0.0.301.bazel => BUILD.ra_ap_syntax-0.0.328.bazel} (87%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_syntax-bridge-0.0.301.bazel => BUILD.ra_ap_syntax-bridge-0.0.328.bazel} (84%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_test_fixture-0.0.328.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_tt-0.0.301.bazel => BUILD.ra_ap_test_utils-0.0.328.bazel} (87%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_toolchain-0.0.301.bazel => BUILD.ra_ap_toolchain-0.0.328.bazel} (97%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_tt-0.0.328.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_vfs-0.0.301.bazel => BUILD.ra_ap_vfs-0.0.328.bazel} (91%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ra_ap_vfs-notify-0.0.301.bazel => BUILD.ra_ap_vfs-notify-0.0.328.bazel} (89%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.rand-0.9.2.bazel => BUILD.rand-0.10.1.bazel} (95%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_chacha-0.9.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.10.1.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.9.3.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.rayon-1.11.0.bazel => BUILD.rayon-1.12.0.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.regex-1.11.3.bazel => BUILD.regex-1.12.3.bazel} (94%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.regex-automata-0.4.11.bazel => BUILD.regex-automata-0.4.14.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.regex-syntax-0.8.6.bazel => BUILD.regex-syntax-0.8.10.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.rowan-0.15.15.bazel => BUILD.rowan-0.15.18.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.rustc-hash-2.1.1.bazel => BUILD.rustc-hash-2.1.2.bazel} (99%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-literal-escaper-0.0.5.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.percent-encoding-2.3.2.bazel => BUILD.rustc_version-0.4.1.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.salsa-0.23.0.bazel => BUILD.salsa-0.25.2.bazel} (92%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.salsa-macro-rules-0.23.0.bazel => BUILD.salsa-macro-rules-0.25.2.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.salsa-macros-0.23.0.bazel => BUILD.salsa-macros-0.25.2.bazel} (95%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.semver-1.0.28.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-untagged-0.1.8.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-value-0.7.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.serde_json-1.0.145.bazel => BUILD.serde_json-1.0.149.bazel} (91%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.serde_spanned-1.0.2.bazel => BUILD.serde_spanned-1.1.1.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.serde_with-3.14.1.bazel => BUILD.serde_with-3.18.0.bazel} (95%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.serde_with_macros-3.14.1.bazel => BUILD.serde_with_macros-3.18.0.bazel} (95%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.smol_str-0.3.2.bazel => BUILD.smol_str-0.3.6.bazel} (98%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.spin-0.9.8.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.stable_deref_trait-1.2.0.bazel => BUILD.stable_deref_trait-1.2.1.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.syn-2.0.106.bazel => BUILD.syn-2.0.117.bazel} (95%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.thiserror-2.0.16.bazel => BUILD.thiserror-2.0.18.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.thiserror-impl-2.0.16.bazel => BUILD.thiserror-impl-2.0.18.bazel} (96%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.43.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.47.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.time-core-0.1.6.bazel => BUILD.time-core-0.1.8.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.time-macros-0.2.24.bazel => BUILD.time-macros-0.2.27.bazel} (96%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tinystr-0.8.1.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.toml-0.9.7.bazel => BUILD.toml-0.9.12+spec-1.1.0.bazel} (92%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.toml-0.8.23.bazel => BUILD.toml-1.1.2+spec-1.1.0.bazel} (90%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.toml_datetime-0.7.2.bazel => BUILD.toml_datetime-0.7.5+spec-1.1.0.bazel} (99%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.toml_datetime-0.6.11.bazel => BUILD.toml_datetime-1.1.1+spec-1.1.0.bazel} (96%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_edit-0.22.27.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.toml_parser-1.0.3.bazel => BUILD.toml_parser-1.1.2+spec-1.1.0.bazel} (97%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_write-0.1.2.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.toml_writer-1.0.3.bazel => BUILD.toml_writer-1.1.1+spec-1.1.0.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.tracing-0.1.41.bazel => BUILD.tracing-0.1.44.bazel} (95%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.tracing-attributes-0.1.30.bazel => BUILD.tracing-attributes-0.1.31.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.tracing-core-0.1.34.bazel => BUILD.tracing-core-0.1.36.bazel} (98%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.tracing-subscriber-0.3.20.bazel => BUILD.tracing-subscriber-0.3.23.bazel} (93%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.petgraph-0.6.5.bazel => BUILD.tracing-tree-0.4.1.bazel} (92%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.triomphe-0.1.14.bazel => BUILD.triomphe-0.1.15.bazel} (97%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.unicode-ident-1.0.19.bazel => BUILD.unicode-ident-1.0.24.bazel} (98%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.url-2.5.7.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.utf8_iter-1.0.4.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.wasi-0.14.5+wasi-0.2.4.bazel => BUILD.wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.bazel} (96%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.ppv-lite86-0.2.21.bazel => BUILD.wasm-encoder-0.244.0.bazel} (94%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-metadata-0.244.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasmparser-0.244.0.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.59.0.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-0.7.13.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-0.7.15.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-1.0.1.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.icu_properties_data-2.0.1.bazel => BUILD.wit-bindgen-0.51.0.bazel} (94%) create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-core-0.51.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-rust-0.51.0.bazel create mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-rust-macro-0.51.0.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.serde_spanned-0.6.9.bazel => BUILD.wit-component-0.244.0.bazel} (86%) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.cargo-util-schemas-0.8.2.bazel => BUILD.wit-parser-0.244.0.bazel} (86%) delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.yoke-0.8.0.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-derive-0.8.27.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerofrom-0.1.6.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerofrom-derive-0.1.6.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerotrie-0.2.2.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerovec-0.11.4.bazel delete mode 100644 misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerovec-derive-0.11.1.bazel rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.typeid-1.0.3.bazel => BUILD.zmij-1.0.21.bazel} (95%) diff --git a/MODULE.bazel b/MODULE.bazel index 16b4a4691f8a..dfc9a0c9144a 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -100,11 +100,11 @@ use_repo( tree_sitter_extractors_deps = use_extension("//misc/bazel/3rdparty:tree_sitter_extractors_extension.bzl", "r") use_repo( tree_sitter_extractors_deps, - "vendor_ts__anyhow-1.0.100", - "vendor_ts__argfile-0.2.1", + "vendor_ts__anyhow-1.0.102", + "vendor_ts__argfile-1.0.0", "vendor_ts__chalk-ir-0.104.0", - "vendor_ts__chrono-0.4.42", - "vendor_ts__clap-4.5.48", + "vendor_ts__chrono-0.4.44", + "vendor_ts__clap-4.6.0", "vendor_ts__dunce-1.0.5", "vendor_ts__either-1.15.0", "vendor_ts__encoding-0.2.33", @@ -117,41 +117,41 @@ use_repo( "vendor_ts__mustache-0.9.0", "vendor_ts__num-traits-0.2.19", "vendor_ts__num_cpus-1.17.0", - "vendor_ts__proc-macro2-1.0.101", - "vendor_ts__quote-1.0.41", - "vendor_ts__ra_ap_base_db-0.0.301", - "vendor_ts__ra_ap_cfg-0.0.301", - "vendor_ts__ra_ap_hir-0.0.301", - "vendor_ts__ra_ap_hir_def-0.0.301", - "vendor_ts__ra_ap_hir_expand-0.0.301", - "vendor_ts__ra_ap_hir_ty-0.0.301", - "vendor_ts__ra_ap_ide_db-0.0.301", - "vendor_ts__ra_ap_intern-0.0.301", - "vendor_ts__ra_ap_load-cargo-0.0.301", - "vendor_ts__ra_ap_parser-0.0.301", - "vendor_ts__ra_ap_paths-0.0.301", - "vendor_ts__ra_ap_project_model-0.0.301", - "vendor_ts__ra_ap_span-0.0.301", - "vendor_ts__ra_ap_stdx-0.0.301", - "vendor_ts__ra_ap_syntax-0.0.301", - "vendor_ts__ra_ap_vfs-0.0.301", - "vendor_ts__rand-0.9.2", - "vendor_ts__rayon-1.11.0", - "vendor_ts__regex-1.11.3", + "vendor_ts__proc-macro2-1.0.106", + "vendor_ts__quote-1.0.45", + "vendor_ts__ra_ap_base_db-0.0.328", + "vendor_ts__ra_ap_cfg-0.0.328", + "vendor_ts__ra_ap_hir-0.0.328", + "vendor_ts__ra_ap_hir_def-0.0.328", + "vendor_ts__ra_ap_hir_expand-0.0.328", + "vendor_ts__ra_ap_hir_ty-0.0.328", + "vendor_ts__ra_ap_ide_db-0.0.328", + "vendor_ts__ra_ap_intern-0.0.328", + "vendor_ts__ra_ap_load-cargo-0.0.328", + "vendor_ts__ra_ap_parser-0.0.328", + "vendor_ts__ra_ap_paths-0.0.328", + "vendor_ts__ra_ap_project_model-0.0.328", + "vendor_ts__ra_ap_span-0.0.328", + "vendor_ts__ra_ap_stdx-0.0.328", + "vendor_ts__ra_ap_syntax-0.0.328", + "vendor_ts__ra_ap_vfs-0.0.328", + "vendor_ts__rand-0.10.1", + "vendor_ts__rayon-1.12.0", + "vendor_ts__regex-1.12.3", "vendor_ts__serde-1.0.228", - "vendor_ts__serde_json-1.0.145", - "vendor_ts__serde_with-3.14.1", - "vendor_ts__syn-2.0.106", - "vendor_ts__toml-0.9.7", - "vendor_ts__tracing-0.1.41", + "vendor_ts__serde_json-1.0.149", + "vendor_ts__serde_with-3.18.0", + "vendor_ts__syn-2.0.117", + "vendor_ts__toml-1.1.2-spec-1.1.0", + "vendor_ts__tracing-0.1.44", "vendor_ts__tracing-flame-0.2.0", - "vendor_ts__tracing-subscriber-0.3.20", + "vendor_ts__tracing-subscriber-0.3.23", "vendor_ts__tree-sitter-0.25.9", "vendor_ts__tree-sitter-embedded-template-0.25.0", "vendor_ts__tree-sitter-json-0.24.8", "vendor_ts__tree-sitter-ql-0.23.1", "vendor_ts__tree-sitter-ruby-0.23.1", - "vendor_ts__triomphe-0.1.14", + "vendor_ts__triomphe-0.1.15", "vendor_ts__ungrammar-1.16.1", "vendor_ts__zstd-0.13.3", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.aho-corasick-1.1.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.aho-corasick-1.1.4.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.aho-corasick-1.1.3.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.aho-corasick-1.1.4.bazel index 29ac012c7637..5f173cfeddb3 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.aho-corasick-1.1.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.aho-corasick-1.1.4.bazel @@ -98,8 +98,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.1.3", + version = "1.1.4", deps = [ - "@vendor_ts__memchr-2.7.5//:memchr", + "@vendor_ts__memchr-2.8.0//:memchr", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android_system_properties-0.1.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android_system_properties-0.1.5.bazel index 165cf9da2fdb..ad16f969e7fb 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android_system_properties-0.1.5.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.android_system_properties-0.1.5.bazel @@ -95,6 +95,6 @@ rust_library( }), version = "0.1.5", deps = [ - "@vendor_ts__libc-0.2.175//:libc", + "@vendor_ts__libc-0.2.185//:libc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstream-0.6.20.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstream-1.0.0.bazel similarity index 93% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstream-0.6.20.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstream-1.0.0.bazel index bd6489b11e33..e1d853566436 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstream-0.6.20.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstream-1.0.0.bazel @@ -98,13 +98,13 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.6.20", + version = "1.0.0", deps = [ - "@vendor_ts__anstyle-1.0.11//:anstyle", - "@vendor_ts__anstyle-parse-0.2.7//:anstyle_parse", - "@vendor_ts__anstyle-query-1.1.4//:anstyle_query", - "@vendor_ts__colorchoice-1.0.4//:colorchoice", - "@vendor_ts__is_terminal_polyfill-1.70.1//:is_terminal_polyfill", + "@vendor_ts__anstyle-1.0.14//:anstyle", + "@vendor_ts__anstyle-parse-1.0.0//:anstyle_parse", + "@vendor_ts__anstyle-query-1.1.5//:anstyle_query", + "@vendor_ts__colorchoice-1.0.5//:colorchoice", + "@vendor_ts__is_terminal_polyfill-1.70.2//:is_terminal_polyfill", "@vendor_ts__utf8parse-0.2.2//:utf8parse", ] + select({ "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-1.0.11.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-1.0.14.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-1.0.11.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-1.0.14.bazel index 1739823d66f4..31423b2f54ce 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-1.0.11.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-1.0.14.bazel @@ -97,5 +97,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.11", + version = "1.0.14", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-parse-0.2.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-parse-1.0.0.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-parse-0.2.7.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-parse-1.0.0.bazel index d2c9594f554a..e953847f8c00 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-parse-0.2.7.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-parse-1.0.0.bazel @@ -97,7 +97,7 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.2.7", + version = "1.0.0", deps = [ "@vendor_ts__utf8parse-0.2.2//:utf8parse", ], diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-query-1.1.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-query-1.1.5.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-query-1.1.4.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-query-1.1.5.bazel index fe3361ea4119..4b43c9a2e48e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-query-1.1.4.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-query-1.1.5.bazel @@ -93,16 +93,16 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.1.4", + version = "1.1.5", deps = select({ "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) + "@vendor_ts__windows-sys-0.61.0//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) + "@vendor_ts__windows-sys-0.61.0//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) + "@vendor_ts__windows-sys-0.61.0//:windows_sys", # cfg(windows) ], "//conditions:default": [], }), diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-wincon-3.0.10.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-wincon-3.0.10.bazel index 822d2d90ec43..820fcd42ddee 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-wincon-3.0.10.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anstyle-wincon-3.0.10.bazel @@ -95,7 +95,7 @@ rust_library( }), version = "3.0.10", deps = [ - "@vendor_ts__anstyle-1.0.11//:anstyle", + "@vendor_ts__anstyle-1.0.14//:anstyle", ] + select({ "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ "@vendor_ts__once_cell_polyfill-1.70.1//:once_cell_polyfill", # cfg(windows) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anyhow-1.0.100.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anyhow-1.0.102.bazel similarity index 97% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anyhow-1.0.100.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anyhow-1.0.102.bazel index 48f6fcce1426..99de10c1ab76 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anyhow-1.0.100.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.anyhow-1.0.102.bazel @@ -43,7 +43,7 @@ rust_library( "std", ], crate_root = "src/lib.rs", - edition = "2018", + edition = "2021", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -101,9 +101,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.100", + version = "1.0.102", deps = [ - "@vendor_ts__anyhow-1.0.100//:build_script_build", + "@vendor_ts__anyhow-1.0.102//:build_script_build", ], ) @@ -144,7 +144,7 @@ cargo_build_script( "WORKSPACE.bazel", ], ), - edition = "2018", + edition = "2021", pkg_name = "anyhow", rustc_env_files = [ ":cargo_toml_env_vars", @@ -159,7 +159,7 @@ cargo_build_script( "noclippy", "norustfmt", ], - version = "1.0.100", + version = "1.0.102", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.argfile-0.2.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.argfile-1.0.0.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.argfile-0.2.1.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.argfile-1.0.0.bazel index 4a1e9ba79158..e8a8c7fd6262 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.argfile-0.2.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.argfile-1.0.0.bazel @@ -96,9 +96,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.2.1", + version = "1.0.0", deps = [ - "@vendor_ts__fs-err-2.11.0//:fs_err", + "@vendor_ts__fs-err-3.3.0//:fs_err", "@vendor_ts__os_str_bytes-7.1.1//:os_str_bytes", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-0.8.27.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.atomic-polyfill-1.0.3.bazel similarity index 94% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-0.8.27.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.atomic-polyfill-1.0.3.bazel index e0fee3f0f2ec..f20f39c53dca 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-0.8.27.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.atomic-polyfill-1.0.3.bazel @@ -21,7 +21,7 @@ cargo_toml_env_vars( ) rust_library( - name = "zerocopy", + name = "atomic_polyfill", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -38,9 +38,6 @@ rust_library( "WORKSPACE.bazel", ], ), - crate_features = [ - "simd", - ], crate_root = "src/lib.rs", edition = "2021", rustc_env_files = [ @@ -51,7 +48,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=zerocopy", + "crate-name=atomic-polyfill", "manual", "noclippy", "norustfmt", @@ -100,9 +97,10 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.8.27", + version = "1.0.3", deps = [ - "@vendor_ts__zerocopy-0.8.27//:build_script_build", + "@vendor_ts__atomic-polyfill-1.0.3//:build_script_build", + "@vendor_ts__critical-section-1.2.0//:critical_section", ], ) @@ -125,9 +123,6 @@ cargo_build_script( "WORKSPACE.bazel", ], ), - crate_features = [ - "simd", - ], crate_name = "build_script_build", crate_root = "build.rs", data = glob( @@ -143,7 +138,7 @@ cargo_build_script( ], ), edition = "2021", - pkg_name = "zerocopy", + pkg_name = "atomic-polyfill", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -152,12 +147,12 @@ cargo_build_script( ], tags = [ "cargo-bazel", - "crate-name=zerocopy", + "crate-name=atomic-polyfill", "manual", "noclippy", "norustfmt", ], - version = "0.8.27", + version = "1.0.3", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel index a5cfeccdcea8..b4965e15d280 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel @@ -32,26 +32,26 @@ filegroup( # Workspace Member Dependencies alias( - name = "anyhow-1.0.100", - actual = "@vendor_ts__anyhow-1.0.100//:anyhow", + name = "anyhow-1.0.102", + actual = "@vendor_ts__anyhow-1.0.102//:anyhow", tags = ["manual"], ) alias( name = "anyhow", - actual = "@vendor_ts__anyhow-1.0.100//:anyhow", + actual = "@vendor_ts__anyhow-1.0.102//:anyhow", tags = ["manual"], ) alias( - name = "argfile-0.2.1", - actual = "@vendor_ts__argfile-0.2.1//:argfile", + name = "argfile-1.0.0", + actual = "@vendor_ts__argfile-1.0.0//:argfile", tags = ["manual"], ) alias( name = "argfile", - actual = "@vendor_ts__argfile-0.2.1//:argfile", + actual = "@vendor_ts__argfile-1.0.0//:argfile", tags = ["manual"], ) @@ -68,26 +68,26 @@ alias( ) alias( - name = "chrono-0.4.42", - actual = "@vendor_ts__chrono-0.4.42//:chrono", + name = "chrono-0.4.44", + actual = "@vendor_ts__chrono-0.4.44//:chrono", tags = ["manual"], ) alias( name = "chrono", - actual = "@vendor_ts__chrono-0.4.42//:chrono", + actual = "@vendor_ts__chrono-0.4.44//:chrono", tags = ["manual"], ) alias( - name = "clap-4.5.48", - actual = "@vendor_ts__clap-4.5.48//:clap", + name = "clap-4.6.0", + actual = "@vendor_ts__clap-4.6.0//:clap", tags = ["manual"], ) alias( name = "clap", - actual = "@vendor_ts__clap-4.5.48//:clap", + actual = "@vendor_ts__clap-4.6.0//:clap", tags = ["manual"], ) @@ -236,260 +236,260 @@ alias( ) alias( - name = "proc-macro2-1.0.101", - actual = "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", + name = "proc-macro2-1.0.106", + actual = "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", tags = ["manual"], ) alias( name = "proc-macro2", - actual = "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", + actual = "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", tags = ["manual"], ) alias( - name = "quote-1.0.41", - actual = "@vendor_ts__quote-1.0.41//:quote", + name = "quote-1.0.45", + actual = "@vendor_ts__quote-1.0.45//:quote", tags = ["manual"], ) alias( name = "quote", - actual = "@vendor_ts__quote-1.0.41//:quote", + actual = "@vendor_ts__quote-1.0.45//:quote", tags = ["manual"], ) alias( - name = "ra_ap_base_db-0.0.301", - actual = "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db", + name = "ra_ap_base_db-0.0.328", + actual = "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db", tags = ["manual"], ) alias( name = "ra_ap_base_db", - actual = "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db", + actual = "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db", tags = ["manual"], ) alias( - name = "ra_ap_cfg-0.0.301", - actual = "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg", + name = "ra_ap_cfg-0.0.328", + actual = "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg", tags = ["manual"], ) alias( name = "ra_ap_cfg", - actual = "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg", + actual = "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg", tags = ["manual"], ) alias( - name = "ra_ap_hir-0.0.301", - actual = "@vendor_ts__ra_ap_hir-0.0.301//:ra_ap_hir", + name = "ra_ap_hir-0.0.328", + actual = "@vendor_ts__ra_ap_hir-0.0.328//:ra_ap_hir", tags = ["manual"], ) alias( name = "ra_ap_hir", - actual = "@vendor_ts__ra_ap_hir-0.0.301//:ra_ap_hir", + actual = "@vendor_ts__ra_ap_hir-0.0.328//:ra_ap_hir", tags = ["manual"], ) alias( - name = "ra_ap_hir_def-0.0.301", - actual = "@vendor_ts__ra_ap_hir_def-0.0.301//:ra_ap_hir_def", + name = "ra_ap_hir_def-0.0.328", + actual = "@vendor_ts__ra_ap_hir_def-0.0.328//:ra_ap_hir_def", tags = ["manual"], ) alias( name = "ra_ap_hir_def", - actual = "@vendor_ts__ra_ap_hir_def-0.0.301//:ra_ap_hir_def", + actual = "@vendor_ts__ra_ap_hir_def-0.0.328//:ra_ap_hir_def", tags = ["manual"], ) alias( - name = "ra_ap_hir_expand-0.0.301", - actual = "@vendor_ts__ra_ap_hir_expand-0.0.301//:ra_ap_hir_expand", + name = "ra_ap_hir_expand-0.0.328", + actual = "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand", tags = ["manual"], ) alias( name = "ra_ap_hir_expand", - actual = "@vendor_ts__ra_ap_hir_expand-0.0.301//:ra_ap_hir_expand", + actual = "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand", tags = ["manual"], ) alias( - name = "ra_ap_hir_ty-0.0.301", - actual = "@vendor_ts__ra_ap_hir_ty-0.0.301//:ra_ap_hir_ty", + name = "ra_ap_hir_ty-0.0.328", + actual = "@vendor_ts__ra_ap_hir_ty-0.0.328//:ra_ap_hir_ty", tags = ["manual"], ) alias( name = "ra_ap_hir_ty", - actual = "@vendor_ts__ra_ap_hir_ty-0.0.301//:ra_ap_hir_ty", + actual = "@vendor_ts__ra_ap_hir_ty-0.0.328//:ra_ap_hir_ty", tags = ["manual"], ) alias( - name = "ra_ap_ide_db-0.0.301", - actual = "@vendor_ts__ra_ap_ide_db-0.0.301//:ra_ap_ide_db", + name = "ra_ap_ide_db-0.0.328", + actual = "@vendor_ts__ra_ap_ide_db-0.0.328//:ra_ap_ide_db", tags = ["manual"], ) alias( name = "ra_ap_ide_db", - actual = "@vendor_ts__ra_ap_ide_db-0.0.301//:ra_ap_ide_db", + actual = "@vendor_ts__ra_ap_ide_db-0.0.328//:ra_ap_ide_db", tags = ["manual"], ) alias( - name = "ra_ap_intern-0.0.301", - actual = "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", + name = "ra_ap_intern-0.0.328", + actual = "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", tags = ["manual"], ) alias( name = "ra_ap_intern", - actual = "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", + actual = "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", tags = ["manual"], ) alias( - name = "ra_ap_load-cargo-0.0.301", - actual = "@vendor_ts__ra_ap_load-cargo-0.0.301//:ra_ap_load_cargo", + name = "ra_ap_load-cargo-0.0.328", + actual = "@vendor_ts__ra_ap_load-cargo-0.0.328//:ra_ap_load_cargo", tags = ["manual"], ) alias( name = "ra_ap_load-cargo", - actual = "@vendor_ts__ra_ap_load-cargo-0.0.301//:ra_ap_load_cargo", + actual = "@vendor_ts__ra_ap_load-cargo-0.0.328//:ra_ap_load_cargo", tags = ["manual"], ) alias( - name = "ra_ap_parser-0.0.301", - actual = "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser", + name = "ra_ap_parser-0.0.328", + actual = "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser", tags = ["manual"], ) alias( name = "ra_ap_parser", - actual = "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser", + actual = "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser", tags = ["manual"], ) alias( - name = "ra_ap_paths-0.0.301", - actual = "@vendor_ts__ra_ap_paths-0.0.301//:ra_ap_paths", + name = "ra_ap_paths-0.0.328", + actual = "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths", tags = ["manual"], ) alias( name = "ra_ap_paths", - actual = "@vendor_ts__ra_ap_paths-0.0.301//:ra_ap_paths", + actual = "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths", tags = ["manual"], ) alias( - name = "ra_ap_project_model-0.0.301", - actual = "@vendor_ts__ra_ap_project_model-0.0.301//:ra_ap_project_model", + name = "ra_ap_project_model-0.0.328", + actual = "@vendor_ts__ra_ap_project_model-0.0.328//:ra_ap_project_model", tags = ["manual"], ) alias( name = "ra_ap_project_model", - actual = "@vendor_ts__ra_ap_project_model-0.0.301//:ra_ap_project_model", + actual = "@vendor_ts__ra_ap_project_model-0.0.328//:ra_ap_project_model", tags = ["manual"], ) alias( - name = "ra_ap_span-0.0.301", - actual = "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", + name = "ra_ap_span-0.0.328", + actual = "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", tags = ["manual"], ) alias( name = "ra_ap_span", - actual = "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", + actual = "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", tags = ["manual"], ) alias( - name = "ra_ap_stdx-0.0.301", - actual = "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", + name = "ra_ap_stdx-0.0.328", + actual = "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", tags = ["manual"], ) alias( - name = "stdx-0.0.301", - actual = "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", + name = "stdx-0.0.328", + actual = "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", tags = ["manual"], ) alias( name = "stdx", - actual = "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", + actual = "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", tags = ["manual"], ) alias( - name = "ra_ap_syntax-0.0.301", - actual = "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax", + name = "ra_ap_syntax-0.0.328", + actual = "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax", tags = ["manual"], ) alias( name = "ra_ap_syntax", - actual = "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax", + actual = "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax", tags = ["manual"], ) alias( - name = "ra_ap_vfs-0.0.301", - actual = "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs", + name = "ra_ap_vfs-0.0.328", + actual = "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs", tags = ["manual"], ) alias( name = "ra_ap_vfs", - actual = "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs", + actual = "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs", tags = ["manual"], ) alias( - name = "rand-0.9.2", - actual = "@vendor_ts__rand-0.9.2//:rand", + name = "rand-0.10.1", + actual = "@vendor_ts__rand-0.10.1//:rand", tags = ["manual"], ) alias( name = "rand", - actual = "@vendor_ts__rand-0.9.2//:rand", + actual = "@vendor_ts__rand-0.10.1//:rand", tags = ["manual"], ) alias( - name = "rayon-1.11.0", - actual = "@vendor_ts__rayon-1.11.0//:rayon", + name = "rayon-1.12.0", + actual = "@vendor_ts__rayon-1.12.0//:rayon", tags = ["manual"], ) alias( name = "rayon", - actual = "@vendor_ts__rayon-1.11.0//:rayon", + actual = "@vendor_ts__rayon-1.12.0//:rayon", tags = ["manual"], ) alias( - name = "regex-1.11.3", - actual = "@vendor_ts__regex-1.11.3//:regex", + name = "regex-1.12.3", + actual = "@vendor_ts__regex-1.12.3//:regex", tags = ["manual"], ) alias( name = "regex", - actual = "@vendor_ts__regex-1.11.3//:regex", + actual = "@vendor_ts__regex-1.12.3//:regex", tags = ["manual"], ) @@ -506,62 +506,62 @@ alias( ) alias( - name = "serde_json-1.0.145", - actual = "@vendor_ts__serde_json-1.0.145//:serde_json", + name = "serde_json-1.0.149", + actual = "@vendor_ts__serde_json-1.0.149//:serde_json", tags = ["manual"], ) alias( name = "serde_json", - actual = "@vendor_ts__serde_json-1.0.145//:serde_json", + actual = "@vendor_ts__serde_json-1.0.149//:serde_json", tags = ["manual"], ) alias( - name = "serde_with-3.14.1", - actual = "@vendor_ts__serde_with-3.14.1//:serde_with", + name = "serde_with-3.18.0", + actual = "@vendor_ts__serde_with-3.18.0//:serde_with", tags = ["manual"], ) alias( name = "serde_with", - actual = "@vendor_ts__serde_with-3.14.1//:serde_with", + actual = "@vendor_ts__serde_with-3.18.0//:serde_with", tags = ["manual"], ) alias( - name = "syn-2.0.106", - actual = "@vendor_ts__syn-2.0.106//:syn", + name = "syn-2.0.117", + actual = "@vendor_ts__syn-2.0.117//:syn", tags = ["manual"], ) alias( name = "syn", - actual = "@vendor_ts__syn-2.0.106//:syn", + actual = "@vendor_ts__syn-2.0.117//:syn", tags = ["manual"], ) alias( - name = "toml-0.9.7", - actual = "@vendor_ts__toml-0.9.7//:toml", + name = "toml-1.1.2+spec-1.1.0", + actual = "@vendor_ts__toml-1.1.2-spec-1.1.0//:toml", tags = ["manual"], ) alias( name = "toml", - actual = "@vendor_ts__toml-0.9.7//:toml", + actual = "@vendor_ts__toml-1.1.2-spec-1.1.0//:toml", tags = ["manual"], ) alias( - name = "tracing-0.1.41", - actual = "@vendor_ts__tracing-0.1.41//:tracing", + name = "tracing-0.1.44", + actual = "@vendor_ts__tracing-0.1.44//:tracing", tags = ["manual"], ) alias( name = "tracing", - actual = "@vendor_ts__tracing-0.1.41//:tracing", + actual = "@vendor_ts__tracing-0.1.44//:tracing", tags = ["manual"], ) @@ -578,14 +578,14 @@ alias( ) alias( - name = "tracing-subscriber-0.3.20", - actual = "@vendor_ts__tracing-subscriber-0.3.20//:tracing_subscriber", + name = "tracing-subscriber-0.3.23", + actual = "@vendor_ts__tracing-subscriber-0.3.23//:tracing_subscriber", tags = ["manual"], ) alias( name = "tracing-subscriber", - actual = "@vendor_ts__tracing-subscriber-0.3.20//:tracing_subscriber", + actual = "@vendor_ts__tracing-subscriber-0.3.23//:tracing_subscriber", tags = ["manual"], ) @@ -650,14 +650,14 @@ alias( ) alias( - name = "triomphe-0.1.14", - actual = "@vendor_ts__triomphe-0.1.14//:triomphe", + name = "triomphe-0.1.15", + actual = "@vendor_ts__triomphe-0.1.15//:triomphe", tags = ["manual"], ) alias( name = "triomphe", - actual = "@vendor_ts__triomphe-0.1.14//:triomphe", + actual = "@vendor_ts__triomphe-0.1.15//:triomphe", tags = ["manual"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-2.9.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-2.11.1.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-2.9.4.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-2.11.1.bazel index 1e9bde485ea4..02bd7814aa45 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-2.9.4.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bitflags-2.11.1.bazel @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "2.9.4", + version = "2.11.1", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.borsh-1.5.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.borsh-1.6.1.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.borsh-1.5.7.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.borsh-1.6.1.bazel index cdf0bd3bcde6..76af71ed47f7 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.borsh-1.5.7.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.borsh-1.6.1.bazel @@ -97,9 +97,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.5.7", + version = "1.6.1", deps = [ - "@vendor_ts__borsh-1.5.7//:build_script_build", + "@vendor_ts__borsh-1.6.1//:build_script_build", ], ) @@ -151,7 +151,7 @@ cargo_build_script( "noclippy", "norustfmt", ], - version = "1.5.7", + version = "1.6.1", visibility = ["//visibility:private"], deps = [ "@vendor_ts__cfg_aliases-0.2.1//:cfg_aliases", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bstr-1.12.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bstr-1.12.0.bazel index efe6232bbf79..0e4d1c63f1ba 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bstr-1.12.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bstr-1.12.0.bazel @@ -99,6 +99,6 @@ rust_library( }), version = "1.12.0", deps = [ - "@vendor_ts__memchr-2.7.5//:memchr", + "@vendor_ts__memchr-2.8.0//:memchr", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.byteorder-1.5.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.byteorder-1.5.0.bazel new file mode 100644 index 000000000000..a4c26e134094 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.byteorder-1.5.0.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "byteorder", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=byteorder", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.5.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bytes-1.11.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bytes-1.11.1.bazel new file mode 100644 index 000000000000..d16c296c5adc --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bytes-1.11.1.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "bytes", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=bytes", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.11.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.camino-1.1.12.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.camino-1.2.2.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.camino-1.1.12.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.camino-1.2.2.bazel index 250bb124b510..92a6e66df847 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.camino-1.1.12.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.camino-1.2.2.bazel @@ -39,11 +39,10 @@ rust_library( ], ), crate_features = [ - "serde", "serde1", ], crate_root = "src/lib.rs", - edition = "2018", + edition = "2021", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -101,10 +100,10 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.1.12", + version = "1.2.2", deps = [ - "@vendor_ts__camino-1.1.12//:build_script_build", - "@vendor_ts__serde-1.0.228//:serde", + "@vendor_ts__camino-1.2.2//:build_script_build", + "@vendor_ts__serde_core-1.0.228//:serde_core", ], ) @@ -128,7 +127,6 @@ cargo_build_script( ], ), crate_features = [ - "serde", "serde1", ], crate_name = "build_script_build", @@ -145,7 +143,7 @@ cargo_build_script( "WORKSPACE.bazel", ], ), - edition = "2018", + edition = "2021", pkg_name = "camino", rustc_env_files = [ ":cargo_toml_env_vars", @@ -160,7 +158,7 @@ cargo_build_script( "noclippy", "norustfmt", ], - version = "1.1.12", + version = "1.2.2", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-platform-0.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-platform-0.3.2.bazel similarity index 97% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-platform-0.2.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-platform-0.3.2.bazel index 1a1a383b6390..6571dd77bf9e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-platform-0.2.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-platform-0.3.2.bazel @@ -35,7 +35,7 @@ rust_library( ], ), crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -93,8 +93,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.2.0", + version = "0.3.2", deps = [ - "@vendor_ts__serde-1.0.228//:serde", + "@vendor_ts__serde_core-1.0.228//:serde_core", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.21.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.23.1.bazel similarity index 92% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.21.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.23.1.bazel index aefea796d4c3..d5fc84ec87a1 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.21.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.23.1.bazel @@ -96,14 +96,13 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.21.0", + version = "0.23.1", deps = [ - "@vendor_ts__camino-1.1.12//:camino", - "@vendor_ts__cargo-platform-0.2.0//:cargo_platform", - "@vendor_ts__cargo-util-schemas-0.8.2//:cargo_util_schemas", - "@vendor_ts__semver-1.0.26//:semver", + "@vendor_ts__camino-1.2.2//:camino", + "@vendor_ts__cargo-platform-0.3.2//:cargo_platform", + "@vendor_ts__semver-1.0.28//:semver", "@vendor_ts__serde-1.0.228//:serde", - "@vendor_ts__serde_json-1.0.145//:serde_json", - "@vendor_ts__thiserror-2.0.16//:thiserror", + "@vendor_ts__serde_json-1.0.149//:serde_json", + "@vendor_ts__thiserror-2.0.18//:thiserror", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cc-1.2.37.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cc-1.2.60.bazel similarity index 86% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cc-1.2.37.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cc-1.2.60.bazel index c747c1c3c4fc..daf0f93aca41 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cc-1.2.37.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cc-1.2.60.bazel @@ -96,47 +96,47 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.2.37", + version = "1.2.60", deps = [ - "@vendor_ts__find-msvc-tools-0.1.1//:find_msvc_tools", + "@vendor_ts__find-msvc-tools-0.1.9//:find_msvc_tools", "@vendor_ts__jobserver-0.1.34//:jobserver", "@vendor_ts__shlex-1.3.0//:shlex", ] + select({ "@rules_rust//rust/platform:aarch64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # aarch64-apple-darwin + "@vendor_ts__libc-0.2.185//:libc", # aarch64-apple-darwin ], "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # aarch64-unknown-linux-gnu + "@vendor_ts__libc-0.2.185//:libc", # aarch64-unknown-linux-gnu ], "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # aarch64-unknown-linux-gnu, aarch64-unknown-nixos-gnu + "@vendor_ts__libc-0.2.185//:libc", # aarch64-unknown-linux-gnu, aarch64-unknown-nixos-gnu ], "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # arm-unknown-linux-gnueabi + "@vendor_ts__libc-0.2.185//:libc", # arm-unknown-linux-gnueabi ], "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # i686-unknown-linux-gnu + "@vendor_ts__libc-0.2.185//:libc", # i686-unknown-linux-gnu ], "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # powerpc-unknown-linux-gnu + "@vendor_ts__libc-0.2.185//:libc", # powerpc-unknown-linux-gnu ], "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # riscv64gc-unknown-linux-gnu + "@vendor_ts__libc-0.2.185//:libc", # riscv64gc-unknown-linux-gnu ], "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # s390x-unknown-linux-gnu + "@vendor_ts__libc-0.2.185//:libc", # s390x-unknown-linux-gnu ], "@rules_rust//rust/platform:x86_64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # x86_64-apple-darwin + "@vendor_ts__libc-0.2.185//:libc", # x86_64-apple-darwin ], "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # x86_64-unknown-freebsd + "@vendor_ts__libc-0.2.185//:libc", # x86_64-unknown-freebsd ], "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # x86_64-unknown-linux-gnu + "@vendor_ts__libc-0.2.185//:libc", # x86_64-unknown-linux-gnu ], "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # x86_64-unknown-linux-gnu, x86_64-unknown-nixos-gnu + "@vendor_ts__libc-0.2.185//:libc", # x86_64-unknown-linux-gnu, x86_64-unknown-nixos-gnu ], "//conditions:default": [], }), diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cfg-if-1.0.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cfg-if-1.0.4.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cfg-if-1.0.3.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cfg-if-1.0.4.bazel index 66d5b40eb232..415a85fe18cc 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cfg-if-1.0.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cfg-if-1.0.4.bazel @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.3", + version = "1.0.4", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chacha20-0.10.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chacha20-0.10.0.bazel new file mode 100644 index 000000000000..7109de2bbe4a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chacha20-0.10.0.bazel @@ -0,0 +1,151 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "chacha20", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "rng", + ], + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=chacha20", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.10.0", + deps = [ + "@vendor_ts__cfg-if-1.0.4//:cfg_if", + "@vendor_ts__rand_core-0.10.1//:rand_core", + ] + select({ + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:x86_64-unknown-none": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [ + "@vendor_ts__cpufeatures-0.3.0//:cpufeatures", # cfg(any(target_arch = "x86_64", target_arch = "x86")) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-derive-0.104.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-derive-0.104.0.bazel index c7b526db2fb6..b66be433fe88 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-derive-0.104.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-derive-0.104.0.bazel @@ -95,9 +95,9 @@ rust_proc_macro( }), version = "0.104.0", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", "@vendor_ts__synstructure-0.13.2//:synstructure", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.103.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.103.0.bazel deleted file mode 100644 index 7f20b012de96..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.103.0.bazel +++ /dev/null @@ -1,103 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "chalk_ir", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2018", - proc_macro_deps = [ - "@vendor_ts__chalk-derive-0.103.0//:chalk_derive", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=chalk-ir", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.103.0", - deps = [ - "@vendor_ts__bitflags-2.9.4//:bitflags", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.104.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.104.0.bazel index 2d796bef0b65..66edc978c74f 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.104.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-ir-0.104.0.bazel @@ -98,6 +98,6 @@ rust_library( }), version = "0.104.0", deps = [ - "@vendor_ts__bitflags-2.9.4//:bitflags", + "@vendor_ts__bitflags-2.11.1//:bitflags", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-recursive-0.103.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-recursive-0.103.0.bazel deleted file mode 100644 index b5bb39ea428c..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-recursive-0.103.0.bazel +++ /dev/null @@ -1,106 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "chalk_recursive", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2018", - proc_macro_deps = [ - "@vendor_ts__chalk-derive-0.103.0//:chalk_derive", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=chalk-recursive", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.103.0", - deps = [ - "@vendor_ts__chalk-ir-0.103.0//:chalk_ir", - "@vendor_ts__chalk-solve-0.103.0//:chalk_solve", - "@vendor_ts__rustc-hash-1.1.0//:rustc_hash", - "@vendor_ts__tracing-0.1.41//:tracing", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-solve-0.103.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-solve-0.103.0.bazel deleted file mode 100644 index f1124f1108fa..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-solve-0.103.0.bazel +++ /dev/null @@ -1,109 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "chalk_solve", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2018", - proc_macro_deps = [ - "@vendor_ts__chalk-derive-0.103.0//:chalk_derive", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=chalk-solve", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.103.0", - deps = [ - "@vendor_ts__chalk-ir-0.103.0//:chalk_ir", - "@vendor_ts__ena-0.14.3//:ena", - "@vendor_ts__indexmap-2.11.4//:indexmap", - "@vendor_ts__itertools-0.12.1//:itertools", - "@vendor_ts__petgraph-0.6.5//:petgraph", - "@vendor_ts__rustc-hash-1.1.0//:rustc_hash", - "@vendor_ts__tracing-0.1.41//:tracing", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chrono-0.4.42.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chrono-0.4.44.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chrono-0.4.42.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chrono-0.4.44.bazel index 41e2b0285ecc..b672118110f3 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chrono-0.4.42.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chrono-0.4.44.bazel @@ -108,7 +108,7 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.4.42", + version = "0.4.44", deps = [ "@vendor_ts__num-traits-0.2.19//:num_traits", "@vendor_ts__serde-1.0.228//:serde", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap-4.5.48.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap-4.6.0.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap-4.5.48.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap-4.6.0.bazel index 1ef4252fc093..a32bb36907aa 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap-4.5.48.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap-4.6.0.bazel @@ -45,9 +45,9 @@ rust_library( "usage", ], crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", proc_macro_deps = [ - "@vendor_ts__clap_derive-4.5.47//:clap_derive", + "@vendor_ts__clap_derive-4.6.0//:clap_derive", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -106,8 +106,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "4.5.48", + version = "4.6.0", deps = [ - "@vendor_ts__clap_builder-4.5.48//:clap_builder", + "@vendor_ts__clap_builder-4.6.0//:clap_builder", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_builder-4.5.48.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_builder-4.6.0.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_builder-4.5.48.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_builder-4.6.0.bazel index f15804a69287..e80eda78e4eb 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_builder-4.5.48.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_builder-4.6.0.bazel @@ -43,7 +43,7 @@ rust_library( "usage", ], crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -101,11 +101,11 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "4.5.48", + version = "4.6.0", deps = [ - "@vendor_ts__anstream-0.6.20//:anstream", - "@vendor_ts__anstyle-1.0.11//:anstyle", - "@vendor_ts__clap_lex-0.7.5//:clap_lex", + "@vendor_ts__anstream-1.0.0//:anstream", + "@vendor_ts__anstyle-1.0.14//:anstyle", + "@vendor_ts__clap_lex-1.1.0//:clap_lex", "@vendor_ts__strsim-0.11.1//:strsim", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_derive-4.5.47.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_derive-4.6.0.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_derive-4.5.47.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_derive-4.6.0.bazel index d203b2121e87..efcbd52b0381 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_derive-4.5.47.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_derive-4.6.0.bazel @@ -38,7 +38,7 @@ rust_proc_macro( "default", ], crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -96,11 +96,11 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "4.5.47", + version = "4.6.0", deps = [ "@vendor_ts__heck-0.5.0//:heck", - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_lex-0.7.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_lex-1.1.0.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_lex-0.7.5.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_lex-1.1.0.bazel index a5a6cca1fe85..701c96d00d9e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_lex-0.7.5.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.clap_lex-1.1.0.bazel @@ -35,7 +35,7 @@ rust_library( ], ), crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.7.5", + version = "1.1.0", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.litemap-0.8.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cobs-0.3.0.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.litemap-0.8.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cobs-0.3.0.bazel index 47c9e11a8b9f..658009e8af70 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.litemap-0.8.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cobs-0.3.0.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_library( - name = "litemap", + name = "cobs", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -34,9 +34,6 @@ rust_library( "WORKSPACE.bazel", ], ), - crate_features = [ - "alloc", - ], crate_root = "src/lib.rs", edition = "2021", rustc_env_files = [ @@ -47,7 +44,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=litemap", + "crate-name=cobs", "manual", "noclippy", "norustfmt", @@ -96,5 +93,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.8.0", + version = "0.3.0", + deps = [ + "@vendor_ts__thiserror-2.0.18//:thiserror", + ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.colorchoice-1.0.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.colorchoice-1.0.5.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.colorchoice-1.0.4.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.colorchoice-1.0.5.bazel index 5956c5ff8f7f..59b50356c647 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.colorchoice-1.0.4.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.colorchoice-1.0.5.bazel @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.4", + version = "1.0.5", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cpufeatures-0.3.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cpufeatures-0.3.0.bazel new file mode 100644 index 000000000000..57d9f28db4a8 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cpufeatures-0.3.0.bazel @@ -0,0 +1,118 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "cpufeatures", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=cpufeatures", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.0", + deps = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_arch = "aarch64", target_vendor = "apple")) + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_arch = "aarch64", target_vendor = "apple")) + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_arch = "aarch64", target_vendor = "apple")) + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_arch = "aarch64", target_os = "android")) + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_arch = "aarch64", target_os = "linux")) + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_arch = "aarch64", target_os = "linux")) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crc32fast-1.5.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crc32fast-1.5.0.bazel index 46c3fb30a597..ee8ffed758d6 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crc32fast-1.5.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.crc32fast-1.5.0.bazel @@ -103,7 +103,7 @@ rust_library( }), version = "1.5.0", deps = [ - "@vendor_ts__cfg-if-1.0.3//:cfg_if", + "@vendor_ts__cfg-if-1.0.4//:cfg_if", "@vendor_ts__crc32fast-1.5.0//:build_script_build", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.critical-section-1.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.critical-section-1.2.0.bazel new file mode 100644 index 000000000000..0e3cf2f62f41 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.critical-section-1.2.0.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "critical_section", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=critical-section", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.2.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling-0.21.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling-0.23.0.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling-0.21.3.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling-0.23.0.bazel index a9572a79a814..84da5eac9d94 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling-0.21.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling-0.23.0.bazel @@ -41,7 +41,7 @@ rust_library( crate_root = "src/lib.rs", edition = "2021", proc_macro_deps = [ - "@vendor_ts__darling_macro-0.21.3//:darling_macro", + "@vendor_ts__darling_macro-0.23.0//:darling_macro", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -100,8 +100,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.21.3", + version = "0.23.0", deps = [ - "@vendor_ts__darling_core-0.21.3//:darling_core", + "@vendor_ts__darling_core-0.23.0//:darling_core", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_core-0.21.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_core-0.23.0.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_core-0.21.3.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_core-0.23.0.bazel index 22e3ea592f61..a9da47fd6acd 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_core-0.21.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_core-0.23.0.bazel @@ -97,13 +97,12 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.21.3", + version = "0.23.0", deps = [ - "@vendor_ts__fnv-1.0.7//:fnv", "@vendor_ts__ident_case-1.0.1//:ident_case", - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", "@vendor_ts__strsim-0.11.1//:strsim", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_macro-0.21.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_macro-0.23.0.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_macro-0.21.3.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_macro-0.23.0.bazel index 99c3af7e2e4f..aa8c9c33128a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_macro-0.21.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.darling_macro-0.23.0.bazel @@ -93,10 +93,10 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.21.3", + version = "0.23.0", deps = [ - "@vendor_ts__darling_core-0.21.3//:darling_core", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__darling_core-0.23.0//:darling_core", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dashmap-6.1.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dashmap-6.1.0.bazel index c9a20e45392f..d7ee0436f948 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dashmap-6.1.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dashmap-6.1.0.bazel @@ -99,11 +99,11 @@ rust_library( }), version = "6.1.0", deps = [ - "@vendor_ts__cfg-if-1.0.3//:cfg_if", + "@vendor_ts__cfg-if-1.0.4//:cfg_if", "@vendor_ts__crossbeam-utils-0.8.21//:crossbeam_utils", "@vendor_ts__hashbrown-0.14.5//:hashbrown", "@vendor_ts__lock_api-0.4.13//:lock_api", - "@vendor_ts__once_cell-1.21.3//:once_cell", + "@vendor_ts__once_cell-1.21.4//:once_cell", "@vendor_ts__parking_lot_core-0.9.11//:parking_lot_core", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.deranged-0.5.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.deranged-0.5.3.bazel index 850713a2e455..bfd0ba3fc282 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.deranged-0.5.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.deranged-0.5.3.bazel @@ -34,6 +34,10 @@ rust_library( "WORKSPACE.bazel", ], ), + crate_features = [ + "default", + "powerfmt", + ], crate_root = "src/lib.rs", edition = "2021", rustc_env_files = [ @@ -94,4 +98,7 @@ rust_library( "//conditions:default": ["@platforms//:incompatible"], }), version = "0.5.3", + deps = [ + "@vendor_ts__powerfmt-0.2.0//:powerfmt", + ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.displaydoc-0.2.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.derive-where-1.6.1.bazel similarity index 94% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.displaydoc-0.2.5.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.derive-where-1.6.1.bazel index 41aae8ab1ecc..16396514eeb5 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.displaydoc-0.2.5.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.derive-where-1.6.1.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_proc_macro( - name = "displaydoc", + name = "derive_where", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -44,7 +44,7 @@ rust_proc_macro( ], tags = [ "cargo-bazel", - "crate-name=displaydoc", + "crate-name=derive-where", "manual", "noclippy", "norustfmt", @@ -93,10 +93,10 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.2.5", + version = "1.6.1", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dissimilar-1.0.11.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dissimilar-1.0.11.bazel new file mode 100644 index 000000000000..79ee7c7ee72a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.dissimilar-1.0.11.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "dissimilar", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=dissimilar", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.11", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.embedded-io-0.4.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.embedded-io-0.4.0.bazel new file mode 100644 index 000000000000..1aedeaf25f78 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.embedded-io-0.4.0.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "embedded_io", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=embedded-io", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.writeable-0.6.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.embedded-io-0.6.1.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.writeable-0.6.1.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.embedded-io-0.6.1.bazel index 28b6f63ce6fe..cf929d38e539 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.writeable-0.6.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.embedded-io-0.6.1.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_library( - name = "writeable", + name = "embedded_io", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -44,7 +44,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=writeable", + "crate-name=embedded-io", "manual", "noclippy", "norustfmt", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ena-0.14.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ena-0.14.3.bazel index c59d0a9a3162..ecacffd0328f 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ena-0.14.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ena-0.14.3.bazel @@ -95,6 +95,6 @@ rust_library( }), version = "0.14.3", deps = [ - "@vendor_ts__log-0.4.28//:log", + "@vendor_ts__log-0.4.29//:log", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.find-msvc-tools-0.1.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.find-msvc-tools-0.1.9.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.find-msvc-tools-0.1.1.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.find-msvc-tools-0.1.9.bazel index 8fc8c9a81e26..12cd2ecbe0cc 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.find-msvc-tools-0.1.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.find-msvc-tools-0.1.9.bazel @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.1.1", + version = "0.1.9", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fixedbitset-0.4.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fixedbitset-0.5.7.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fixedbitset-0.4.2.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fixedbitset-0.5.7.bazel index b41f13ec6e51..01336178f130 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fixedbitset-0.4.2.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fixedbitset-0.5.7.bazel @@ -35,7 +35,7 @@ rust_library( ], ), crate_root = "src/lib.rs", - edition = "2015", + edition = "2021", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.4.2", + version = "0.5.7", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fnv-1.0.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fnv-1.0.7.bazel deleted file mode 100644 index 80252992a212..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fnv-1.0.7.bazel +++ /dev/null @@ -1,101 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "fnv", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "default", - "std", - ], - crate_root = "lib.rs", - edition = "2015", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=fnv", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "1.0.7", -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.form_urlencoded-1.2.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.form_urlencoded-1.2.2.bazel deleted file mode 100644 index 7d4cbdcdecb7..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.form_urlencoded-1.2.2.bazel +++ /dev/null @@ -1,104 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "form_urlencoded", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "alloc", - "std", - ], - crate_root = "src/lib.rs", - edition = "2018", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=form_urlencoded", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "1.2.2", - deps = [ - "@vendor_ts__percent-encoding-2.3.2//:percent_encoding", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fs-err-2.11.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fs-err-3.3.0.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fs-err-2.11.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fs-err-3.3.0.bazel index 657e1cd8a4aa..41907be4dc07 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fs-err-2.11.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fs-err-3.3.0.bazel @@ -97,9 +97,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "2.11.0", + version = "3.3.0", deps = [ - "@vendor_ts__fs-err-2.11.0//:build_script_build", + "@vendor_ts__fs-err-3.3.0//:build_script_build", ], ) @@ -151,7 +151,7 @@ cargo_build_script( "noclippy", "norustfmt", ], - version = "2.11.0", + version = "3.3.0", visibility = ["//visibility:private"], deps = [ "@vendor_ts__autocfg-1.5.0//:autocfg", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fsevent-sys-4.1.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fsevent-sys-4.1.0.bazel index cb938292839d..31a03fc15cdd 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fsevent-sys-4.1.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.fsevent-sys-4.1.0.bazel @@ -95,6 +95,6 @@ rust_library( }), version = "4.1.0", deps = [ - "@vendor_ts__libc-0.2.175//:libc", + "@vendor_ts__libc-0.2.185//:libc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.3.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.3.4.bazel similarity index 86% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.3.3.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.3.4.bazel index d09e3ce7a4a5..6b4d1acde83a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.3.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.3.4.bazel @@ -100,88 +100,88 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.3.3", + version = "0.3.4", deps = [ - "@vendor_ts__cfg-if-1.0.3//:cfg_if", - "@vendor_ts__getrandom-0.3.3//:build_script_build", + "@vendor_ts__cfg-if-1.0.4//:cfg_if", + "@vendor_ts__getrandom-0.3.4//:build_script_build", ] + select({ "@rules_rust//rust/platform:aarch64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) ], "@rules_rust//rust/platform:aarch64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(any(target_os = "ios", target_os = "visionos", target_os = "watchos", target_os = "tvos")) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "ios", target_os = "visionos", target_os = "watchos", target_os = "tvos")) ], "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(any(target_os = "ios", target_os = "visionos", target_os = "watchos", target_os = "tvos")) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "ios", target_os = "visionos", target_os = "watchos", target_os = "tvos")) ], "@rules_rust//rust/platform:aarch64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(any(target_os = "haiku", target_os = "redox", target_os = "nto", target_os = "aix")) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "haiku", target_os = "redox", target_os = "nto", target_os = "aix")) ], "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:armv7-linux-androideabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:i686-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) ], "@rules_rust//rust/platform:i686-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:i686-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(any(target_os = "dragonfly", target_os = "freebsd", target_os = "hurd", target_os = "illumos", target_os = "cygwin", all(target_os = "horizon", target_arch = "arm"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "dragonfly", target_os = "freebsd", target_os = "hurd", target_os = "illumos", target_os = "cygwin", all(target_os = "horizon", target_arch = "arm"))) ], "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:wasm32-unknown-emscripten": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) ], "@rules_rust//rust/platform:wasm32-wasip2": [ - "@vendor_ts__wasi-0.14.5-wasi-0.2.4//:wasi", # cfg(all(target_arch = "wasm32", target_os = "wasi", target_env = "p2")) + "@vendor_ts__wasip2-1.0.0-wasi-0.2.4//:wasip2", # cfg(all(target_arch = "wasm32", target_os = "wasi", target_env = "p2")) ], "@rules_rust//rust/platform:x86_64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) ], "@rules_rust//rust/platform:x86_64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(any(target_os = "ios", target_os = "visionos", target_os = "watchos", target_os = "tvos")) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "ios", target_os = "visionos", target_os = "watchos", target_os = "tvos")) ], "@rules_rust//rust/platform:x86_64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(any(target_os = "dragonfly", target_os = "freebsd", target_os = "hurd", target_os = "illumos", target_os = "cygwin", all(target_os = "horizon", target_arch = "arm"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "dragonfly", target_os = "freebsd", target_os = "hurd", target_os = "illumos", target_os = "cygwin", all(target_os = "horizon", target_arch = "arm"))) ], "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) ], "//conditions:default": [], }), @@ -238,7 +238,7 @@ cargo_build_script( "noclippy", "norustfmt", ], - version = "0.3.3", + version = "0.3.4", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.4.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.4.2.bazel new file mode 100644 index 000000000000..74aa24668f2a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.getrandom-0.4.2.bazel @@ -0,0 +1,252 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load( + "@rules_rust//cargo:defs.bzl", + "cargo_build_script", + "cargo_toml_env_vars", +) +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "getrandom", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "std", + "sys_rng", + ], + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=getrandom", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.4.2", + deps = [ + "@vendor_ts__cfg-if-1.0.4//:cfg_if", + "@vendor_ts__getrandom-0.4.2//:build_script_build", + "@vendor_ts__rand_core-0.10.1//:rand_core", + ] + select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "ios", target_os = "visionos", target_os = "watchos", target_os = "tvos")) + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "ios", target_os = "visionos", target_os = "watchos", target_os = "tvos")) + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "haiku", target_os = "redox", target_os = "nto", target_os = "aix")) + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "dragonfly", target_os = "freebsd", target_os = "hurd", target_os = "illumos", target_os = "cygwin", all(target_os = "horizon", target_arch = "arm"))) + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) + ], + "@rules_rust//rust/platform:wasm32-wasip2": [ + "@vendor_ts__wasip2-1.0.0-wasi-0.2.4//:wasip2", # cfg(all(target_arch = "wasm32", target_os = "wasi", target_env = "p2")) + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")) + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "ios", target_os = "visionos", target_os = "watchos", target_os = "tvos")) + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "dragonfly", target_os = "freebsd", target_os = "hurd", target_os = "illumos", target_os = "cygwin", all(target_os = "horizon", target_arch = "arm"))) + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))) + ], + "//conditions:default": [], + }), +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "std", + "sys_rng", + ], + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2024", + pkg_name = "getrandom", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=getrandom", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.4.2", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.globset-0.4.16.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.globset-0.4.16.bazel index 0f83adee8e78..eadca051b955 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.globset-0.4.16.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.globset-0.4.16.bazel @@ -99,10 +99,10 @@ rust_library( }), version = "0.4.16", deps = [ - "@vendor_ts__aho-corasick-1.1.3//:aho_corasick", + "@vendor_ts__aho-corasick-1.1.4//:aho_corasick", "@vendor_ts__bstr-1.12.0//:bstr", - "@vendor_ts__log-0.4.28//:log", - "@vendor_ts__regex-automata-0.4.11//:regex_automata", - "@vendor_ts__regex-syntax-0.8.6//:regex_syntax", + "@vendor_ts__log-0.4.29//:log", + "@vendor_ts__regex-automata-0.4.14//:regex_automata", + "@vendor_ts__regex-syntax-0.8.10//:regex_syntax", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.scoped-tls-1.0.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hash32-0.2.1.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.scoped-tls-1.0.1.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hash32-0.2.1.bazel index 83ffd8145e73..182c9c89fd4e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.scoped-tls-1.0.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hash32-0.2.1.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_library( - name = "scoped_tls", + name = "hash32", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -44,7 +44,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=scoped-tls", + "crate-name=hash32", "manual", "noclippy", "norustfmt", @@ -93,5 +93,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.1", + version = "0.2.1", + deps = [ + "@vendor_ts__byteorder-1.5.0//:byteorder", + ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.17.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.17.0.bazel new file mode 100644 index 000000000000..3dddca9e54da --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.hashbrown-0.17.0.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "hashbrown", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=hashbrown", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.17.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.semver-1.0.26.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.heapless-0.7.17.bazel similarity index 70% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.semver-1.0.26.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.heapless-0.7.17.bazel index a495f639d420..75b7d25c4df4 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.semver-1.0.26.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.heapless-0.7.17.bazel @@ -21,7 +21,7 @@ cargo_toml_env_vars( ) rust_library( - name = "semver", + name = "heapless", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -39,9 +39,9 @@ rust_library( ], ), crate_features = [ - "default", + "atomic-polyfill", + "cas", "serde", - "std", ], crate_root = "src/lib.rs", edition = "2018", @@ -53,7 +53,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=semver", + "crate-name=heapless", "manual", "noclippy", "norustfmt", @@ -102,11 +102,48 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.26", + version = "0.7.17", deps = [ - "@vendor_ts__semver-1.0.26//:build_script_build", + "@vendor_ts__hash32-0.2.1//:hash32", + "@vendor_ts__heapless-0.7.17//:build_script_build", "@vendor_ts__serde-1.0.228//:serde", - ], + "@vendor_ts__stable_deref_trait-1.2.1//:stable_deref_trait", + ] + select({ + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [ + "@vendor_ts__atomic-polyfill-1.0.3//:atomic_polyfill", # riscv32imc-unknown-none-elf + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor_ts__spin-0.9.8//:spin", # cfg(target_arch = "x86_64") + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor_ts__spin-0.9.8//:spin", # cfg(target_arch = "x86_64") + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor_ts__spin-0.9.8//:spin", # cfg(target_arch = "x86_64") + ], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ + "@vendor_ts__spin-0.9.8//:spin", # cfg(target_arch = "x86_64") + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor_ts__spin-0.9.8//:spin", # cfg(target_arch = "x86_64") + ], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [ + "@vendor_ts__spin-0.9.8//:spin", # cfg(target_arch = "x86_64") + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor_ts__spin-0.9.8//:spin", # cfg(target_arch = "x86_64") + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor_ts__spin-0.9.8//:spin", # cfg(target_arch = "x86_64") + ], + "@rules_rust//rust/platform:x86_64-unknown-none": [ + "@vendor_ts__spin-0.9.8//:spin", # cfg(target_arch = "x86_64") + ], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [ + "@vendor_ts__spin-0.9.8//:spin", # cfg(target_arch = "x86_64") + ], + "//conditions:default": [], + }), ) cargo_build_script( @@ -129,9 +166,9 @@ cargo_build_script( ], ), crate_features = [ - "default", + "atomic-polyfill", + "cas", "serde", - "std", ], crate_name = "build_script_build", crate_root = "build.rs", @@ -148,7 +185,7 @@ cargo_build_script( ], ), edition = "2018", - pkg_name = "semver", + pkg_name = "heapless", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -157,13 +194,16 @@ cargo_build_script( ], tags = [ "cargo-bazel", - "crate-name=semver", + "crate-name=heapless", "manual", "noclippy", "norustfmt", ], - version = "1.0.26", + version = "0.7.17", visibility = ["//visibility:private"], + deps = [ + "@vendor_ts__rustc_version-0.4.1//:rustc_version", + ], ) alias( diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.home-0.5.11.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.home-0.5.12.bazel similarity index 94% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.home-0.5.11.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.home-0.5.12.bazel index 97b2f5a5b94b..8eaa49950537 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.home-0.5.11.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.home-0.5.12.bazel @@ -35,7 +35,7 @@ rust_library( ], ), crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -93,16 +93,16 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.5.11", + version = "0.5.12", deps = select({ "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.59.0//:windows_sys", # cfg(windows) + "@vendor_ts__windows-sys-0.61.0//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.59.0//:windows_sys", # cfg(windows) + "@vendor_ts__windows-sys-0.61.0//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.59.0//:windows_sys", # cfg(windows) + "@vendor_ts__windows-sys-0.61.0//:windows_sys", # cfg(windows) ], "//conditions:default": [], }), diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-0.1.63.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-0.1.63.bazel index d66d4803a463..0f0237cf6b4c 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-0.1.63.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-0.1.63.bazel @@ -127,7 +127,7 @@ rust_library( ], "@rules_rust//rust/platform:wasm32-unknown-unknown": [ "@vendor_ts__js-sys-0.3.78//:js_sys", # cfg(all(target_arch = "wasm32", target_os = "unknown")) - "@vendor_ts__log-0.4.28//:log", # cfg(all(target_arch = "wasm32", target_os = "unknown")) + "@vendor_ts__log-0.4.29//:log", # cfg(all(target_arch = "wasm32", target_os = "unknown")) "@vendor_ts__wasm-bindgen-0.2.101//:wasm_bindgen", # cfg(all(target_arch = "wasm32", target_os = "unknown")) ], "@rules_rust//rust/platform:x86_64-apple-darwin": [ diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-haiku-0.1.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-haiku-0.1.2.bazel index fe120c046896..4b3b49a6cace 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-haiku-0.1.2.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.iana-time-zone-haiku-0.1.2.bazel @@ -154,7 +154,7 @@ cargo_build_script( version = "0.1.2", visibility = ["//visibility:private"], deps = [ - "@vendor_ts__cc-1.2.37//:cc", + "@vendor_ts__cc-1.2.60//:cc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_collections-2.0.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_collections-2.0.0.bazel deleted file mode 100644 index 4d6d31338250..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_collections-2.0.0.bazel +++ /dev/null @@ -1,106 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "icu_collections", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2021", - proc_macro_deps = [ - "@vendor_ts__displaydoc-0.2.5//:displaydoc", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=icu_collections", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "2.0.0", - deps = [ - "@vendor_ts__potential_utf-0.1.3//:potential_utf", - "@vendor_ts__yoke-0.8.0//:yoke", - "@vendor_ts__zerofrom-0.1.6//:zerofrom", - "@vendor_ts__zerovec-0.11.4//:zerovec", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_locale_core-2.0.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_locale_core-2.0.0.bazel deleted file mode 100644 index b0cb71a32999..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_locale_core-2.0.0.bazel +++ /dev/null @@ -1,109 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "icu_locale_core", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "zerovec", - ], - crate_root = "src/lib.rs", - edition = "2021", - proc_macro_deps = [ - "@vendor_ts__displaydoc-0.2.5//:displaydoc", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=icu_locale_core", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "2.0.0", - deps = [ - "@vendor_ts__litemap-0.8.0//:litemap", - "@vendor_ts__tinystr-0.8.1//:tinystr", - "@vendor_ts__writeable-0.6.1//:writeable", - "@vendor_ts__zerovec-0.11.4//:zerovec", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_normalizer-2.0.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_normalizer-2.0.0.bazel deleted file mode 100644 index 460c5de79a2a..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_normalizer-2.0.0.bazel +++ /dev/null @@ -1,110 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "icu_normalizer", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "compiled_data", - ], - crate_root = "src/lib.rs", - edition = "2021", - proc_macro_deps = [ - "@vendor_ts__displaydoc-0.2.5//:displaydoc", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=icu_normalizer", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "2.0.0", - deps = [ - "@vendor_ts__icu_collections-2.0.0//:icu_collections", - "@vendor_ts__icu_normalizer_data-2.0.0//:icu_normalizer_data", - "@vendor_ts__icu_provider-2.0.0//:icu_provider", - "@vendor_ts__smallvec-1.15.1//:smallvec", - "@vendor_ts__zerovec-0.11.4//:zerovec", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_properties-2.0.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_properties-2.0.1.bazel deleted file mode 100644 index 4416b8253053..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_properties-2.0.1.bazel +++ /dev/null @@ -1,112 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "icu_properties", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "compiled_data", - ], - crate_root = "src/lib.rs", - edition = "2021", - proc_macro_deps = [ - "@vendor_ts__displaydoc-0.2.5//:displaydoc", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=icu_properties", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "2.0.1", - deps = [ - "@vendor_ts__icu_collections-2.0.0//:icu_collections", - "@vendor_ts__icu_locale_core-2.0.0//:icu_locale_core", - "@vendor_ts__icu_properties_data-2.0.1//:icu_properties_data", - "@vendor_ts__icu_provider-2.0.0//:icu_provider", - "@vendor_ts__potential_utf-0.1.3//:potential_utf", - "@vendor_ts__zerotrie-0.2.2//:zerotrie", - "@vendor_ts__zerovec-0.11.4//:zerovec", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_provider-2.0.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_provider-2.0.0.bazel deleted file mode 100644 index 08e96e830c79..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_provider-2.0.0.bazel +++ /dev/null @@ -1,114 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "icu_provider", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "baked", - "zerotrie", - ], - crate_root = "src/lib.rs", - edition = "2021", - proc_macro_deps = [ - "@vendor_ts__displaydoc-0.2.5//:displaydoc", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=icu_provider", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "2.0.0", - deps = [ - "@vendor_ts__icu_locale_core-2.0.0//:icu_locale_core", - "@vendor_ts__stable_deref_trait-1.2.0//:stable_deref_trait", - "@vendor_ts__tinystr-0.8.1//:tinystr", - "@vendor_ts__writeable-0.6.1//:writeable", - "@vendor_ts__yoke-0.8.0//:yoke", - "@vendor_ts__zerofrom-0.1.6//:zerofrom", - "@vendor_ts__zerotrie-0.2.2//:zerotrie", - "@vendor_ts__zerovec-0.11.4//:zerovec", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.id-arena-2.3.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.id-arena-2.3.0.bazel new file mode 100644 index 000000000000..7561bcf77875 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.id-arena-2.3.0.bazel @@ -0,0 +1,101 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "id_arena", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=id-arena", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.3.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.idna-1.1.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.idna-1.1.0.bazel deleted file mode 100644 index afb404176fd2..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.idna-1.1.0.bazel +++ /dev/null @@ -1,107 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "idna", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "alloc", - "compiled_data", - "std", - ], - crate_root = "src/lib.rs", - edition = "2018", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=idna", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "1.1.0", - deps = [ - "@vendor_ts__idna_adapter-1.2.1//:idna_adapter", - "@vendor_ts__smallvec-1.15.1//:smallvec", - "@vendor_ts__utf8_iter-1.0.4//:utf8_iter", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.idna_adapter-1.2.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.idna_adapter-1.2.1.bazel deleted file mode 100644 index 7f44f43eac20..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.idna_adapter-1.2.1.bazel +++ /dev/null @@ -1,104 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "idna_adapter", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "compiled_data", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=idna_adapter", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "1.2.1", - deps = [ - "@vendor_ts__icu_normalizer-2.0.0//:icu_normalizer", - "@vendor_ts__icu_properties-2.0.1//:icu_properties", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-2.11.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-2.14.0.bazel similarity index 97% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-2.11.4.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-2.14.0.bazel index 53cca2f56778..2728cd8cff29 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-2.11.4.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.indexmap-2.14.0.bazel @@ -40,7 +40,7 @@ rust_library( "std", ], crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -98,10 +98,10 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "2.11.4", + version = "2.14.0", deps = [ "@vendor_ts__equivalent-1.0.2//:equivalent", - "@vendor_ts__hashbrown-0.15.5//:hashbrown", + "@vendor_ts__hashbrown-0.17.0//:hashbrown", "@vendor_ts__serde_core-1.0.228//:serde_core", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-0.11.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-0.11.0.bazel index 6be5e3be9d96..44ae44447530 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-0.11.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-0.11.0.bazel @@ -95,8 +95,8 @@ rust_library( }), version = "0.11.0", deps = [ - "@vendor_ts__bitflags-2.9.4//:bitflags", + "@vendor_ts__bitflags-2.11.1//:bitflags", "@vendor_ts__inotify-sys-0.1.5//:inotify_sys", - "@vendor_ts__libc-0.2.175//:libc", + "@vendor_ts__libc-0.2.185//:libc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-sys-0.1.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-sys-0.1.5.bazel index 9316b8d907c5..3d7224c6334c 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-sys-0.1.5.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inotify-sys-0.1.5.bazel @@ -95,6 +95,6 @@ rust_library( }), version = "0.1.5", deps = [ - "@vendor_ts__libc-0.2.175//:libc", + "@vendor_ts__libc-0.2.185//:libc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.seize-0.5.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inventory-0.3.24.bazel similarity index 82% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.seize-0.5.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inventory-0.3.24.bazel index 192a60880283..f80d0c4f3e86 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.seize-0.5.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.inventory-0.3.24.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_library( - name = "seize", + name = "inventory", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -34,14 +34,26 @@ rust_library( "WORKSPACE.bazel", ], ), - crate_features = [ - "default", - "fast-barrier", - "libc", - "windows-sys", - ], crate_root = "src/lib.rs", edition = "2021", + proc_macro_deps = select({ + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [ + "@vendor_ts__rustversion-1.0.22//:rustversion", # cfg(target_family = "wasm") + ], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [ + "@vendor_ts__rustversion-1.0.22//:rustversion", # cfg(target_family = "wasm") + ], + "@rules_rust//rust/platform:wasm32-wasip1": [ + "@vendor_ts__rustversion-1.0.22//:rustversion", # cfg(target_family = "wasm") + ], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [ + "@vendor_ts__rustversion-1.0.22//:rustversion", # cfg(target_family = "wasm") + ], + "@rules_rust//rust/platform:wasm32-wasip2": [ + "@vendor_ts__rustversion-1.0.22//:rustversion", # cfg(target_family = "wasm") + ], + "//conditions:default": [], + }), rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -50,7 +62,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=seize", + "crate-name=inventory", "manual", "noclippy", "norustfmt", @@ -99,19 +111,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.5.0", - deps = [ - "@vendor_ts__libc-0.2.175//:libc", - ] + select({ - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.52.0//:windows_sys", # aarch64-pc-windows-msvc - ], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.52.0//:windows_sys", # i686-pc-windows-msvc - ], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.52.0//:windows_sys", # x86_64-pc-windows-msvc - ], - "//conditions:default": [], - }), + version = "0.3.24", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is_terminal_polyfill-1.70.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is_terminal_polyfill-1.70.2.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is_terminal_polyfill-1.70.1.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is_terminal_polyfill-1.70.2.bazel index 637041b51c3c..d42782128b45 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is_terminal_polyfill-1.70.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.is_terminal_polyfill-1.70.2.bazel @@ -96,5 +96,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.70.1", + version = "1.70.2", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.12.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.12.1.bazel deleted file mode 100644 index ff3ee2442f86..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itertools-0.12.1.bazel +++ /dev/null @@ -1,105 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "itertools", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "default", - "use_alloc", - "use_std", - ], - crate_root = "src/lib.rs", - edition = "2018", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=itertools", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.12.1", - deps = [ - "@vendor_ts__either-1.15.0//:either", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itoa-1.0.15.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itoa-1.0.18.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itoa-1.0.15.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itoa-1.0.18.bazel index 57e6f406e902..034a159fcebd 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itoa-1.0.15.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.itoa-1.0.18.bazel @@ -35,7 +35,7 @@ rust_library( ], ), crate_root = "src/lib.rs", - edition = "2018", + edition = "2021", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.15", + version = "1.0.18", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.jobserver-0.1.34.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.jobserver-0.1.34.bazel index 2546f6c8a77f..7516079777f6 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.jobserver-0.1.34.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.jobserver-0.1.34.bazel @@ -96,94 +96,94 @@ rust_library( version = "0.1.34", deps = select({ "@rules_rust//rust/platform:aarch64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ - "@vendor_ts__getrandom-0.3.3//:getrandom", # cfg(windows) + "@vendor_ts__getrandom-0.3.4//:getrandom", # cfg(windows) ], "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:armv7-linux-androideabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ - "@vendor_ts__getrandom-0.3.3//:getrandom", # cfg(windows) + "@vendor_ts__getrandom-0.3.4//:getrandom", # cfg(windows) ], "@rules_rust//rust/platform:i686-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:wasm32-unknown-emscripten": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ - "@vendor_ts__getrandom-0.3.3//:getrandom", # cfg(windows) + "@vendor_ts__getrandom-0.3.4//:getrandom", # cfg(windows) ], "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "//conditions:default": [], }), diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.js-sys-0.3.78.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.js-sys-0.3.78.bazel index 91569ee35263..43035d74ef9e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.js-sys-0.3.78.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.js-sys-0.3.78.bazel @@ -99,7 +99,7 @@ rust_library( }), version = "0.3.78", deps = [ - "@vendor_ts__once_cell-1.21.3//:once_cell", + "@vendor_ts__once_cell-1.21.4//:once_cell", "@vendor_ts__wasm-bindgen-0.2.101//:wasm_bindgen", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-1.1.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-1.1.1.bazel index 3943bd7e1b94..4bc4116a82af 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-1.1.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-1.1.1.bazel @@ -96,6 +96,6 @@ rust_library( version = "1.1.1", deps = [ "@vendor_ts__kqueue-sys-1.0.4//:kqueue_sys", - "@vendor_ts__libc-0.2.175//:libc", + "@vendor_ts__libc-0.2.185//:libc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-sys-1.0.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-sys-1.0.4.bazel index dadf3b16e818..4257e12f1f1b 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-sys-1.0.4.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.kqueue-sys-1.0.4.bazel @@ -96,6 +96,6 @@ rust_library( version = "1.0.4", deps = [ "@vendor_ts__bitflags-1.3.2//:bitflags", - "@vendor_ts__libc-0.2.175//:libc", + "@vendor_ts__libc-0.2.185//:libc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.leb128fmt-0.1.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.leb128fmt-0.1.0.bazel new file mode 100644 index 000000000000..a047cb9ea54a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.leb128fmt-0.1.0.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "leb128fmt", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=leb128fmt", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libc-0.2.175.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libc-0.2.185.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libc-0.2.175.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libc-0.2.185.bazel index b63baa0019d2..f2770b505b77 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libc-0.2.175.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.libc-0.2.185.bazel @@ -101,9 +101,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.2.175", + version = "0.2.185", deps = [ - "@vendor_ts__libc-0.2.175//:build_script_build", + "@vendor_ts__libc-0.2.185//:build_script_build", ], ) @@ -159,7 +159,7 @@ cargo_build_script( "noclippy", "norustfmt", ], - version = "0.2.175", + version = "0.2.185", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.3.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.3.9.bazel index 45798b37ab70..42e47567b286 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.3.9.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.3.9.bazel @@ -99,6 +99,6 @@ rust_library( }), version = "0.3.9", deps = [ - "@vendor_ts__log-0.4.28//:log", + "@vendor_ts__log-0.4.29//:log", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.4.28.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.4.29.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.4.28.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.4.29.bazel index 26a8978cb1bf..ddb30f59c320 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.4.28.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.log-0.4.29.bazel @@ -96,5 +96,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.4.28", + version = "0.4.29", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.matchers-0.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.matchers-0.2.0.bazel index 3e43dd562abe..33d700108c78 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.matchers-0.2.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.matchers-0.2.0.bazel @@ -95,6 +95,6 @@ rust_library( }), version = "0.2.0", deps = [ - "@vendor_ts__regex-automata-0.4.11//:regex_automata", + "@vendor_ts__regex-automata-0.4.14//:regex_automata", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memchr-2.7.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memchr-2.8.0.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memchr-2.7.5.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memchr-2.8.0.bazel index 2338b0077dad..98e6008f7669 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memchr-2.7.5.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.memchr-2.8.0.bazel @@ -98,5 +98,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "2.7.5", + version = "2.8.0", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.mio-1.0.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.mio-1.2.0.bazel similarity index 66% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.mio-1.0.4.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.mio-1.2.0.bazel index 4b6fcc8c864e..41f1dc8f9f15 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.mio-1.0.4.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.mio-1.2.0.bazel @@ -99,111 +99,111 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.4", + version = "1.2.0", deps = [ - "@vendor_ts__log-0.4.28//:log", + "@vendor_ts__log-0.4.29//:log", ] + select({ "@rules_rust//rust/platform:aarch64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:aarch64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:aarch64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.59.0//:windows_sys", # cfg(windows) + "@vendor_ts__windows-sys-0.61.0//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:armv7-linux-androideabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:i686-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:i686-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.59.0//:windows_sys", # cfg(windows) + "@vendor_ts__windows-sys-0.61.0//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:i686-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:wasm32-unknown-emscripten": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:wasm32-wasip1": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(target_os = "wasi") + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) "@vendor_ts__wasi-0.11.1-wasi-snapshot-preview1//:wasi", # cfg(target_os = "wasi") ], "@rules_rust//rust/platform:wasm32-wasip1-threads": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(target_os = "wasi") + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) "@vendor_ts__wasi-0.11.1-wasi-snapshot-preview1//:wasi", # cfg(target_os = "wasi") ], "@rules_rust//rust/platform:wasm32-wasip2": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(target_os = "wasi") + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) "@vendor_ts__wasi-0.11.1-wasi-snapshot-preview1//:wasi", # cfg(target_os = "wasi") ], "@rules_rust//rust/platform:x86_64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:x86_64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:x86_64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ - "@vendor_ts__windows-sys-0.59.0//:windows_sys", # cfg(windows) + "@vendor_ts__windows-sys-0.61.0//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(unix, target_os = "hermit", target_os = "wasi")) ], "//conditions:default": [], }), diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.notify-8.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.notify-8.2.0.bazel index 0c838f2c6c31..15f478f30bb5 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.notify-8.2.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.notify-8.2.0.bazel @@ -100,111 +100,111 @@ rust_library( }), version = "8.2.0", deps = [ - "@vendor_ts__libc-0.2.175//:libc", - "@vendor_ts__log-0.4.28//:log", + "@vendor_ts__libc-0.2.185//:libc", + "@vendor_ts__log-0.4.29//:log", "@vendor_ts__notify-types-2.0.0//:notify_types", "@vendor_ts__walkdir-2.5.0//:walkdir", ] + select({ "@rules_rust//rust/platform:aarch64-apple-darwin": [ - "@vendor_ts__bitflags-2.9.4//:bitflags", # cfg(target_os = "macos") + "@vendor_ts__bitflags-2.11.1//:bitflags", # cfg(target_os = "macos") "@vendor_ts__fsevent-sys-4.1.0//:fsevent_sys", # aarch64-apple-darwin ], "@rules_rust//rust/platform:aarch64-apple-ios": [ "@vendor_ts__kqueue-1.1.1//:kqueue", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) ], "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ "@vendor_ts__kqueue-1.1.1//:kqueue", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) ], "@rules_rust//rust/platform:aarch64-linux-android": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:armv7-linux-androideabi": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:i686-apple-darwin": [ - "@vendor_ts__bitflags-2.9.4//:bitflags", # cfg(target_os = "macos") + "@vendor_ts__bitflags-2.11.1//:bitflags", # cfg(target_os = "macos") "@vendor_ts__fsevent-sys-4.1.0//:fsevent_sys", # i686-apple-darwin ], "@rules_rust//rust/platform:i686-linux-android": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:i686-unknown-freebsd": [ "@vendor_ts__kqueue-1.1.1//:kqueue", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) ], "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:x86_64-apple-darwin": [ - "@vendor_ts__bitflags-2.9.4//:bitflags", # cfg(target_os = "macos") + "@vendor_ts__bitflags-2.11.1//:bitflags", # cfg(target_os = "macos") "@vendor_ts__fsevent-sys-4.1.0//:fsevent_sys", # x86_64-apple-darwin ], "@rules_rust//rust/platform:x86_64-apple-ios": [ "@vendor_ts__kqueue-1.1.1//:kqueue", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) ], "@rules_rust//rust/platform:x86_64-linux-android": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ "@vendor_ts__kqueue-1.1.1//:kqueue", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios")) ], "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ "@vendor_ts__inotify-0.11.0//:inotify", # cfg(any(target_os = "linux", target_os = "android")) - "@vendor_ts__mio-1.0.4//:mio", # cfg(any(target_os = "linux", target_os = "android")) + "@vendor_ts__mio-1.2.0//:mio", # cfg(any(target_os = "linux", target_os = "android")) ], "//conditions:default": [], }), diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-conv-0.1.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-conv-0.2.1.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-conv-0.1.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-conv-0.2.1.bazel index 587cbdf418fa..b63f4d82b41c 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-conv-0.1.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num-conv-0.2.1.bazel @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.1.0", + version = "0.2.1", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_cpus-1.17.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_cpus-1.17.0.bazel index 00293e65e2da..8686950c32d9 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_cpus-1.17.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_cpus-1.17.0.bazel @@ -96,118 +96,118 @@ rust_library( version = "1.17.0", deps = select({ "@rules_rust//rust/platform:aarch64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:aarch64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:aarch64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:aarch64-unknown-uefi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:armv7-linux-androideabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:i686-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:i686-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:i686-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:thumbv7em-none-eabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:wasm32-unknown-emscripten": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:wasm32-unknown-unknown": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:wasm32-wasip1": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:wasm32-wasip1-threads": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:wasm32-wasip2": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:x86_64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:x86_64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:x86_64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:x86_64-unknown-none": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "@rules_rust//rust/platform:x86_64-unknown-uefi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(not(windows)) + "@vendor_ts__libc-0.2.185//:libc", # cfg(not(windows)) ], "//conditions:default": [], }), diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_threads-0.1.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_threads-0.1.7.bazel new file mode 100644 index 000000000000..a27523c51bcf --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.num_threads-0.1.7.bazel @@ -0,0 +1,124 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "num_threads", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=num_threads", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.1.7", + deps = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd")) + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd")) + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd")) + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd")) + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd")) + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd")) + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd")) + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor_ts__libc-0.2.185//:libc", # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd")) + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.once_cell-1.21.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.once_cell-1.21.4.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.once_cell-1.21.3.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.once_cell-1.21.4.bazel index d10ec0a4bceb..e556134028f4 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.once_cell-1.21.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.once_cell-1.21.4.bazel @@ -99,5 +99,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.21.3", + version = "1.21.4", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ordered-float-2.10.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ordered-float-2.10.1.bazel deleted file mode 100644 index 58f67759d31e..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ordered-float-2.10.1.bazel +++ /dev/null @@ -1,104 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "ordered_float", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "default", - "std", - ], - crate_root = "src/lib.rs", - edition = "2018", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=ordered-float", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "2.10.1", - deps = [ - "@vendor_ts__num-traits-0.2.19//:num_traits", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.os_str_bytes-7.1.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.os_str_bytes-7.1.1.bazel index 05f864c1758a..605d319f7fef 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.os_str_bytes-7.1.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.os_str_bytes-7.1.1.bazel @@ -100,6 +100,6 @@ rust_library( }), version = "7.1.1", deps = [ - "@vendor_ts__memchr-2.7.5//:memchr", + "@vendor_ts__memchr-2.8.0//:memchr", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.papaya-0.2.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.papaya-0.2.3.bazel deleted file mode 100644 index 27bb71298a83..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.papaya-0.2.3.bazel +++ /dev/null @@ -1,104 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "papaya", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=papaya", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.2.3", - deps = [ - "@vendor_ts__equivalent-1.0.2//:equivalent", - "@vendor_ts__seize-0.5.0//:seize", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot_core-0.9.11.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot_core-0.9.11.bazel index f2199e602c2b..f3a551c78f0c 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot_core-0.9.11.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.parking_lot_core-0.9.11.bazel @@ -99,99 +99,99 @@ rust_library( }), version = "0.9.11", deps = [ - "@vendor_ts__cfg-if-1.0.3//:cfg_if", + "@vendor_ts__cfg-if-1.0.4//:cfg_if", "@vendor_ts__parking_lot_core-0.9.11//:build_script_build", "@vendor_ts__smallvec-1.15.1//:smallvec", ] + select({ "@rules_rust//rust/platform:aarch64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ "@vendor_ts__windows-targets-0.52.6//:windows_targets", # cfg(windows) ], "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:armv7-linux-androideabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ "@vendor_ts__windows-targets-0.52.6//:windows_targets", # cfg(windows) ], "@rules_rust//rust/platform:i686-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:wasm32-unknown-emscripten": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ "@vendor_ts__windows-targets-0.52.6//:windows_targets", # cfg(windows) ], "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "//conditions:default": [], }), diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear_codegen-0.2.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear_codegen-0.2.9.bazel index 2b0175999d4a..6badf66e2aef 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear_codegen-0.2.9.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pear_codegen-0.2.9.bazel @@ -95,9 +95,9 @@ rust_proc_macro( }), version = "0.2.9", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", "@vendor_ts__proc-macro2-diagnostics-0.10.1//:proc_macro2_diagnostics", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-0.4.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-0.4.8.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-0.4.7.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-0.4.8.bazel index 8ba85de58daa..21a10d903c5d 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-0.4.7.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-0.4.8.bazel @@ -34,6 +34,10 @@ rust_library( "WORKSPACE.bazel", ], ), + crate_features = [ + "default", + "hooks", + ], crate_root = "src/lib.rs", edition = "2018", rustc_env_files = [ @@ -93,9 +97,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.4.7", + version = "0.4.8", deps = [ - "@vendor_ts__libc-0.2.175//:libc", - "@vendor_ts__perf-event-open-sys-1.0.1//:perf_event_open_sys", + "@vendor_ts__libc-0.2.185//:libc", + "@vendor_ts__perf-event-open-sys-4.0.0//:perf_event_open_sys", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-open-sys-1.0.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-open-sys-4.0.0.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-open-sys-1.0.1.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-open-sys-4.0.0.bazel index 120842ef4fbb..016be83654e3 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-open-sys-1.0.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.perf-event-open-sys-4.0.0.bazel @@ -93,8 +93,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.1", + version = "4.0.0", deps = [ - "@vendor_ts__libc-0.2.175//:libc", + "@vendor_ts__libc-0.2.185//:libc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.petgraph-0.8.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.petgraph-0.8.3.bazel new file mode 100644 index 000000000000..054c06f6350a --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.petgraph-0.8.3.bazel @@ -0,0 +1,102 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "petgraph", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=petgraph", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.8.3", + deps = [ + "@vendor_ts__fixedbitset-0.5.7//:fixedbitset", + "@vendor_ts__hashbrown-0.15.5//:hashbrown", + "@vendor_ts__indexmap-2.14.0//:indexmap", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pin-project-lite-0.2.16.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pin-project-lite-0.2.17.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pin-project-lite-0.2.16.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pin-project-lite-0.2.17.bazel index 9234efd2e0e2..c0fad00dd23e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pin-project-lite-0.2.16.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.pin-project-lite-0.2.17.bazel @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.2.16", + version = "0.2.17", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.erased-serde-0.4.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.postcard-1.1.3.bazel similarity index 94% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.erased-serde-0.4.6.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.postcard-1.1.3.bazel index 7c25af547746..8a9c9489923b 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.erased-serde-0.4.6.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.postcard-1.1.3.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_library( - name = "erased_serde", + name = "postcard", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -36,6 +36,9 @@ rust_library( ), crate_features = [ "alloc", + "default", + "heapless", + "heapless-cas", ], crate_root = "src/lib.rs", edition = "2021", @@ -47,7 +50,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=erased-serde", + "crate-name=postcard", "manual", "noclippy", "norustfmt", @@ -96,9 +99,10 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.4.6", + version = "1.1.3", deps = [ + "@vendor_ts__cobs-0.3.0//:cobs", + "@vendor_ts__heapless-0.7.17//:heapless", "@vendor_ts__serde-1.0.228//:serde", - "@vendor_ts__typeid-1.0.3//:typeid", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.potential_utf-0.1.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.potential_utf-0.1.3.bazel deleted file mode 100644 index 4a5d00884b13..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.potential_utf-0.1.3.bazel +++ /dev/null @@ -1,103 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "potential_utf", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "zerovec", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=potential_utf", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.1.3", - deps = [ - "@vendor_ts__zerovec-0.11.4//:zerovec", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_normalizer_data-2.0.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.prettyplease-0.2.37.bazel similarity index 93% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_normalizer_data-2.0.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.prettyplease-0.2.37.bazel index f5367ece66c1..ed6e293e5d6b 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_normalizer_data-2.0.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.prettyplease-0.2.37.bazel @@ -21,7 +21,7 @@ cargo_toml_env_vars( ) rust_library( - name = "icu_normalizer_data", + name = "prettyplease", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -48,7 +48,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=icu_normalizer_data", + "crate-name=prettyplease", "manual", "noclippy", "norustfmt", @@ -97,9 +97,11 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "2.0.0", + version = "0.2.37", deps = [ - "@vendor_ts__icu_normalizer_data-2.0.0//:build_script_build", + "@vendor_ts__prettyplease-0.2.37//:build_script_build", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__syn-2.0.117//:syn", ], ) @@ -137,7 +139,8 @@ cargo_build_script( ], ), edition = "2021", - pkg_name = "icu_normalizer_data", + links = "prettyplease02", + pkg_name = "prettyplease", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -146,12 +149,12 @@ cargo_build_script( ], tags = [ "cargo-bazel", - "crate-name=icu_normalizer_data", + "crate-name=prettyplease", "manual", "noclippy", "norustfmt", ], - version = "2.0.0", + version = "0.2.37", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-1.0.101.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-1.0.106.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-1.0.101.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-1.0.106.bazel index bb23160f9b8f..dec96ff20b92 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-1.0.101.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-1.0.106.bazel @@ -101,10 +101,10 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.101", + version = "1.0.106", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:build_script_build", - "@vendor_ts__unicode-ident-1.0.19//:unicode_ident", + "@vendor_ts__proc-macro2-1.0.106//:build_script_build", + "@vendor_ts__unicode-ident-1.0.24//:unicode_ident", ], ) @@ -160,7 +160,7 @@ cargo_build_script( "noclippy", "norustfmt", ], - version = "1.0.101", + version = "1.0.106", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-diagnostics-0.10.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-diagnostics-0.10.1.bazel index 9a309e0d43a0..334933c92a6a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-diagnostics-0.10.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.proc-macro2-diagnostics-0.10.1.bazel @@ -104,10 +104,10 @@ rust_library( }), version = "0.10.1", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", "@vendor_ts__proc-macro2-diagnostics-0.10.1//:build_script_build", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", "@vendor_ts__yansi-1.0.1//:yansi", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.quote-1.0.41.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.quote-1.0.45.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.quote-1.0.41.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.quote-1.0.45.bazel index 621cfb33ab4e..8ffcb2477317 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.quote-1.0.41.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.quote-1.0.45.bazel @@ -43,7 +43,7 @@ rust_library( "proc-macro", ], crate_root = "src/lib.rs", - edition = "2018", + edition = "2021", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -101,10 +101,10 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.41", + version = "1.0.45", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:build_script_build", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:build_script_build", ], ) @@ -145,7 +145,7 @@ cargo_build_script( "WORKSPACE.bazel", ], ), - edition = "2018", + edition = "2021", pkg_name = "quote", rustc_env_files = [ ":cargo_toml_env_vars", @@ -160,7 +160,7 @@ cargo_build_script( "noclippy", "norustfmt", ], - version = "1.0.41", + version = "1.0.45", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.r-efi-6.0.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.r-efi-6.0.0.bazel new file mode 100644 index 000000000000..5ee0d985fe56 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.r-efi-6.0.0.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "r_efi", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=r-efi", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "6.0.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_abi-0.123.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_abi-0.143.0.bazel similarity index 91% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_abi-0.123.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_abi-0.143.0.bazel index 6222aecac162..c26dd82ee19d 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_abi-0.123.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_abi-0.143.0.bazel @@ -23,8 +23,8 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra-ap-rustc_hashes-0.123.0//:ra_ap_rustc_hashes": "rustc_hashes", - "@vendor_ts__ra-ap-rustc_index-0.123.0//:ra_ap_rustc_index": "rustc_index", + "@vendor_ts__ra-ap-rustc_hashes-0.143.0//:ra_ap_rustc_hashes": "rustc_hashes", + "@vendor_ts__ra-ap-rustc_index-0.143.0//:ra_ap_rustc_index": "rustc_index", }, compile_data = glob( include = ["**"], @@ -97,11 +97,11 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.123.0", + version = "0.143.0", deps = [ - "@vendor_ts__bitflags-2.9.4//:bitflags", - "@vendor_ts__ra-ap-rustc_hashes-0.123.0//:ra_ap_rustc_hashes", - "@vendor_ts__ra-ap-rustc_index-0.123.0//:ra_ap_rustc_index", - "@vendor_ts__tracing-0.1.41//:tracing", + "@vendor_ts__bitflags-2.11.1//:bitflags", + "@vendor_ts__ra-ap-rustc_hashes-0.143.0//:ra_ap_rustc_hashes", + "@vendor_ts__ra-ap-rustc_index-0.143.0//:ra_ap_rustc_index", + "@vendor_ts__tracing-0.1.44//:tracing", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_ast_ir-0.143.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_ast_ir-0.143.0.bazel new file mode 100644 index 000000000000..3dfb4af1d544 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_ast_ir-0.143.0.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "ra_ap_rustc_ast_ir", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra-ap-rustc_ast_ir", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.143.0", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_hashes-0.123.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_hashes-0.143.0.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_hashes-0.123.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_hashes-0.143.0.bazel index 6d510190f025..6b0e793e07f6 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_hashes-0.123.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_hashes-0.143.0.bazel @@ -93,7 +93,7 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.123.0", + version = "0.143.0", deps = [ "@vendor_ts__rustc-stable-hash-0.1.2//:rustc_stable_hash", ], diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index-0.123.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index-0.143.0.bazel similarity index 94% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index-0.123.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index-0.143.0.bazel index b8d5f8af922f..db5b0ccbd889 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index-0.123.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index-0.143.0.bazel @@ -23,7 +23,7 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra-ap-rustc_index_macros-0.123.0//:ra_ap_rustc_index_macros": "rustc_index_macros", + "@vendor_ts__ra-ap-rustc_index_macros-0.143.0//:ra_ap_rustc_index_macros": "rustc_index_macros", }, compile_data = glob( include = ["**"], @@ -40,7 +40,7 @@ rust_library( crate_root = "src/lib.rs", edition = "2024", proc_macro_deps = [ - "@vendor_ts__ra-ap-rustc_index_macros-0.123.0//:ra_ap_rustc_index_macros", + "@vendor_ts__ra-ap-rustc_index_macros-0.143.0//:ra_ap_rustc_index_macros", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -99,8 +99,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.123.0", - deps = [ - "@vendor_ts__smallvec-1.15.1//:smallvec", - ], + version = "0.143.0", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index_macros-0.123.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index_macros-0.143.0.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index_macros-0.123.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index_macros-0.143.0.bazel index f25a9e197681..13c12f07ce27 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index_macros-0.123.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_index_macros-0.143.0.bazel @@ -93,10 +93,10 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.123.0", + version = "0.143.0", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.123.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.123.0.bazel deleted file mode 100644 index 5ed4bd3f912f..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.123.0.bazel +++ /dev/null @@ -1,102 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "ra_ap_rustc_lexer", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2024", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=ra-ap-rustc_lexer", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.123.0", - deps = [ - "@vendor_ts__memchr-2.7.5//:memchr", - "@vendor_ts__unicode-properties-0.1.3//:unicode_properties", - "@vendor_ts__unicode-xid-0.2.6//:unicode_xid", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.121.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.143.0.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.121.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.143.0.bazel index 1ba187aeb8f2..e02e8e09065c 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.121.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_lexer-0.143.0.bazel @@ -93,9 +93,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.121.0", + version = "0.143.0", deps = [ - "@vendor_ts__memchr-2.7.5//:memchr", + "@vendor_ts__memchr-2.8.0//:memchr", "@vendor_ts__unicode-properties-0.1.3//:unicode_properties", "@vendor_ts__unicode-xid-0.2.6//:unicode_xid", ], diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_next_trait_solver-0.143.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_next_trait_solver-0.143.0.bazel new file mode 100644 index 000000000000..8d9cd2fa75a1 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_next_trait_solver-0.143.0.bazel @@ -0,0 +1,111 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "ra_ap_rustc_next_trait_solver", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor_ts__ra-ap-rustc_index-0.143.0//:ra_ap_rustc_index": "rustc_index", + "@vendor_ts__ra-ap-rustc_type_ir-0.143.0//:ra_ap_rustc_type_ir": "rustc_type_ir", + "@vendor_ts__ra-ap-rustc_type_ir_macros-0.143.0//:ra_ap_rustc_type_ir_macros": "rustc_type_ir_macros", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2024", + proc_macro_deps = [ + "@vendor_ts__derive-where-1.6.1//:derive_where", + "@vendor_ts__ra-ap-rustc_type_ir_macros-0.143.0//:ra_ap_rustc_type_ir_macros", + ], + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra-ap-rustc_next_trait_solver", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.143.0", + deps = [ + "@vendor_ts__ra-ap-rustc_index-0.143.0//:ra_ap_rustc_index", + "@vendor_ts__ra-ap-rustc_type_ir-0.143.0//:ra_ap_rustc_type_ir", + "@vendor_ts__tracing-0.1.44//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_parse_format-0.121.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_parse_format-0.143.0.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_parse_format-0.121.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_parse_format-0.143.0.bazel index 987599aa9648..9b4e436a3cad 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_parse_format-0.121.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_parse_format-0.143.0.bazel @@ -23,7 +23,7 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra-ap-rustc_lexer-0.121.0//:ra_ap_rustc_lexer": "rustc_lexer", + "@vendor_ts__ra-ap-rustc_lexer-0.143.0//:ra_ap_rustc_lexer": "rustc_lexer", }, compile_data = glob( include = ["**"], @@ -96,9 +96,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.121.0", + version = "0.143.0", deps = [ - "@vendor_ts__ra-ap-rustc_lexer-0.121.0//:ra_ap_rustc_lexer", - "@vendor_ts__rustc-literal-escaper-0.0.4//:rustc_literal_escaper", + "@vendor_ts__ra-ap-rustc_lexer-0.143.0//:ra_ap_rustc_lexer", + "@vendor_ts__rustc-literal-escaper-0.0.5//:rustc_literal_escaper", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_pattern_analysis-0.123.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_pattern_analysis-0.143.0.bazel similarity index 94% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_pattern_analysis-0.123.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_pattern_analysis-0.143.0.bazel index e81038a00849..2f8087c18312 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_pattern_analysis-0.123.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_pattern_analysis-0.143.0.bazel @@ -23,7 +23,7 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra-ap-rustc_index-0.123.0//:ra_ap_rustc_index": "rustc_index", + "@vendor_ts__ra-ap-rustc_index-0.143.0//:ra_ap_rustc_index": "rustc_index", }, compile_data = glob( include = ["**"], @@ -96,12 +96,12 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.123.0", + version = "0.143.0", deps = [ - "@vendor_ts__ra-ap-rustc_index-0.123.0//:ra_ap_rustc_index", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", + "@vendor_ts__ra-ap-rustc_index-0.143.0//:ra_ap_rustc_index", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", "@vendor_ts__rustc_apfloat-0.2.3-llvm-462a31f5a5ab//:rustc_apfloat", "@vendor_ts__smallvec-1.15.1//:smallvec", - "@vendor_ts__tracing-0.1.41//:tracing", + "@vendor_ts__tracing-0.1.44//:tracing", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_type_ir-0.143.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_type_ir-0.143.0.bazel new file mode 100644 index 000000000000..a1f54dc10b6d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_type_ir-0.143.0.bazel @@ -0,0 +1,118 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "ra_ap_rustc_type_ir", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor_ts__ra-ap-rustc_ast_ir-0.143.0//:ra_ap_rustc_ast_ir": "rustc_ast_ir", + "@vendor_ts__ra-ap-rustc_index-0.143.0//:ra_ap_rustc_index": "rustc_index", + "@vendor_ts__ra-ap-rustc_type_ir_macros-0.143.0//:ra_ap_rustc_type_ir_macros": "rustc_type_ir_macros", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2024", + proc_macro_deps = [ + "@vendor_ts__derive-where-1.6.1//:derive_where", + "@vendor_ts__ra-ap-rustc_type_ir_macros-0.143.0//:ra_ap_rustc_type_ir_macros", + ], + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra-ap-rustc_type_ir", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.143.0", + deps = [ + "@vendor_ts__arrayvec-0.7.6//:arrayvec", + "@vendor_ts__bitflags-2.11.1//:bitflags", + "@vendor_ts__ena-0.14.3//:ena", + "@vendor_ts__indexmap-2.14.0//:indexmap", + "@vendor_ts__ra-ap-rustc_ast_ir-0.143.0//:ra_ap_rustc_ast_ir", + "@vendor_ts__ra-ap-rustc_index-0.143.0//:ra_ap_rustc_index", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__smallvec-1.15.1//:smallvec", + "@vendor_ts__thin-vec-0.2.14//:thin_vec", + "@vendor_ts__tracing-0.1.44//:tracing", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.yoke-derive-0.8.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_type_ir_macros-0.143.0.bazel similarity index 93% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.yoke-derive-0.8.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_type_ir_macros-0.143.0.bazel index 1529534e17b2..899303af5f3f 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.yoke-derive-0.8.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra-ap-rustc_type_ir_macros-0.143.0.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_proc_macro( - name = "yoke_derive", + name = "ra_ap_rustc_type_ir_macros", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -35,7 +35,7 @@ rust_proc_macro( ], ), crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -44,7 +44,7 @@ rust_proc_macro( ], tags = [ "cargo-bazel", - "crate-name=yoke-derive", + "crate-name=ra-ap-rustc_type_ir_macros", "manual", "noclippy", "norustfmt", @@ -93,11 +93,11 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.8.0", + version = "0.143.0", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", "@vendor_ts__synstructure-0.13.2//:synstructure", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_base_db-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_base_db-0.0.328.bazel similarity index 79% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_base_db-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_base_db-0.0.328.bazel index 60cece39191b..42da0d0298c4 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_base_db-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_base_db-0.0.328.bazel @@ -23,12 +23,12 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg": "cfg", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_query-group-macro-0.0.301//:ra_ap_query_group_macro": "query_group", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span": "span", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax": "syntax", - "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs": "vfs", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg": "cfg", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_query-group-macro-0.0.328//:ra_ap_query_group_macro": "query_group", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax": "syntax", + "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs": "vfs", }, compile_data = glob( include = ["**"], @@ -42,11 +42,14 @@ rust_library( "WORKSPACE.bazel", ], ), + crate_features = [ + "default", + ], crate_root = "src/lib.rs", edition = "2024", proc_macro_deps = [ - "@vendor_ts__ra_ap_query-group-macro-0.0.301//:ra_ap_query_group_macro", - "@vendor_ts__salsa-macros-0.23.0//:salsa_macros", + "@vendor_ts__ra_ap_query-group-macro-0.0.328//:ra_ap_query_group_macro", + "@vendor_ts__salsa-macros-0.25.2//:salsa_macros", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -105,20 +108,20 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__dashmap-6.1.0//:dashmap", - "@vendor_ts__indexmap-2.11.4//:indexmap", + "@vendor_ts__indexmap-2.14.0//:indexmap", "@vendor_ts__la-arena-0.3.1//:la_arena", - "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax", - "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", - "@vendor_ts__salsa-0.23.0//:salsa", - "@vendor_ts__semver-1.0.26//:semver", - "@vendor_ts__tracing-0.1.41//:tracing", - "@vendor_ts__triomphe-0.1.14//:triomphe", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax", + "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__salsa-0.25.2//:salsa", + "@vendor_ts__semver-1.0.28//:semver", + "@vendor_ts__tracing-0.1.44//:tracing", + "@vendor_ts__triomphe-0.1.15//:triomphe", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_cfg-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_cfg-0.0.328.bazel similarity index 88% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_cfg-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_cfg-0.0.328.bazel index 35af421f0231..e02c90697076 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_cfg-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_cfg-0.0.328.bazel @@ -23,8 +23,9 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt": "tt", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax": "syntax", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt": "tt", }, compile_data = glob( include = ["**"], @@ -39,6 +40,8 @@ rust_library( ], ), crate_features = [ + "default", + "syntax", "tt", ], crate_root = "src/lib.rs", @@ -100,11 +103,12 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", - "@vendor_ts__tracing-0.1.41//:tracing", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__tracing-0.1.44//:tracing", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_edition-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_edition-0.0.328.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_edition-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_edition-0.0.328.bazel index 50b4f2e87d15..1fa96a118d49 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_edition-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_edition-0.0.328.bazel @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir-0.0.328.bazel similarity index 74% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir-0.0.328.bazel index c1272206d934..ff003137b5de 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir-0.0.328.bazel @@ -23,16 +23,16 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db": "base_db", - "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg": "cfg", - "@vendor_ts__ra_ap_hir_def-0.0.301//:ra_ap_hir_def": "hir_def", - "@vendor_ts__ra_ap_hir_expand-0.0.301//:ra_ap_hir_expand": "hir_expand", - "@vendor_ts__ra_ap_hir_ty-0.0.301//:ra_ap_hir_ty": "hir_ty", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span": "span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax": "syntax", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt": "tt", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db": "base_db", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg": "cfg", + "@vendor_ts__ra_ap_hir_def-0.0.328//:ra_ap_hir_def": "hir_def", + "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand": "hir_expand", + "@vendor_ts__ra_ap_hir_ty-0.0.328//:ra_ap_hir_ty": "hir_ty", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax": "syntax", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt": "tt", }, compile_data = glob( include = ["**"], @@ -105,25 +105,26 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__arrayvec-0.7.6//:arrayvec", "@vendor_ts__either-1.15.0//:either", - "@vendor_ts__indexmap-2.11.4//:indexmap", "@vendor_ts__itertools-0.14.0//:itertools", - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db", - "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg", - "@vendor_ts__ra_ap_hir_def-0.0.301//:ra_ap_hir_def", - "@vendor_ts__ra_ap_hir_expand-0.0.301//:ra_ap_hir_expand", - "@vendor_ts__ra_ap_hir_ty-0.0.301//:ra_ap_hir_ty", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", + "@vendor_ts__ra-ap-rustc_type_ir-0.143.0//:ra_ap_rustc_type_ir", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg", + "@vendor_ts__ra_ap_hir_def-0.0.328//:ra_ap_hir_def", + "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand", + "@vendor_ts__ra_ap_hir_ty-0.0.328//:ra_ap_hir_ty", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__serde_json-1.0.149//:serde_json", "@vendor_ts__smallvec-1.15.1//:smallvec", - "@vendor_ts__tracing-0.1.41//:tracing", - "@vendor_ts__triomphe-0.1.14//:triomphe", + "@vendor_ts__tracing-0.1.44//:tracing", + "@vendor_ts__triomphe-0.1.15//:triomphe", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_def-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_def-0.0.328.bazel similarity index 73% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_def-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_def-0.0.328.bazel index bd85f440ba5d..ba19f647b52a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_def-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_def-0.0.328.bazel @@ -23,16 +23,16 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db": "base_db", - "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg": "cfg", - "@vendor_ts__ra_ap_hir_expand-0.0.301//:ra_ap_hir_expand": "hir_expand", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_mbe-0.0.301//:ra_ap_mbe": "mbe", - "@vendor_ts__ra_ap_query-group-macro-0.0.301//:ra_ap_query_group_macro": "query_group", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span": "span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax": "syntax", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt": "tt", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db": "base_db", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg": "cfg", + "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand": "hir_expand", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_query-group-macro-0.0.328//:ra_ap_query_group_macro": "query_group", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax": "syntax", + "@vendor_ts__ra_ap_syntax-bridge-0.0.328//:ra_ap_syntax_bridge": "syntax_bridge", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt": "tt", }, compile_data = glob( include = ["**"], @@ -49,8 +49,8 @@ rust_library( crate_root = "src/lib.rs", edition = "2024", proc_macro_deps = [ - "@vendor_ts__ra_ap_query-group-macro-0.0.301//:ra_ap_query_group_macro", - "@vendor_ts__salsa-macros-0.23.0//:salsa_macros", + "@vendor_ts__ra_ap_query-group-macro-0.0.328//:ra_ap_query_group_macro", + "@vendor_ts__salsa-macros-0.25.2//:salsa_macros", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -109,35 +109,34 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__arrayvec-0.7.6//:arrayvec", - "@vendor_ts__bitflags-2.9.4//:bitflags", + "@vendor_ts__bitflags-2.11.1//:bitflags", "@vendor_ts__cov-mark-2.1.0//:cov_mark", "@vendor_ts__drop_bomb-0.1.5//:drop_bomb", "@vendor_ts__either-1.15.0//:either", "@vendor_ts__fst-0.4.7//:fst", - "@vendor_ts__indexmap-2.11.4//:indexmap", + "@vendor_ts__indexmap-2.14.0//:indexmap", "@vendor_ts__itertools-0.14.0//:itertools", "@vendor_ts__la-arena-0.3.1//:la_arena", - "@vendor_ts__ra-ap-rustc_abi-0.123.0//:ra_ap_rustc_abi", - "@vendor_ts__ra-ap-rustc_parse_format-0.121.0//:ra_ap_rustc_parse_format", - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db", - "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg", - "@vendor_ts__ra_ap_hir_expand-0.0.301//:ra_ap_hir_expand", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_mbe-0.0.301//:ra_ap_mbe", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", + "@vendor_ts__ra-ap-rustc_abi-0.143.0//:ra_ap_rustc_abi", + "@vendor_ts__ra-ap-rustc_parse_format-0.143.0//:ra_ap_rustc_parse_format", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg", + "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax", + "@vendor_ts__ra_ap_syntax-bridge-0.0.328//:ra_ap_syntax_bridge", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", "@vendor_ts__rustc_apfloat-0.2.3-llvm-462a31f5a5ab//:rustc_apfloat", - "@vendor_ts__salsa-0.23.0//:salsa", + "@vendor_ts__salsa-0.25.2//:salsa", "@vendor_ts__smallvec-1.15.1//:smallvec", - "@vendor_ts__text-size-1.1.1//:text_size", "@vendor_ts__thin-vec-0.2.14//:thin_vec", - "@vendor_ts__tracing-0.1.41//:tracing", - "@vendor_ts__triomphe-0.1.14//:triomphe", + "@vendor_ts__tracing-0.1.44//:tracing", + "@vendor_ts__triomphe-0.1.15//:triomphe", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_expand-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_expand-0.0.328.bazel similarity index 73% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_expand-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_expand-0.0.328.bazel index 1593a5a8db93..82ed45d9b5ca 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_expand-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_expand-0.0.328.bazel @@ -23,17 +23,17 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db": "base_db", - "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg": "cfg", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_mbe-0.0.301//:ra_ap_mbe": "mbe", - "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser": "parser", - "@vendor_ts__ra_ap_query-group-macro-0.0.301//:ra_ap_query_group_macro": "query_group", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span": "span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax": "syntax", - "@vendor_ts__ra_ap_syntax-bridge-0.0.301//:ra_ap_syntax_bridge": "syntax_bridge", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt": "tt", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db": "base_db", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg": "cfg", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_mbe-0.0.328//:ra_ap_mbe": "mbe", + "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser": "parser", + "@vendor_ts__ra_ap_query-group-macro-0.0.328//:ra_ap_query_group_macro": "query_group", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax": "syntax", + "@vendor_ts__ra_ap_syntax-bridge-0.0.328//:ra_ap_syntax_bridge": "syntax_bridge", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt": "tt", }, compile_data = glob( include = ["**"], @@ -50,8 +50,8 @@ rust_library( crate_root = "src/lib.rs", edition = "2024", proc_macro_deps = [ - "@vendor_ts__ra_ap_query-group-macro-0.0.301//:ra_ap_query_group_macro", - "@vendor_ts__salsa-macros-0.23.0//:salsa_macros", + "@vendor_ts__ra_ap_query-group-macro-0.0.328//:ra_ap_query_group_macro", + "@vendor_ts__salsa-macros-0.25.2//:salsa_macros", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -110,25 +110,26 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__cov-mark-2.1.0//:cov_mark", "@vendor_ts__either-1.15.0//:either", "@vendor_ts__itertools-0.14.0//:itertools", - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db", - "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_mbe-0.0.301//:ra_ap_mbe", - "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax", - "@vendor_ts__ra_ap_syntax-bridge-0.0.301//:ra_ap_syntax_bridge", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", - "@vendor_ts__salsa-0.23.0//:salsa", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_mbe-0.0.328//:ra_ap_mbe", + "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax", + "@vendor_ts__ra_ap_syntax-bridge-0.0.328//:ra_ap_syntax_bridge", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__salsa-0.25.2//:salsa", "@vendor_ts__smallvec-1.15.1//:smallvec", - "@vendor_ts__tracing-0.1.41//:tracing", - "@vendor_ts__triomphe-0.1.14//:triomphe", + "@vendor_ts__thin-vec-0.2.14//:thin_vec", + "@vendor_ts__tracing-0.1.44//:tracing", + "@vendor_ts__triomphe-0.1.15//:triomphe", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_ty-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_ty-0.0.328.bazel similarity index 68% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_ty-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_ty-0.0.328.bazel index 2dbbe4f77179..655284645523 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_ty-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_hir_ty-0.0.328.bazel @@ -23,14 +23,15 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db": "base_db", - "@vendor_ts__ra_ap_hir_def-0.0.301//:ra_ap_hir_def": "hir_def", - "@vendor_ts__ra_ap_hir_expand-0.0.301//:ra_ap_hir_expand": "hir_expand", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_query-group-macro-0.0.301//:ra_ap_query_group_macro": "query_group", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span": "span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax": "syntax", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db": "base_db", + "@vendor_ts__ra_ap_hir_def-0.0.328//:ra_ap_hir_def": "hir_def", + "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand": "hir_expand", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_macros-0.0.328//:ra_ap_macros": "macros", + "@vendor_ts__ra_ap_query-group-macro-0.0.328//:ra_ap_query_group_macro": "query_group", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax": "syntax", }, compile_data = glob( include = ["**"], @@ -47,9 +48,10 @@ rust_library( crate_root = "src/lib.rs", edition = "2024", proc_macro_deps = [ - "@vendor_ts__chalk-derive-0.103.0//:chalk_derive", - "@vendor_ts__ra_ap_query-group-macro-0.0.301//:ra_ap_query_group_macro", - "@vendor_ts__salsa-macros-0.23.0//:salsa_macros", + "@vendor_ts__ra_ap_macros-0.0.328//:ra_ap_macros", + "@vendor_ts__ra_ap_query-group-macro-0.0.328//:ra_ap_query_group_macro", + "@vendor_ts__salsa-macros-0.25.2//:salsa_macros", + "@vendor_ts__serde_derive-1.0.228//:serde_derive", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -108,37 +110,40 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__arrayvec-0.7.6//:arrayvec", - "@vendor_ts__bitflags-2.9.4//:bitflags", - "@vendor_ts__chalk-ir-0.103.0//:chalk_ir", - "@vendor_ts__chalk-recursive-0.103.0//:chalk_recursive", - "@vendor_ts__chalk-solve-0.103.0//:chalk_solve", "@vendor_ts__cov-mark-2.1.0//:cov_mark", "@vendor_ts__either-1.15.0//:either", "@vendor_ts__ena-0.14.3//:ena", - "@vendor_ts__indexmap-2.11.4//:indexmap", + "@vendor_ts__indexmap-2.14.0//:indexmap", "@vendor_ts__itertools-0.14.0//:itertools", "@vendor_ts__la-arena-0.3.1//:la_arena", "@vendor_ts__oorandom-11.1.5//:oorandom", - "@vendor_ts__ra-ap-rustc_abi-0.123.0//:ra_ap_rustc_abi", - "@vendor_ts__ra-ap-rustc_index-0.123.0//:ra_ap_rustc_index", - "@vendor_ts__ra-ap-rustc_pattern_analysis-0.123.0//:ra_ap_rustc_pattern_analysis", - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db", - "@vendor_ts__ra_ap_hir_def-0.0.301//:ra_ap_hir_def", - "@vendor_ts__ra_ap_hir_expand-0.0.301//:ra_ap_hir_expand", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", + "@vendor_ts__petgraph-0.8.3//:petgraph", + "@vendor_ts__ra-ap-rustc_abi-0.143.0//:ra_ap_rustc_abi", + "@vendor_ts__ra-ap-rustc_ast_ir-0.143.0//:ra_ap_rustc_ast_ir", + "@vendor_ts__ra-ap-rustc_index-0.143.0//:ra_ap_rustc_index", + "@vendor_ts__ra-ap-rustc_next_trait_solver-0.143.0//:ra_ap_rustc_next_trait_solver", + "@vendor_ts__ra-ap-rustc_pattern_analysis-0.143.0//:ra_ap_rustc_pattern_analysis", + "@vendor_ts__ra-ap-rustc_type_ir-0.143.0//:ra_ap_rustc_type_ir", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db", + "@vendor_ts__ra_ap_hir_def-0.0.328//:ra_ap_hir_def", + "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", "@vendor_ts__rustc_apfloat-0.2.3-llvm-462a31f5a5ab//:rustc_apfloat", - "@vendor_ts__salsa-0.23.0//:salsa", - "@vendor_ts__scoped-tls-1.0.1//:scoped_tls", + "@vendor_ts__salsa-0.25.2//:salsa", + "@vendor_ts__serde-1.0.228//:serde", "@vendor_ts__smallvec-1.15.1//:smallvec", - "@vendor_ts__tracing-0.1.41//:tracing", - "@vendor_ts__triomphe-0.1.14//:triomphe", + "@vendor_ts__thin-vec-0.2.14//:thin_vec", + "@vendor_ts__tracing-0.1.44//:tracing", + "@vendor_ts__tracing-subscriber-0.3.23//:tracing_subscriber", + "@vendor_ts__tracing-tree-0.4.1//:tracing_tree", + "@vendor_ts__triomphe-0.1.15//:triomphe", "@vendor_ts__typed-arena-2.0.2//:typed_arena", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_ide_db-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_ide_db-0.0.328.bazel similarity index 69% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_ide_db-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_ide_db-0.0.328.bazel index 66d015a2efbf..c9160ac9b0f8 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_ide_db-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_ide_db-0.0.328.bazel @@ -23,15 +23,18 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db": "base_db", - "@vendor_ts__ra_ap_hir-0.0.301//:ra_ap_hir": "hir", - "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser": "parser", - "@vendor_ts__ra_ap_profile-0.0.301//:ra_ap_profile": "profile", - "@vendor_ts__ra_ap_query-group-macro-0.0.301//:ra_ap_query_group_macro": "query_group", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span": "span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax": "syntax", - "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs": "vfs", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db": "base_db", + "@vendor_ts__ra_ap_hir-0.0.328//:ra_ap_hir": "hir", + "@vendor_ts__ra_ap_macros-0.0.328//:ra_ap_macros": "macros", + "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser": "parser", + "@vendor_ts__ra_ap_profile-0.0.328//:ra_ap_profile": "profile", + "@vendor_ts__ra_ap_query-group-macro-0.0.328//:ra_ap_query_group_macro": "query_group", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax": "syntax", + "@vendor_ts__ra_ap_test_fixture-0.0.328//:ra_ap_test_fixture": "test_fixture", + "@vendor_ts__ra_ap_test_utils-0.0.328//:ra_ap_test_utils": "test_utils", + "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs": "vfs", }, compile_data = glob( include = ["**"], @@ -45,11 +48,15 @@ rust_library( "WORKSPACE.bazel", ], ), + crate_features = [ + "default", + ], crate_root = "src/lib.rs", edition = "2024", proc_macro_deps = [ - "@vendor_ts__ra_ap_query-group-macro-0.0.301//:ra_ap_query_group_macro", - "@vendor_ts__salsa-macros-0.23.0//:salsa_macros", + "@vendor_ts__ra_ap_macros-0.0.328//:ra_ap_macros", + "@vendor_ts__ra_ap_query-group-macro-0.0.328//:ra_ap_query_group_macro", + "@vendor_ts__salsa-macros-0.25.2//:salsa_macros", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -108,31 +115,33 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__arrayvec-0.7.6//:arrayvec", - "@vendor_ts__bitflags-2.9.4//:bitflags", + "@vendor_ts__bitflags-2.11.1//:bitflags", "@vendor_ts__cov-mark-2.1.0//:cov_mark", "@vendor_ts__crossbeam-channel-0.5.15//:crossbeam_channel", "@vendor_ts__either-1.15.0//:either", "@vendor_ts__fst-0.4.7//:fst", - "@vendor_ts__indexmap-2.11.4//:indexmap", "@vendor_ts__itertools-0.14.0//:itertools", "@vendor_ts__line-index-0.1.2//:line_index", - "@vendor_ts__memchr-2.7.5//:memchr", + "@vendor_ts__memchr-2.8.0//:memchr", "@vendor_ts__nohash-hasher-0.2.0//:nohash_hasher", - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db", - "@vendor_ts__ra_ap_hir-0.0.301//:ra_ap_hir", - "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser", - "@vendor_ts__ra_ap_profile-0.0.301//:ra_ap_profile", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax", - "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs", - "@vendor_ts__rayon-1.11.0//:rayon", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", - "@vendor_ts__salsa-0.23.0//:salsa", - "@vendor_ts__tracing-0.1.41//:tracing", - "@vendor_ts__triomphe-0.1.14//:triomphe", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db", + "@vendor_ts__ra_ap_hir-0.0.328//:ra_ap_hir", + "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser", + "@vendor_ts__ra_ap_profile-0.0.328//:ra_ap_profile", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax", + "@vendor_ts__ra_ap_test_fixture-0.0.328//:ra_ap_test_fixture", + "@vendor_ts__ra_ap_test_utils-0.0.328//:ra_ap_test_utils", + "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs", + "@vendor_ts__rayon-1.12.0//:rayon", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__salsa-0.25.2//:salsa", + "@vendor_ts__smallvec-1.15.1//:smallvec", + "@vendor_ts__tracing-0.1.44//:tracing", + "@vendor_ts__triomphe-0.1.15//:triomphe", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_intern-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_intern-0.0.328.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_intern-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_intern-0.0.328.bazel index 9216daa25b57..e2b1c874bcbc 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_intern-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_intern-0.0.328.bazel @@ -93,11 +93,12 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__dashmap-6.1.0//:dashmap", "@vendor_ts__hashbrown-0.14.5//:hashbrown", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", - "@vendor_ts__triomphe-0.1.14//:triomphe", + "@vendor_ts__rayon-1.12.0//:rayon", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__triomphe-0.1.15//:triomphe", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_load-cargo-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_load-cargo-0.0.328.bazel similarity index 78% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_load-cargo-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_load-cargo-0.0.328.bazel index cc43b8dd6306..28c08916e4ef 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_load-cargo-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_load-cargo-0.0.328.bazel @@ -23,15 +23,15 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_hir_expand-0.0.301//:ra_ap_hir_expand": "hir_expand", - "@vendor_ts__ra_ap_ide_db-0.0.301//:ra_ap_ide_db": "ide_db", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_proc_macro_api-0.0.301//:ra_ap_proc_macro_api": "proc_macro_api", - "@vendor_ts__ra_ap_project_model-0.0.301//:ra_ap_project_model": "project_model", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span": "span", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt": "tt", - "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs": "vfs", - "@vendor_ts__ra_ap_vfs-notify-0.0.301//:ra_ap_vfs_notify": "vfs_notify", + "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand": "hir_expand", + "@vendor_ts__ra_ap_ide_db-0.0.328//:ra_ap_ide_db": "ide_db", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_proc_macro_api-0.0.328//:ra_ap_proc_macro_api": "proc_macro_api", + "@vendor_ts__ra_ap_project_model-0.0.328//:ra_ap_project_model": "project_model", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt": "tt", + "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs": "vfs", + "@vendor_ts__ra_ap_vfs-notify-0.0.328//:ra_ap_vfs_notify": "vfs_notify", }, compile_data = glob( include = ["**"], @@ -104,20 +104,20 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ - "@vendor_ts__anyhow-1.0.100//:anyhow", + "@vendor_ts__anyhow-1.0.102//:anyhow", "@vendor_ts__crossbeam-channel-0.5.15//:crossbeam_channel", "@vendor_ts__itertools-0.14.0//:itertools", - "@vendor_ts__ra_ap_hir_expand-0.0.301//:ra_ap_hir_expand", - "@vendor_ts__ra_ap_ide_db-0.0.301//:ra_ap_ide_db", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_proc_macro_api-0.0.301//:ra_ap_proc_macro_api", - "@vendor_ts__ra_ap_project_model-0.0.301//:ra_ap_project_model", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt", - "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs", - "@vendor_ts__ra_ap_vfs-notify-0.0.301//:ra_ap_vfs_notify", - "@vendor_ts__tracing-0.1.41//:tracing", + "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand", + "@vendor_ts__ra_ap_ide_db-0.0.328//:ra_ap_ide_db", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_proc_macro_api-0.0.328//:ra_ap_proc_macro_api", + "@vendor_ts__ra_ap_project_model-0.0.328//:ra_ap_project_model", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt", + "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs", + "@vendor_ts__ra_ap_vfs-notify-0.0.328//:ra_ap_vfs_notify", + "@vendor_ts__tracing-0.1.44//:tracing", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-derive-0.103.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_macros-0.0.328.bazel similarity index 94% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-derive-0.103.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_macros-0.0.328.bazel index d43c7b6b893d..6411cde26a3b 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.chalk-derive-0.103.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_macros-0.0.328.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_proc_macro( - name = "chalk_derive", + name = "ra_ap_macros", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -35,7 +35,7 @@ rust_proc_macro( ], ), crate_root = "src/lib.rs", - edition = "2018", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -44,7 +44,7 @@ rust_proc_macro( ], tags = [ "cargo-bazel", - "crate-name=chalk-derive", + "crate-name=ra_ap_macros", "manual", "noclippy", "norustfmt", @@ -93,11 +93,11 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.103.0", + version = "0.0.328", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", "@vendor_ts__synstructure-0.13.2//:synstructure", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_mbe-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_mbe-0.0.328.bazel similarity index 81% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_mbe-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_mbe-0.0.328.bazel index bdf4d2970741..9d7a08379d64 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_mbe-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_mbe-0.0.328.bazel @@ -23,12 +23,12 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser": "parser", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span": "span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", - "@vendor_ts__ra_ap_syntax-bridge-0.0.301//:ra_ap_syntax_bridge": "syntax_bridge", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt": "tt", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser": "parser", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_syntax-bridge-0.0.328//:ra_ap_syntax_bridge": "syntax_bridge", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt": "tt", }, compile_data = glob( include = ["**"], @@ -101,18 +101,20 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__arrayvec-0.7.6//:arrayvec", + "@vendor_ts__bitflags-2.11.1//:bitflags", "@vendor_ts__cov-mark-2.1.0//:cov_mark", - "@vendor_ts__ra-ap-rustc_lexer-0.123.0//:ra_ap_rustc_lexer", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__ra_ap_syntax-bridge-0.0.301//:ra_ap_syntax_bridge", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", + "@vendor_ts__ra-ap-rustc_lexer-0.143.0//:ra_ap_rustc_lexer", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_syntax-bridge-0.0.328//:ra_ap_syntax_bridge", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__salsa-0.25.2//:salsa", "@vendor_ts__smallvec-1.15.1//:smallvec", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_parser-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_parser-0.0.328.bazel similarity index 93% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_parser-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_parser-0.0.328.bazel index 2134a4d9cbc2..5e1577c1785a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_parser-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_parser-0.0.328.bazel @@ -23,7 +23,7 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_edition-0.0.301//:ra_ap_edition": "edition", + "@vendor_ts__ra_ap_edition-0.0.328//:ra_ap_edition": "edition", }, compile_data = glob( include = ["**"], @@ -39,7 +39,6 @@ rust_library( ), crate_features = [ "default", - "tracing", ], crate_root = "src/lib.rs", edition = "2024", @@ -100,12 +99,13 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__drop_bomb-0.1.5//:drop_bomb", - "@vendor_ts__ra-ap-rustc_lexer-0.123.0//:ra_ap_rustc_lexer", - "@vendor_ts__ra_ap_edition-0.0.301//:ra_ap_edition", + "@vendor_ts__ra-ap-rustc_lexer-0.143.0//:ra_ap_rustc_lexer", + "@vendor_ts__ra_ap_edition-0.0.328//:ra_ap_edition", "@vendor_ts__rustc-literal-escaper-0.0.4//:rustc_literal_escaper", - "@vendor_ts__tracing-0.1.41//:tracing", + "@vendor_ts__tracing-0.1.44//:tracing", + "@vendor_ts__winnow-0.7.15//:winnow", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_paths-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_paths-0.0.328.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_paths-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_paths-0.0.328.bazel index 5210ea74ec8e..6d809a8ca8ab 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_paths-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_paths-0.0.328.bazel @@ -96,8 +96,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ - "@vendor_ts__camino-1.1.12//:camino", + "@vendor_ts__camino-1.2.2//:camino", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.328.bazel similarity index 80% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.328.bazel index 12961c51aec0..bac8656c7c4d 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.328.bazel @@ -23,11 +23,11 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_paths-0.0.301//:ra_ap_paths": "paths", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span": "span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt": "tt", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths": "paths", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt": "tt", }, compile_data = glob( include = ["**"], @@ -41,6 +41,9 @@ rust_library( "WORKSPACE.bazel", ], ), + crate_features = [ + "default", + ], crate_root = "src/lib.rs", edition = "2024", proc_macro_deps = [ @@ -103,17 +106,20 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ - "@vendor_ts__indexmap-2.11.4//:indexmap", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_paths-0.0.301//:ra_ap_paths", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", + "@vendor_ts__indexmap-2.14.0//:indexmap", + "@vendor_ts__postcard-1.1.3//:postcard", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt", + "@vendor_ts__rayon-1.12.0//:rayon", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__semver-1.0.28//:semver", "@vendor_ts__serde-1.0.228//:serde", - "@vendor_ts__serde_json-1.0.145//:serde_json", - "@vendor_ts__tracing-0.1.41//:tracing", + "@vendor_ts__serde_json-1.0.149//:serde_json", + "@vendor_ts__tracing-0.1.44//:tracing", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_profile-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_profile-0.0.328.bazel similarity index 73% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_profile-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_profile-0.0.328.bazel index cb28397b3ab3..bc45d3548e53 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_profile-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_profile-0.0.328.bazel @@ -93,61 +93,53 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ - "@vendor_ts__cfg-if-1.0.3//:cfg_if", + "@vendor_ts__cfg-if-1.0.4//:cfg_if", ] + select({ "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) - "@vendor_ts__perf-event-0.4.7//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) + "@vendor_ts__perf-event-0.4.8//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"), any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64"))) ], "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) - "@vendor_ts__perf-event-0.4.7//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) + "@vendor_ts__perf-event-0.4.8//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"), any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64"))) ], "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) - "@vendor_ts__perf-event-0.4.7//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"))) - ], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [ - "@vendor_ts__perf-event-0.4.7//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) ], "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) - "@vendor_ts__perf-event-0.4.7//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) - "@vendor_ts__perf-event-0.4.7//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) + "@vendor_ts__perf-event-0.4.8//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"), any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64"))) ], "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) - "@vendor_ts__perf-event-0.4.7//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) ], "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) - "@vendor_ts__perf-event-0.4.7//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) ], "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) - "@vendor_ts__perf-event-0.4.7//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) - "@vendor_ts__perf-event-0.4.7//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) + "@vendor_ts__perf-event-0.4.8//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"), any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64"))) ], "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) - "@vendor_ts__perf-event-0.4.7//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"))) + "@vendor_ts__libc-0.2.185//:libc", # cfg(all(target_os = "linux", target_env = "gnu")) + "@vendor_ts__perf-event-0.4.8//:perf_event", # cfg(all(target_os = "linux", not(target_env = "ohos"), any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64"))) ], "//conditions:default": [], }), diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.328.bazel similarity index 76% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.328.bazel index 8f551d7bd0b8..a5f7fdd974db 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.328.bazel @@ -23,13 +23,13 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db": "base_db", - "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg": "cfg", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_paths-0.0.301//:ra_ap_paths": "paths", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span": "span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", - "@vendor_ts__ra_ap_toolchain-0.0.301//:ra_ap_toolchain": "toolchain", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db": "base_db", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg": "cfg", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths": "paths", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_toolchain-0.0.328//:ra_ap_toolchain": "toolchain", }, compile_data = glob( include = ["**"], @@ -43,6 +43,9 @@ rust_library( "WORKSPACE.bazel", ], ), + crate_features = [ + "default", + ], crate_root = "src/lib.rs", edition = "2024", proc_macro_deps = [ @@ -105,25 +108,26 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ - "@vendor_ts__anyhow-1.0.100//:anyhow", - "@vendor_ts__cargo_metadata-0.21.0//:cargo_metadata", + "@vendor_ts__anyhow-1.0.102//:anyhow", + "@vendor_ts__cargo_metadata-0.23.1//:cargo_metadata", "@vendor_ts__itertools-0.14.0//:itertools", "@vendor_ts__la-arena-0.3.1//:la_arena", - "@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db", - "@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_paths-0.0.301//:ra_ap_paths", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__ra_ap_toolchain-0.0.301//:ra_ap_toolchain", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", - "@vendor_ts__semver-1.0.26//:semver", + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_toolchain-0.0.328//:ra_ap_toolchain", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__semver-1.0.28//:semver", "@vendor_ts__serde-1.0.228//:serde", - "@vendor_ts__serde_json-1.0.145//:serde_json", + "@vendor_ts__serde_json-1.0.149//:serde_json", "@vendor_ts__temp-dir-0.1.16//:temp_dir", - "@vendor_ts__tracing-0.1.41//:tracing", - "@vendor_ts__triomphe-0.1.14//:triomphe", + "@vendor_ts__toml-0.9.12-spec-1.1.0//:toml", + "@vendor_ts__tracing-0.1.44//:tracing", + "@vendor_ts__triomphe-0.1.15//:triomphe", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_query-group-macro-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_query-group-macro-0.0.328.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_query-group-macro-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_query-group-macro-0.0.328.bazel index ccd6eb8aefa3..0934ecd44f2e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_query-group-macro-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_query-group-macro-0.0.328.bazel @@ -93,10 +93,10 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_span-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_span-0.0.328.bazel similarity index 90% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_span-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_span-0.0.328.bazel index 0b47ce033472..6c6249a49ab9 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_span-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_span-0.0.328.bazel @@ -23,9 +23,9 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax": "syntax", - "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs": "vfs", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax": "syntax", + "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs": "vfs", }, compile_data = glob( include = ["**"], @@ -102,15 +102,15 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__hashbrown-0.14.5//:hashbrown", "@vendor_ts__la-arena-0.3.1//:la_arena", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax", - "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", - "@vendor_ts__salsa-0.23.0//:salsa", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax", + "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__salsa-0.25.2//:salsa", "@vendor_ts__text-size-1.1.1//:text_size", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_stdx-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_stdx-0.0.328.bazel similarity index 80% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_stdx-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_stdx-0.0.328.bazel index 41c6f4f8cc72..9d4b68cb0e51 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_stdx-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_stdx-0.0.328.bazel @@ -93,106 +93,106 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__crossbeam-channel-0.5.15//:crossbeam_channel", "@vendor_ts__crossbeam-utils-0.8.21//:crossbeam_utils", "@vendor_ts__itertools-0.14.0//:itertools", "@vendor_ts__jod-thread-1.0.0//:jod_thread", - "@vendor_ts__tracing-0.1.41//:tracing", + "@vendor_ts__tracing-0.1.44//:tracing", ] + select({ "@rules_rust//rust/platform:aarch64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ "@vendor_ts__miow-0.6.1//:miow", # cfg(windows) "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:armv7-linux-androideabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ "@vendor_ts__miow-0.6.1//:miow", # cfg(windows) "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:i686-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:wasm32-unknown-emscripten": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-apple-darwin": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-apple-ios": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-linux-android": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ "@vendor_ts__miow-0.6.1//:miow", # cfg(windows) "@vendor_ts__windows-sys-0.60.2//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ - "@vendor_ts__libc-0.2.175//:libc", # cfg(unix) + "@vendor_ts__libc-0.2.185//:libc", # cfg(unix) ], "//conditions:default": [], }), diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-0.0.328.bazel similarity index 87% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-0.0.328.bazel index e5548afe6ab0..d4204f3eadbc 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-0.0.328.bazel @@ -23,8 +23,8 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser": "parser", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser": "parser", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", }, compile_data = glob( include = ["**"], @@ -38,6 +38,9 @@ rust_library( "WORKSPACE.bazel", ], ), + crate_features = [ + "default", + ], crate_root = "src/lib.rs", edition = "2024", rustc_env_files = [ @@ -97,18 +100,19 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__either-1.15.0//:either", "@vendor_ts__itertools-0.14.0//:itertools", - "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__rowan-0.15.15//:rowan", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", + "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__rowan-0.15.18//:rowan", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", "@vendor_ts__rustc-literal-escaper-0.0.4//:rustc_literal_escaper", - "@vendor_ts__smol_str-0.3.2//:smol_str", - "@vendor_ts__tracing-0.1.41//:tracing", - "@vendor_ts__triomphe-0.1.14//:triomphe", + "@vendor_ts__smallvec-1.15.1//:smallvec", + "@vendor_ts__smol_str-0.3.6//:smol_str", + "@vendor_ts__tracing-0.1.44//:tracing", + "@vendor_ts__triomphe-0.1.15//:triomphe", ], ) exports_files(["rust.ungram"]) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-bridge-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-bridge-0.0.328.bazel similarity index 84% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-bridge-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-bridge-0.0.328.bazel index 646c0f8c2f45..4ce70110ed1a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-bridge-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-bridge-0.0.328.bazel @@ -23,12 +23,12 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser": "parser", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span": "span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax": "syntax", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt": "tt", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser": "parser", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax": "syntax", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt": "tt", }, compile_data = glob( include = ["**"], @@ -101,14 +101,14 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser", - "@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax", - "@vendor_ts__ra_ap_tt-0.0.301//:ra_ap_tt", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_test_fixture-0.0.328.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_test_fixture-0.0.328.bazel new file mode 100644 index 000000000000..40941eb64afe --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_test_fixture-0.0.328.bazel @@ -0,0 +1,123 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "ra_ap_test_fixture", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db": "base_db", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg": "cfg", + "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand": "hir_expand", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths": "paths", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_test_utils-0.0.328//:ra_ap_test_utils": "test_utils", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt": "tt", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_test_fixture", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.328", + deps = [ + "@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db", + "@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg", + "@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_test_utils-0.0.328//:ra_ap_test_utils", + "@vendor_ts__ra_ap_tt-0.0.328//:ra_ap_tt", + "@vendor_ts__triomphe-0.1.15//:triomphe", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_tt-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_test_utils-0.0.328.bazel similarity index 87% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_tt-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_test_utils-0.0.328.bazel index e5b2117f769c..276ab3e576d8 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_tt-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_test_utils-0.0.328.bazel @@ -17,14 +17,15 @@ cargo_toml_env_vars( ) rust_library( - name = "ra_ap_tt", + name = "ra_ap_test_utils", srcs = glob( include = ["**/*.rs"], allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern": "intern", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths": "paths", + "@vendor_ts__ra_ap_profile-0.0.328//:ra_ap_profile": "profile", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", }, compile_data = glob( include = ["**"], @@ -48,7 +49,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=ra_ap_tt", + "crate-name=ra_ap_test_utils", "manual", "noclippy", "norustfmt", @@ -97,12 +98,13 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ - "@vendor_ts__arrayvec-0.7.6//:arrayvec", - "@vendor_ts__ra-ap-rustc_lexer-0.123.0//:ra_ap_rustc_lexer", - "@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", + "@vendor_ts__dissimilar-1.0.11//:dissimilar", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths", + "@vendor_ts__ra_ap_profile-0.0.328//:ra_ap_profile", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", "@vendor_ts__text-size-1.1.1//:text_size", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_toolchain-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_toolchain-0.0.328.bazel similarity index 97% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_toolchain-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_toolchain-0.0.328.bazel index 2956a594ec11..9d73283c8059 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_toolchain-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_toolchain-0.0.328.bazel @@ -93,9 +93,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ - "@vendor_ts__camino-1.1.12//:camino", - "@vendor_ts__home-0.5.11//:home", + "@vendor_ts__camino-1.2.2//:camino", + "@vendor_ts__home-0.5.12//:home", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_tt-0.0.328.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_tt-0.0.328.bazel new file mode 100644 index 000000000000..b40b0afeeff4 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_tt-0.0.328.bazel @@ -0,0 +1,115 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "ra_ap_tt", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern": "intern", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span": "span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=ra_ap_tt", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.328", + deps = [ + "@vendor_ts__arrayvec-0.7.6//:arrayvec", + "@vendor_ts__indexmap-2.14.0//:indexmap", + "@vendor_ts__ra-ap-rustc_lexer-0.143.0//:ra_ap_rustc_lexer", + "@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern", + "@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__text-size-1.1.1//:text_size", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-0.0.328.bazel similarity index 91% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-0.0.328.bazel index 67dd8bdd6104..77cf3adfd1c5 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-0.0.328.bazel @@ -23,8 +23,8 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_paths-0.0.301//:ra_ap_paths": "paths", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths": "paths", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", }, compile_data = glob( include = ["**"], @@ -97,15 +97,15 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__crossbeam-channel-0.5.15//:crossbeam_channel", "@vendor_ts__fst-0.4.7//:fst", - "@vendor_ts__indexmap-2.11.4//:indexmap", + "@vendor_ts__indexmap-2.14.0//:indexmap", "@vendor_ts__nohash-hasher-0.2.0//:nohash_hasher", - "@vendor_ts__ra_ap_paths-0.0.301//:ra_ap_paths", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", - "@vendor_ts__tracing-0.1.41//:tracing", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__tracing-0.1.44//:tracing", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-notify-0.0.301.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-notify-0.0.328.bazel similarity index 89% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-notify-0.0.301.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-notify-0.0.328.bazel index e0c3859bfa37..5ad594ec7e7e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-notify-0.0.301.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_vfs-notify-0.0.328.bazel @@ -23,9 +23,9 @@ rust_library( allow_empty = True, ), aliases = { - "@vendor_ts__ra_ap_paths-0.0.301//:ra_ap_paths": "paths", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx": "stdx", - "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs": "vfs", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths": "paths", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx": "stdx", + "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs": "vfs", }, compile_data = glob( include = ["**"], @@ -98,16 +98,16 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.0.301", + version = "0.0.328", deps = [ "@vendor_ts__crossbeam-channel-0.5.15//:crossbeam_channel", "@vendor_ts__notify-8.2.0//:notify", - "@vendor_ts__ra_ap_paths-0.0.301//:ra_ap_paths", - "@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx", - "@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs", - "@vendor_ts__rayon-1.11.0//:rayon", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", - "@vendor_ts__tracing-0.1.41//:tracing", + "@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths", + "@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx", + "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs", + "@vendor_ts__rayon-1.12.0//:rayon", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__tracing-0.1.44//:tracing", "@vendor_ts__walkdir-2.5.0//:walkdir", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand-0.9.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand-0.10.1.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand-0.9.2.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand-0.10.1.bazel index adf2414f3af0..58e4ecd87bd3 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand-0.9.2.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand-0.10.1.bazel @@ -37,14 +37,13 @@ rust_library( crate_features = [ "alloc", "default", - "os_rng", - "small_rng", "std", "std_rng", + "sys_rng", "thread_rng", ], crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -102,9 +101,10 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.9.2", + version = "0.10.1", deps = [ - "@vendor_ts__rand_chacha-0.9.0//:rand_chacha", - "@vendor_ts__rand_core-0.9.3//:rand_core", + "@vendor_ts__chacha20-0.10.0//:chacha20", + "@vendor_ts__getrandom-0.4.2//:getrandom", + "@vendor_ts__rand_core-0.10.1//:rand_core", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_chacha-0.9.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_chacha-0.9.0.bazel deleted file mode 100644 index 63fd0014d763..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_chacha-0.9.0.bazel +++ /dev/null @@ -1,104 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "rand_chacha", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=rand_chacha", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.9.0", - deps = [ - "@vendor_ts__ppv-lite86-0.2.21//:ppv_lite86", - "@vendor_ts__rand_core-0.9.3//:rand_core", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.10.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.10.1.bazel new file mode 100644 index 000000000000..9522ee36ed3e --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.10.1.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "rand_core", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rand_core", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.10.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.9.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.9.3.bazel deleted file mode 100644 index 0ae8f72c2617..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rand_core-0.9.3.bazel +++ /dev/null @@ -1,104 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "rand_core", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "os_rng", - "std", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=rand_core", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.9.3", - deps = [ - "@vendor_ts__getrandom-0.3.3//:getrandom", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-1.11.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-1.12.0.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-1.11.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-1.12.0.bazel index c867d354a77c..c51b34ee3989 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-1.11.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rayon-1.12.0.bazel @@ -93,7 +93,7 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.11.0", + version = "1.12.0", deps = [ "@vendor_ts__either-1.15.0//:either", "@vendor_ts__rayon-core-1.13.0//:rayon_core", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.redox_syscall-0.5.17.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.redox_syscall-0.5.17.bazel index ec928fcac82c..51d28b0a867c 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.redox_syscall-0.5.17.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.redox_syscall-0.5.17.bazel @@ -95,6 +95,6 @@ rust_library( }), version = "0.5.17", deps = [ - "@vendor_ts__bitflags-2.9.4//:bitflags", + "@vendor_ts__bitflags-2.11.1//:bitflags", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ref-cast-impl-1.0.24.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ref-cast-impl-1.0.24.bazel index 56045a5d8dde..e94704b8c42b 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ref-cast-impl-1.0.24.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ref-cast-impl-1.0.24.bazel @@ -95,8 +95,8 @@ rust_proc_macro( }), version = "1.0.24", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-1.11.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-1.12.3.bazel similarity index 94% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-1.11.3.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-1.12.3.bazel index 2dff7cf54448..825fabb29b18 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-1.11.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-1.12.3.bazel @@ -112,11 +112,11 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.11.3", + version = "1.12.3", deps = [ - "@vendor_ts__aho-corasick-1.1.3//:aho_corasick", - "@vendor_ts__memchr-2.7.5//:memchr", - "@vendor_ts__regex-automata-0.4.11//:regex_automata", - "@vendor_ts__regex-syntax-0.8.6//:regex_syntax", + "@vendor_ts__aho-corasick-1.1.4//:aho_corasick", + "@vendor_ts__memchr-2.8.0//:memchr", + "@vendor_ts__regex-automata-0.4.14//:regex_automata", + "@vendor_ts__regex-syntax-0.8.10//:regex_syntax", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.4.11.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.4.14.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.4.11.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.4.14.bazel index 77270d5287f7..7d8af771594a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.4.11.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-automata-0.4.14.bazel @@ -121,10 +121,10 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.4.11", + version = "0.4.14", deps = [ - "@vendor_ts__aho-corasick-1.1.3//:aho_corasick", - "@vendor_ts__memchr-2.7.5//:memchr", - "@vendor_ts__regex-syntax-0.8.6//:regex_syntax", + "@vendor_ts__aho-corasick-1.1.4//:aho_corasick", + "@vendor_ts__memchr-2.8.0//:memchr", + "@vendor_ts__regex-syntax-0.8.10//:regex_syntax", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.8.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.8.10.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.8.6.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.8.10.bazel index 20579d899f00..5f3ae8f1cce0 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.8.6.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.regex-syntax-0.8.10.bazel @@ -105,5 +105,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.8.6", + version = "0.8.10", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rowan-0.15.15.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rowan-0.15.18.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rowan-0.15.15.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rowan-0.15.18.bazel index 45eaa325827e..e9841cd61c3a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rowan-0.15.15.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rowan-0.15.18.bazel @@ -93,7 +93,7 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.15.15", + version = "0.15.18", deps = [ "@vendor_ts__countme-3.0.1//:countme", "@vendor_ts__hashbrown-0.14.5//:hashbrown", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-hash-2.1.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-hash-2.1.2.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-hash-2.1.1.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-hash-2.1.2.bazel index 233e17d90857..a18bdfd0e16b 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-hash-2.1.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-hash-2.1.2.bazel @@ -97,5 +97,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "2.1.1", + version = "2.1.2", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-literal-escaper-0.0.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-literal-escaper-0.0.5.bazel new file mode 100644 index 000000000000..883772a6b126 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc-literal-escaper-0.0.5.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "rustc_literal_escaper", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=rustc-literal-escaper", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.0.5", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc_apfloat-0.2.3+llvm-462a31f5a5ab.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc_apfloat-0.2.3+llvm-462a31f5a5ab.bazel index 0bf752345746..2e81799fba5e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc_apfloat-0.2.3+llvm-462a31f5a5ab.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc_apfloat-0.2.3+llvm-462a31f5a5ab.bazel @@ -99,7 +99,7 @@ rust_library( }), version = "0.2.3+llvm-462a31f5a5ab", deps = [ - "@vendor_ts__bitflags-2.9.4//:bitflags", + "@vendor_ts__bitflags-2.11.1//:bitflags", "@vendor_ts__rustc_apfloat-0.2.3-llvm-462a31f5a5ab//:build_script_build", "@vendor_ts__smallvec-1.15.1//:smallvec", ], diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.percent-encoding-2.3.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc_version-0.4.1.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.percent-encoding-2.3.2.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc_version-0.4.1.bazel index 8a8d1e9e3c97..c93a62d6c6a7 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.percent-encoding-2.3.2.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.rustc_version-0.4.1.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_library( - name = "percent_encoding", + name = "rustc_version", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -34,10 +34,6 @@ rust_library( "WORKSPACE.bazel", ], ), - crate_features = [ - "alloc", - "std", - ], crate_root = "src/lib.rs", edition = "2018", rustc_env_files = [ @@ -48,7 +44,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=percent-encoding", + "crate-name=rustc_version", "manual", "noclippy", "norustfmt", @@ -97,5 +93,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "2.3.2", + version = "0.4.1", + deps = [ + "@vendor_ts__semver-1.0.28//:semver", + ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-0.23.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-0.25.2.bazel similarity index 92% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-0.23.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-0.25.2.bazel index 25fcd798c654..8514870f47c5 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-0.23.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-0.25.2.bazel @@ -35,7 +35,7 @@ rust_library( ], ), crate_features = [ - "default", + "inventory", "macros", "rayon", "salsa_unstable", @@ -43,7 +43,7 @@ rust_library( crate_root = "src/lib.rs", edition = "2021", proc_macro_deps = [ - "@vendor_ts__salsa-macros-0.23.0//:salsa_macros", + "@vendor_ts__salsa-macros-0.25.2//:salsa_macros", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -102,23 +102,23 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.23.0", + version = "0.25.2", deps = [ "@vendor_ts__boxcar-0.2.14//:boxcar", "@vendor_ts__crossbeam-queue-0.3.12//:crossbeam_queue", "@vendor_ts__crossbeam-utils-0.8.21//:crossbeam_utils", "@vendor_ts__hashbrown-0.15.5//:hashbrown", "@vendor_ts__hashlink-0.10.0//:hashlink", - "@vendor_ts__indexmap-2.11.4//:indexmap", + "@vendor_ts__indexmap-2.14.0//:indexmap", "@vendor_ts__intrusive-collections-0.9.7//:intrusive_collections", - "@vendor_ts__papaya-0.2.3//:papaya", + "@vendor_ts__inventory-0.3.24//:inventory", "@vendor_ts__parking_lot-0.12.4//:parking_lot", "@vendor_ts__portable-atomic-1.11.1//:portable_atomic", - "@vendor_ts__rayon-1.11.0//:rayon", - "@vendor_ts__rustc-hash-2.1.1//:rustc_hash", - "@vendor_ts__salsa-macro-rules-0.23.0//:salsa_macro_rules", + "@vendor_ts__rayon-1.12.0//:rayon", + "@vendor_ts__rustc-hash-2.1.2//:rustc_hash", + "@vendor_ts__salsa-macro-rules-0.25.2//:salsa_macro_rules", "@vendor_ts__smallvec-1.15.1//:smallvec", "@vendor_ts__thin-vec-0.2.14//:thin_vec", - "@vendor_ts__tracing-0.1.41//:tracing", + "@vendor_ts__tracing-0.1.44//:tracing", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macro-rules-0.23.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macro-rules-0.25.2.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macro-rules-0.23.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macro-rules-0.25.2.bazel index a3cc0e24a369..01b605f0ed6d 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macro-rules-0.23.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macro-rules-0.25.2.bazel @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.23.0", + version = "0.25.2", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macros-0.23.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macros-0.25.2.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macros-0.23.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macros-0.25.2.bazel index 5d9bd4b09356..8905ee5100ba 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macros-0.23.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.salsa-macros-0.25.2.bazel @@ -34,6 +34,9 @@ rust_proc_macro( "WORKSPACE.bazel", ], ), + crate_features = [ + "default", + ], crate_root = "src/lib.rs", edition = "2021", rustc_env_files = [ @@ -93,11 +96,11 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.23.0", + version = "0.25.2", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", "@vendor_ts__synstructure-0.13.2//:synstructure", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.schemars-0.9.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.schemars-0.9.0.bazel index 69546680a9fb..1e08b806651d 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.schemars-0.9.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.schemars-0.9.0.bazel @@ -98,6 +98,6 @@ rust_library( "@vendor_ts__dyn-clone-1.0.20//:dyn_clone", "@vendor_ts__ref-cast-1.0.24//:ref_cast", "@vendor_ts__serde-1.0.228//:serde", - "@vendor_ts__serde_json-1.0.145//:serde_json", + "@vendor_ts__serde_json-1.0.149//:serde_json", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.schemars-1.0.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.schemars-1.0.4.bazel index 1fe84d175b39..2d6ccd8f2a05 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.schemars-1.0.4.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.schemars-1.0.4.bazel @@ -98,6 +98,6 @@ rust_library( "@vendor_ts__dyn-clone-1.0.20//:dyn_clone", "@vendor_ts__ref-cast-1.0.24//:ref_cast", "@vendor_ts__serde-1.0.228//:serde", - "@vendor_ts__serde_json-1.0.145//:serde_json", + "@vendor_ts__serde_json-1.0.149//:serde_json", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.semver-1.0.28.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.semver-1.0.28.bazel new file mode 100644 index 000000000000..5c659d959e2c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.semver-1.0.28.bazel @@ -0,0 +1,108 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "semver", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor_ts__serde_core-1.0.228//:serde_core": "serde", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + "serde", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=semver", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.28", + deps = [ + "@vendor_ts__serde_core-1.0.228//:serde_core", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-untagged-0.1.8.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-untagged-0.1.8.bazel deleted file mode 100644 index 099925888d56..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-untagged-0.1.8.bazel +++ /dev/null @@ -1,102 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "serde_untagged", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=serde-untagged", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.1.8", - deps = [ - "@vendor_ts__erased-serde-0.4.6//:erased_serde", - "@vendor_ts__serde-1.0.228//:serde", - "@vendor_ts__typeid-1.0.3//:typeid", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-value-0.7.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-value-0.7.0.bazel deleted file mode 100644 index 5ccd9ac3b516..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde-value-0.7.0.bazel +++ /dev/null @@ -1,101 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "serde_value", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2018", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=serde-value", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.7.0", - deps = [ - "@vendor_ts__ordered-float-2.10.1//:ordered_float", - "@vendor_ts__serde-1.0.228//:serde", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_core-1.0.228.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_core-1.0.228.bazel index 4f597ff13aca..c2eff6baca9e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_core-1.0.228.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_core-1.0.228.bazel @@ -40,6 +40,7 @@ rust_library( ), crate_features = [ "alloc", + "default", "result", "std", ], @@ -129,6 +130,7 @@ cargo_build_script( ), crate_features = [ "alloc", + "default", "result", "std", ], diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_derive-1.0.228.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_derive-1.0.228.bazel index f6d5b8be14a9..1d49666df317 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_derive-1.0.228.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_derive-1.0.228.bazel @@ -98,8 +98,8 @@ rust_proc_macro( }), version = "1.0.228", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.145.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.149.bazel similarity index 91% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.145.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.149.bazel index eaee1ee4b284..0d8779c67bb8 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.145.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.149.bazel @@ -164,58 +164,58 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.145", + version = "1.0.149", deps = [ - "@vendor_ts__itoa-1.0.15//:itoa", - "@vendor_ts__memchr-2.7.5//:memchr", - "@vendor_ts__ryu-1.0.20//:ryu", + "@vendor_ts__itoa-1.0.18//:itoa", + "@vendor_ts__memchr-2.8.0//:memchr", "@vendor_ts__serde_core-1.0.228//:serde_core", - "@vendor_ts__serde_json-1.0.145//:build_script_build", + "@vendor_ts__serde_json-1.0.149//:build_script_build", + "@vendor_ts__zmij-1.0.21//:zmij", ] + select({ "@rules_rust//rust/platform:aarch64-apple-darwin": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # aarch64-apple-darwin + "@vendor_ts__indexmap-2.14.0//:indexmap", # aarch64-apple-darwin ], "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # aarch64-pc-windows-msvc + "@vendor_ts__indexmap-2.14.0//:indexmap", # aarch64-pc-windows-msvc ], "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # aarch64-unknown-linux-gnu + "@vendor_ts__indexmap-2.14.0//:indexmap", # aarch64-unknown-linux-gnu ], "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # aarch64-unknown-linux-gnu, aarch64-unknown-nixos-gnu + "@vendor_ts__indexmap-2.14.0//:indexmap", # aarch64-unknown-linux-gnu, aarch64-unknown-nixos-gnu ], "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # arm-unknown-linux-gnueabi + "@vendor_ts__indexmap-2.14.0//:indexmap", # arm-unknown-linux-gnueabi ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # i686-pc-windows-msvc + "@vendor_ts__indexmap-2.14.0//:indexmap", # i686-pc-windows-msvc ], "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # i686-unknown-linux-gnu + "@vendor_ts__indexmap-2.14.0//:indexmap", # i686-unknown-linux-gnu ], "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # powerpc-unknown-linux-gnu + "@vendor_ts__indexmap-2.14.0//:indexmap", # powerpc-unknown-linux-gnu ], "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # riscv64gc-unknown-linux-gnu + "@vendor_ts__indexmap-2.14.0//:indexmap", # riscv64gc-unknown-linux-gnu ], "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # s390x-unknown-linux-gnu + "@vendor_ts__indexmap-2.14.0//:indexmap", # s390x-unknown-linux-gnu ], "@rules_rust//rust/platform:x86_64-apple-darwin": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # x86_64-apple-darwin + "@vendor_ts__indexmap-2.14.0//:indexmap", # x86_64-apple-darwin ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # x86_64-pc-windows-msvc + "@vendor_ts__indexmap-2.14.0//:indexmap", # x86_64-pc-windows-msvc ], "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # x86_64-unknown-freebsd + "@vendor_ts__indexmap-2.14.0//:indexmap", # x86_64-unknown-freebsd ], "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # x86_64-unknown-linux-gnu + "@vendor_ts__indexmap-2.14.0//:indexmap", # x86_64-unknown-linux-gnu ], "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ - "@vendor_ts__indexmap-2.11.4//:indexmap", # x86_64-unknown-linux-gnu, x86_64-unknown-nixos-gnu + "@vendor_ts__indexmap-2.14.0//:indexmap", # x86_64-unknown-linux-gnu, x86_64-unknown-nixos-gnu ], "//conditions:default": [], }), @@ -336,7 +336,7 @@ cargo_build_script( "noclippy", "norustfmt", ], - version = "1.0.145", + version = "1.0.149", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_spanned-1.0.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_spanned-1.1.1.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_spanned-1.0.2.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_spanned-1.1.1.bazel index ac82ae1e149a..67558f9a3a19 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_spanned-1.0.2.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_spanned-1.1.1.bazel @@ -40,7 +40,7 @@ rust_library( "std", ], crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -98,7 +98,7 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.2", + version = "1.1.1", deps = [ "@vendor_ts__serde_core-1.0.228//:serde_core", ], diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with-3.14.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with-3.18.0.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with-3.14.1.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with-3.18.0.bazel index 2500ec6a49ba..5a97a0e42db7 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with-3.14.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with-3.18.0.bazel @@ -43,8 +43,7 @@ rust_library( crate_root = "src/lib.rs", edition = "2021", proc_macro_deps = [ - "@vendor_ts__serde_derive-1.0.228//:serde_derive", - "@vendor_ts__serde_with_macros-3.14.1//:serde_with_macros", + "@vendor_ts__serde_with_macros-3.18.0//:serde_with_macros", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -103,8 +102,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "3.14.1", + version = "3.18.0", deps = [ - "@vendor_ts__serde-1.0.228//:serde", + "@vendor_ts__serde_core-1.0.228//:serde_core", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with_macros-3.14.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with_macros-3.18.0.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with_macros-3.14.1.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with_macros-3.18.0.bazel index fe552ca2a284..8ee42fdf0b04 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with_macros-3.14.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_with_macros-3.18.0.bazel @@ -93,11 +93,11 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "3.14.1", + version = "3.18.0", deps = [ - "@vendor_ts__darling-0.21.3//:darling", - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__darling-0.23.0//:darling", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_yaml-0.9.34+deprecated.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_yaml-0.9.34+deprecated.bazel index 42f05a8553a0..0a445c6ff9a9 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_yaml-0.9.34+deprecated.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_yaml-0.9.34+deprecated.bazel @@ -95,8 +95,8 @@ rust_library( }), version = "0.9.34+deprecated", deps = [ - "@vendor_ts__indexmap-2.11.4//:indexmap", - "@vendor_ts__itoa-1.0.15//:itoa", + "@vendor_ts__indexmap-2.14.0//:indexmap", + "@vendor_ts__itoa-1.0.18//:itoa", "@vendor_ts__ryu-1.0.20//:ryu", "@vendor_ts__serde-1.0.228//:serde", "@vendor_ts__unsafe-libyaml-0.2.11//:unsafe_libyaml", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smol_str-0.3.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smol_str-0.3.6.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smol_str-0.3.2.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smol_str-0.3.6.bazel index 954df9a6361e..020a7b78d55b 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smol_str-0.3.2.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.smol_str-0.3.6.bazel @@ -39,7 +39,7 @@ rust_library( "std", ], crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -97,5 +97,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.3.2", + version = "0.3.6", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.spin-0.9.8.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.spin-0.9.8.bazel new file mode 100644 index 000000000000..c200d2c36f80 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.spin-0.9.8.bazel @@ -0,0 +1,114 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "spin", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + aliases = { + "@vendor_ts__lock_api-0.4.13//:lock_api": "lock_api_crate", + }, + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "barrier", + "default", + "lazy", + "lock_api", + "lock_api_crate", + "mutex", + "once", + "rwlock", + "spin_mutex", + ], + crate_root = "src/lib.rs", + edition = "2015", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=spin", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.9.8", + deps = [ + "@vendor_ts__lock_api-0.4.13//:lock_api", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stable_deref_trait-1.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stable_deref_trait-1.2.1.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stable_deref_trait-1.2.0.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stable_deref_trait-1.2.1.bazel index a726ed9d70a7..376f789df83a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stable_deref_trait-1.2.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.stable_deref_trait-1.2.1.bazel @@ -34,9 +34,6 @@ rust_library( "WORKSPACE.bazel", ], ), - crate_features = [ - "alloc", - ], crate_root = "src/lib.rs", edition = "2015", rustc_env_files = [ @@ -96,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.2.0", + version = "1.2.1", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.syn-2.0.106.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.syn-2.0.117.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.syn-2.0.106.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.syn-2.0.117.bazel index 50cde9ced991..b9ef3361a973 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.syn-2.0.106.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.syn-2.0.117.bazel @@ -39,7 +39,6 @@ rust_library( "default", "derive", "extra-traits", - "fold", "full", "parsing", "printing", @@ -106,10 +105,10 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "2.0.106", + version = "2.0.117", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__unicode-ident-1.0.19//:unicode_ident", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__unicode-ident-1.0.24//:unicode_ident", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.synstructure-0.13.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.synstructure-0.13.2.bazel index fa9cc6081a5a..7283c85254ce 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.synstructure-0.13.2.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.synstructure-0.13.2.bazel @@ -99,8 +99,8 @@ rust_library( }), version = "0.13.2", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-2.0.16.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-2.0.18.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-2.0.16.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-2.0.18.bazel index 3e1ae194c3b9..7ba5989625a1 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-2.0.16.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-2.0.18.bazel @@ -45,7 +45,7 @@ rust_library( crate_root = "src/lib.rs", edition = "2021", proc_macro_deps = [ - "@vendor_ts__thiserror-impl-2.0.16//:thiserror_impl", + "@vendor_ts__thiserror-impl-2.0.18//:thiserror_impl", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -104,9 +104,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "2.0.16", + version = "2.0.18", deps = [ - "@vendor_ts__thiserror-2.0.16//:build_script_build", + "@vendor_ts__thiserror-2.0.18//:build_script_build", ], ) @@ -162,7 +162,7 @@ cargo_build_script( "noclippy", "norustfmt", ], - version = "2.0.16", + version = "2.0.18", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-impl-2.0.16.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-impl-2.0.18.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-impl-2.0.16.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-impl-2.0.18.bazel index 9d87f60d5d14..ef46b223dbb3 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-impl-2.0.16.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thiserror-impl-2.0.18.bazel @@ -93,10 +93,10 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "2.0.16", + version = "2.0.18", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thread_local-1.1.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thread_local-1.1.9.bazel index 01efca587901..e38f9011ecd3 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thread_local-1.1.9.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.thread_local-1.1.9.bazel @@ -95,6 +95,6 @@ rust_library( }), version = "1.1.9", deps = [ - "@vendor_ts__cfg-if-1.0.3//:cfg_if", + "@vendor_ts__cfg-if-1.0.4//:cfg_if", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.43.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.43.bazel deleted file mode 100644 index c3ee5405393c..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.43.bazel +++ /dev/null @@ -1,103 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "time", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=time", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.3.43", - deps = [ - "@vendor_ts__deranged-0.5.3//:deranged", - "@vendor_ts__num-conv-0.1.0//:num_conv", - "@vendor_ts__powerfmt-0.2.0//:powerfmt", - "@vendor_ts__time-core-0.1.6//:time_core", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.47.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.47.bazel new file mode 100644 index 000000000000..9f124d45fb4b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-0.3.47.bazel @@ -0,0 +1,221 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "time", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "default", + "formatting", + "local-offset", + "std", + ], + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=time", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.3.47", + deps = [ + "@vendor_ts__deranged-0.5.3//:deranged", + "@vendor_ts__itoa-1.0.18//:itoa", + "@vendor_ts__num-conv-0.2.1//:num_conv", + "@vendor_ts__powerfmt-0.2.0//:powerfmt", + "@vendor_ts__time-core-0.1.8//:time_core", + ] + select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [ + "@vendor_ts__libc-0.2.185//:libc", # aarch64-apple-darwin + "@vendor_ts__num_threads-0.1.7//:num_threads", # aarch64-apple-darwin + ], + "@rules_rust//rust/platform:aarch64-apple-ios": [ + "@vendor_ts__libc-0.2.185//:libc", # aarch64-apple-ios + "@vendor_ts__num_threads-0.1.7//:num_threads", # aarch64-apple-ios + ], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [ + "@vendor_ts__libc-0.2.185//:libc", # aarch64-apple-ios-sim + "@vendor_ts__num_threads-0.1.7//:num_threads", # aarch64-apple-ios-sim + ], + "@rules_rust//rust/platform:aarch64-linux-android": [ + "@vendor_ts__libc-0.2.185//:libc", # aarch64-linux-android + "@vendor_ts__num_threads-0.1.7//:num_threads", # aarch64-linux-android + ], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [ + "@vendor_ts__libc-0.2.185//:libc", # aarch64-unknown-fuchsia + "@vendor_ts__num_threads-0.1.7//:num_threads", # aarch64-unknown-fuchsia + ], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # aarch64-unknown-linux-gnu + "@vendor_ts__num_threads-0.1.7//:num_threads", # aarch64-unknown-linux-gnu + ], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # aarch64-unknown-linux-gnu, aarch64-unknown-nixos-gnu + "@vendor_ts__num_threads-0.1.7//:num_threads", # aarch64-unknown-linux-gnu, aarch64-unknown-nixos-gnu + ], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [ + "@vendor_ts__libc-0.2.185//:libc", # aarch64-unknown-nto-qnx710 + "@vendor_ts__num_threads-0.1.7//:num_threads", # aarch64-unknown-nto-qnx710 + ], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [ + "@vendor_ts__libc-0.2.185//:libc", # arm-unknown-linux-gnueabi + "@vendor_ts__num_threads-0.1.7//:num_threads", # arm-unknown-linux-gnueabi + ], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [ + "@vendor_ts__libc-0.2.185//:libc", # arm-unknown-linux-musleabi + "@vendor_ts__num_threads-0.1.7//:num_threads", # arm-unknown-linux-musleabi + ], + "@rules_rust//rust/platform:armv7-linux-androideabi": [ + "@vendor_ts__libc-0.2.185//:libc", # armv7-linux-androideabi + "@vendor_ts__num_threads-0.1.7//:num_threads", # armv7-linux-androideabi + ], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [ + "@vendor_ts__libc-0.2.185//:libc", # armv7-unknown-linux-gnueabi + "@vendor_ts__num_threads-0.1.7//:num_threads", # armv7-unknown-linux-gnueabi + ], + "@rules_rust//rust/platform:i686-apple-darwin": [ + "@vendor_ts__libc-0.2.185//:libc", # i686-apple-darwin + "@vendor_ts__num_threads-0.1.7//:num_threads", # i686-apple-darwin + ], + "@rules_rust//rust/platform:i686-linux-android": [ + "@vendor_ts__libc-0.2.185//:libc", # i686-linux-android + "@vendor_ts__num_threads-0.1.7//:num_threads", # i686-linux-android + ], + "@rules_rust//rust/platform:i686-unknown-freebsd": [ + "@vendor_ts__libc-0.2.185//:libc", # i686-unknown-freebsd + "@vendor_ts__num_threads-0.1.7//:num_threads", # i686-unknown-freebsd + ], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # i686-unknown-linux-gnu + "@vendor_ts__num_threads-0.1.7//:num_threads", # i686-unknown-linux-gnu + ], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # powerpc-unknown-linux-gnu + "@vendor_ts__num_threads-0.1.7//:num_threads", # powerpc-unknown-linux-gnu + ], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # riscv64gc-unknown-linux-gnu + "@vendor_ts__num_threads-0.1.7//:num_threads", # riscv64gc-unknown-linux-gnu + ], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # s390x-unknown-linux-gnu + "@vendor_ts__num_threads-0.1.7//:num_threads", # s390x-unknown-linux-gnu + ], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [ + "@vendor_ts__libc-0.2.185//:libc", # wasm32-unknown-emscripten + "@vendor_ts__num_threads-0.1.7//:num_threads", # wasm32-unknown-emscripten + ], + "@rules_rust//rust/platform:x86_64-apple-darwin": [ + "@vendor_ts__libc-0.2.185//:libc", # x86_64-apple-darwin + "@vendor_ts__num_threads-0.1.7//:num_threads", # x86_64-apple-darwin + ], + "@rules_rust//rust/platform:x86_64-apple-ios": [ + "@vendor_ts__libc-0.2.185//:libc", # x86_64-apple-ios + "@vendor_ts__num_threads-0.1.7//:num_threads", # x86_64-apple-ios + ], + "@rules_rust//rust/platform:x86_64-linux-android": [ + "@vendor_ts__libc-0.2.185//:libc", # x86_64-linux-android + "@vendor_ts__num_threads-0.1.7//:num_threads", # x86_64-linux-android + ], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [ + "@vendor_ts__libc-0.2.185//:libc", # x86_64-unknown-freebsd + "@vendor_ts__num_threads-0.1.7//:num_threads", # x86_64-unknown-freebsd + ], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [ + "@vendor_ts__libc-0.2.185//:libc", # x86_64-unknown-fuchsia + "@vendor_ts__num_threads-0.1.7//:num_threads", # x86_64-unknown-fuchsia + ], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # x86_64-unknown-linux-gnu + "@vendor_ts__num_threads-0.1.7//:num_threads", # x86_64-unknown-linux-gnu + ], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [ + "@vendor_ts__libc-0.2.185//:libc", # x86_64-unknown-linux-gnu, x86_64-unknown-nixos-gnu + "@vendor_ts__num_threads-0.1.7//:num_threads", # x86_64-unknown-linux-gnu, x86_64-unknown-nixos-gnu + ], + "//conditions:default": [], + }), +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-core-0.1.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-core-0.1.8.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-core-0.1.6.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-core-0.1.8.bazel index 57d22c65064b..226d665682fa 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-core-0.1.6.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-core-0.1.8.bazel @@ -35,7 +35,7 @@ rust_library( ], ), crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.1.6", + version = "0.1.8", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-macros-0.2.24.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-macros-0.2.27.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-macros-0.2.24.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-macros-0.2.27.bazel index 08d61498717e..f240decc636e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-macros-0.2.24.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.time-macros-0.2.27.bazel @@ -35,7 +35,7 @@ rust_proc_macro( ], ), crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -93,9 +93,9 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.2.24", + version = "0.2.27", deps = [ - "@vendor_ts__num-conv-0.1.0//:num_conv", - "@vendor_ts__time-core-0.1.6//:time_core", + "@vendor_ts__num-conv-0.2.1//:num_conv", + "@vendor_ts__time-core-0.1.8//:time_core", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tinystr-0.8.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tinystr-0.8.1.bazel deleted file mode 100644 index 896bfb0dd66a..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tinystr-0.8.1.bazel +++ /dev/null @@ -1,107 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "tinystr", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "alloc", - "zerovec", - ], - crate_root = "src/lib.rs", - edition = "2021", - proc_macro_deps = [ - "@vendor_ts__displaydoc-0.2.5//:displaydoc", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=tinystr", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.8.1", - deps = [ - "@vendor_ts__zerovec-0.11.4//:zerovec", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-0.9.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-0.9.12+spec-1.1.0.bazel similarity index 92% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-0.9.7.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-0.9.12+spec-1.1.0.bazel index 04609ea84f5a..00dda2eead4c 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-0.9.7.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-0.9.12+spec-1.1.0.bazel @@ -100,13 +100,13 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.9.7", + version = "0.9.12+spec-1.1.0", deps = [ "@vendor_ts__serde_core-1.0.228//:serde_core", - "@vendor_ts__serde_spanned-1.0.2//:serde_spanned", - "@vendor_ts__toml_datetime-0.7.2//:toml_datetime", - "@vendor_ts__toml_parser-1.0.3//:toml_parser", - "@vendor_ts__toml_writer-1.0.3//:toml_writer", - "@vendor_ts__winnow-0.7.13//:winnow", + "@vendor_ts__serde_spanned-1.1.1//:serde_spanned", + "@vendor_ts__toml_datetime-0.7.5-spec-1.1.0//:toml_datetime", + "@vendor_ts__toml_parser-1.1.2-spec-1.1.0//:toml_parser", + "@vendor_ts__toml_writer-1.1.1-spec-1.1.0//:toml_writer", + "@vendor_ts__winnow-0.7.15//:winnow", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-0.8.23.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-1.1.2+spec-1.1.0.bazel similarity index 90% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-0.8.23.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-1.1.2+spec-1.1.0.bazel index 50cb78eec1e8..762beea47a0a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-0.8.23.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml-1.1.2+spec-1.1.0.bazel @@ -38,9 +38,11 @@ rust_library( "default", "display", "parse", + "serde", + "std", ], crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -98,11 +100,13 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.8.23", + version = "1.1.2+spec-1.1.0", deps = [ - "@vendor_ts__serde-1.0.228//:serde", - "@vendor_ts__serde_spanned-0.6.9//:serde_spanned", - "@vendor_ts__toml_datetime-0.6.11//:toml_datetime", - "@vendor_ts__toml_edit-0.22.27//:toml_edit", + "@vendor_ts__serde_core-1.0.228//:serde_core", + "@vendor_ts__serde_spanned-1.1.1//:serde_spanned", + "@vendor_ts__toml_datetime-1.1.1-spec-1.1.0//:toml_datetime", + "@vendor_ts__toml_parser-1.1.2-spec-1.1.0//:toml_parser", + "@vendor_ts__toml_writer-1.1.1-spec-1.1.0//:toml_writer", + "@vendor_ts__winnow-1.0.1//:winnow", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-0.7.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-0.7.5+spec-1.1.0.bazel similarity index 99% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-0.7.2.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-0.7.5+spec-1.1.0.bazel index f0a1a3502d03..fc176f8a9b8b 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-0.7.2.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-0.7.5+spec-1.1.0.bazel @@ -98,7 +98,7 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.7.2", + version = "0.7.5+spec-1.1.0", deps = [ "@vendor_ts__serde_core-1.0.228//:serde_core", ], diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-0.6.11.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-1.1.1+spec-1.1.0.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-0.6.11.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-1.1.1+spec-1.1.0.bazel index 2673acb9f664..f92fd3be64c6 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-0.6.11.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_datetime-1.1.1+spec-1.1.0.bazel @@ -35,10 +35,12 @@ rust_library( ], ), crate_features = [ + "alloc", "serde", + "std", ], crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -96,8 +98,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.6.11", + version = "1.1.1+spec-1.1.0", deps = [ - "@vendor_ts__serde-1.0.228//:serde", + "@vendor_ts__serde_core-1.0.228//:serde_core", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_edit-0.22.27.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_edit-0.22.27.bazel deleted file mode 100644 index b8a2048b67fb..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_edit-0.22.27.bazel +++ /dev/null @@ -1,110 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "toml_edit", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "display", - "parse", - "serde", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=toml_edit", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.22.27", - deps = [ - "@vendor_ts__indexmap-2.11.4//:indexmap", - "@vendor_ts__serde-1.0.228//:serde", - "@vendor_ts__serde_spanned-0.6.9//:serde_spanned", - "@vendor_ts__toml_datetime-0.6.11//:toml_datetime", - "@vendor_ts__toml_write-0.1.2//:toml_write", - "@vendor_ts__winnow-0.7.13//:winnow", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_parser-1.0.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_parser-1.1.2+spec-1.1.0.bazel similarity index 97% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_parser-1.0.3.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_parser-1.1.2+spec-1.1.0.bazel index 3ad30e38760d..90f7f1d57e21 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_parser-1.0.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_parser-1.1.2+spec-1.1.0.bazel @@ -39,7 +39,7 @@ rust_library( "std", ], crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -97,8 +97,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.3", + version = "1.1.2+spec-1.1.0", deps = [ - "@vendor_ts__winnow-0.7.13//:winnow", + "@vendor_ts__winnow-1.0.1//:winnow", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_write-0.1.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_write-0.1.2.bazel deleted file mode 100644 index 61e730c79391..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_write-0.1.2.bazel +++ /dev/null @@ -1,102 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "toml_write", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "alloc", - "default", - "std", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=toml_write", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.1.2", -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_writer-1.0.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_writer-1.1.1+spec-1.1.0.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_writer-1.0.3.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_writer-1.1.1+spec-1.1.0.bazel index 2bed2419242d..c3005bdd0207 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_writer-1.0.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.toml_writer-1.1.1+spec-1.1.0.bazel @@ -39,7 +39,7 @@ rust_library( "std", ], crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -97,5 +97,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.3", + version = "1.1.1+spec-1.1.0", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-0.1.41.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-0.1.44.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-0.1.41.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-0.1.44.bazel index 183d4cdd5865..e38c76a9b2b5 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-0.1.41.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-0.1.44.bazel @@ -43,7 +43,7 @@ rust_library( crate_root = "src/lib.rs", edition = "2018", proc_macro_deps = [ - "@vendor_ts__tracing-attributes-0.1.30//:tracing_attributes", + "@vendor_ts__tracing-attributes-0.1.31//:tracing_attributes", ], rustc_env_files = [ ":cargo_toml_env_vars", @@ -102,9 +102,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.1.41", + version = "0.1.44", deps = [ - "@vendor_ts__pin-project-lite-0.2.16//:pin_project_lite", - "@vendor_ts__tracing-core-0.1.34//:tracing_core", + "@vendor_ts__pin-project-lite-0.2.17//:pin_project_lite", + "@vendor_ts__tracing-core-0.1.36//:tracing_core", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-attributes-0.1.30.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-attributes-0.1.31.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-attributes-0.1.30.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-attributes-0.1.31.bazel index 8f607d2a3218..6a87d07d6245 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-attributes-0.1.30.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-attributes-0.1.31.bazel @@ -93,10 +93,10 @@ rust_proc_macro( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.1.30", + version = "0.1.31", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-core-0.1.34.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-core-0.1.36.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-core-0.1.34.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-core-0.1.36.bazel index c30ffdd41dfe..aacfb5924369 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-core-0.1.34.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-core-0.1.36.bazel @@ -98,8 +98,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.1.34", + version = "0.1.36", deps = [ - "@vendor_ts__once_cell-1.21.3//:once_cell", + "@vendor_ts__once_cell-1.21.4//:once_cell", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-flame-0.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-flame-0.2.0.bazel index 23e0eab2f412..dde38953aa25 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-flame-0.2.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-flame-0.2.0.bazel @@ -100,7 +100,7 @@ rust_library( version = "0.2.0", deps = [ "@vendor_ts__lazy_static-1.5.0//:lazy_static", - "@vendor_ts__tracing-0.1.41//:tracing", - "@vendor_ts__tracing-subscriber-0.3.20//:tracing_subscriber", + "@vendor_ts__tracing-0.1.44//:tracing", + "@vendor_ts__tracing-subscriber-0.3.23//:tracing_subscriber", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-log-0.2.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-log-0.2.0.bazel index 9cd5f33c7cd2..e5c9180aca2f 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-log-0.2.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-log-0.2.0.bazel @@ -99,8 +99,8 @@ rust_library( }), version = "0.2.0", deps = [ - "@vendor_ts__log-0.4.28//:log", - "@vendor_ts__once_cell-1.21.3//:once_cell", - "@vendor_ts__tracing-core-0.1.34//:tracing_core", + "@vendor_ts__log-0.4.29//:log", + "@vendor_ts__once_cell-1.21.4//:once_cell", + "@vendor_ts__tracing-core-0.1.36//:tracing_core", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-subscriber-0.3.20.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-subscriber-0.3.23.bazel similarity index 93% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-subscriber-0.3.20.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-subscriber-0.3.23.bazel index f0c94ca745b6..5e6f05363a9e 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-subscriber-0.3.20.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-subscriber-0.3.23.bazel @@ -40,6 +40,7 @@ rust_library( "default", "env-filter", "fmt", + "local-time", "matchers", "nu-ansi-term", "once_cell", @@ -48,6 +49,7 @@ rust_library( "smallvec", "std", "thread_local", + "time", "tracing", "tracing-log", ], @@ -110,17 +112,18 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.3.20", + version = "0.3.23", deps = [ "@vendor_ts__matchers-0.2.0//:matchers", "@vendor_ts__nu-ansi-term-0.50.1//:nu_ansi_term", - "@vendor_ts__once_cell-1.21.3//:once_cell", - "@vendor_ts__regex-automata-0.4.11//:regex_automata", + "@vendor_ts__once_cell-1.21.4//:once_cell", + "@vendor_ts__regex-automata-0.4.14//:regex_automata", "@vendor_ts__sharded-slab-0.1.7//:sharded_slab", "@vendor_ts__smallvec-1.15.1//:smallvec", "@vendor_ts__thread_local-1.1.9//:thread_local", - "@vendor_ts__tracing-0.1.41//:tracing", - "@vendor_ts__tracing-core-0.1.34//:tracing_core", + "@vendor_ts__time-0.3.47//:time", + "@vendor_ts__tracing-0.1.44//:tracing", + "@vendor_ts__tracing-core-0.1.36//:tracing_core", "@vendor_ts__tracing-log-0.2.0//:tracing_log", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.petgraph-0.6.5.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-tree-0.4.1.bazel similarity index 92% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.petgraph-0.6.5.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-tree-0.4.1.bazel index 1ad22b9f498f..b2df0920ffe4 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.petgraph-0.6.5.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tracing-tree-0.4.1.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_library( - name = "petgraph", + name = "tracing_tree", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -36,9 +36,7 @@ rust_library( ), crate_features = [ "default", - "graphmap", - "matrix_graph", - "stable_graph", + "tracing-log", ], crate_root = "src/lib.rs", edition = "2018", @@ -50,7 +48,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=petgraph", + "crate-name=tracing-tree", "manual", "noclippy", "norustfmt", @@ -99,9 +97,11 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.6.5", + version = "0.4.1", deps = [ - "@vendor_ts__fixedbitset-0.4.2//:fixedbitset", - "@vendor_ts__indexmap-2.11.4//:indexmap", + "@vendor_ts__nu-ansi-term-0.50.1//:nu_ansi_term", + "@vendor_ts__tracing-core-0.1.36//:tracing_core", + "@vendor_ts__tracing-log-0.2.0//:tracing_log", + "@vendor_ts__tracing-subscriber-0.3.23//:tracing_subscriber", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-0.25.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-0.25.9.bazel index fd97779c54c6..90f526621a7b 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-0.25.9.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-0.25.9.bazel @@ -103,8 +103,8 @@ rust_library( }), version = "0.25.9", deps = [ - "@vendor_ts__regex-1.11.3//:regex", - "@vendor_ts__regex-syntax-0.8.6//:regex_syntax", + "@vendor_ts__regex-1.12.3//:regex", + "@vendor_ts__regex-syntax-0.8.10//:regex_syntax", "@vendor_ts__streaming-iterator-0.1.9//:streaming_iterator", "@vendor_ts__tree-sitter-0.25.9//:build_script_build", "@vendor_ts__tree-sitter-language-0.1.5//:tree_sitter_language", @@ -167,8 +167,8 @@ cargo_build_script( version = "0.25.9", visibility = ["//visibility:private"], deps = [ - "@vendor_ts__cc-1.2.37//:cc", - "@vendor_ts__serde_json-1.0.145//:serde_json", + "@vendor_ts__cc-1.2.60//:cc", + "@vendor_ts__serde_json-1.0.149//:serde_json", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-embedded-template-0.25.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-embedded-template-0.25.0.bazel index c9dd60b03c0e..e3e92da896c7 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-embedded-template-0.25.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-embedded-template-0.25.0.bazel @@ -155,7 +155,7 @@ cargo_build_script( version = "0.25.0", visibility = ["//visibility:private"], deps = [ - "@vendor_ts__cc-1.2.37//:cc", + "@vendor_ts__cc-1.2.60//:cc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-json-0.24.8.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-json-0.24.8.bazel index 6b9a7bf0582b..04bbbafb257f 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-json-0.24.8.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-json-0.24.8.bazel @@ -155,7 +155,7 @@ cargo_build_script( version = "0.24.8", visibility = ["//visibility:private"], deps = [ - "@vendor_ts__cc-1.2.37//:cc", + "@vendor_ts__cc-1.2.60//:cc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ql-0.23.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ql-0.23.1.bazel index 0b7ce3a9a29c..a2ec97769c24 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ql-0.23.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ql-0.23.1.bazel @@ -155,7 +155,7 @@ cargo_build_script( version = "0.23.1", visibility = ["//visibility:private"], deps = [ - "@vendor_ts__cc-1.2.37//:cc", + "@vendor_ts__cc-1.2.60//:cc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ruby-0.23.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ruby-0.23.1.bazel index f939b4b9493c..3352db845fa5 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ruby-0.23.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.tree-sitter-ruby-0.23.1.bazel @@ -155,7 +155,7 @@ cargo_build_script( version = "0.23.1", visibility = ["//visibility:private"], deps = [ - "@vendor_ts__cc-1.2.37//:cc", + "@vendor_ts__cc-1.2.60//:cc", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.triomphe-0.1.14.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.triomphe-0.1.15.bazel similarity index 97% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.triomphe-0.1.14.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.triomphe-0.1.15.bazel index f1774bfb2f03..74d278eb3bcd 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.triomphe-0.1.14.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.triomphe-0.1.15.bazel @@ -41,7 +41,7 @@ rust_library( "std", ], crate_root = "src/lib.rs", - edition = "2015", + edition = "2021", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -99,9 +99,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.1.14", + version = "0.1.15", deps = [ "@vendor_ts__serde-1.0.228//:serde", - "@vendor_ts__stable_deref_trait-1.2.0//:stable_deref_trait", + "@vendor_ts__stable_deref_trait-1.2.1//:stable_deref_trait", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-ident-1.0.19.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-ident-1.0.24.bazel similarity index 98% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-ident-1.0.19.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-ident-1.0.24.bazel index 75aa1ff078af..27918c9b2b4a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-ident-1.0.19.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.unicode-ident-1.0.24.bazel @@ -35,7 +35,7 @@ rust_library( ], ), crate_root = "src/lib.rs", - edition = "2018", + edition = "2021", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -93,5 +93,5 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.19", + version = "1.0.24", ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.url-2.5.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.url-2.5.7.bazel deleted file mode 100644 index 043bed2ca2c0..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.url-2.5.7.bazel +++ /dev/null @@ -1,108 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "url", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "default", - "serde", - "std", - ], - crate_root = "src/lib.rs", - edition = "2018", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=url", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "2.5.7", - deps = [ - "@vendor_ts__form_urlencoded-1.2.2//:form_urlencoded", - "@vendor_ts__idna-1.1.0//:idna", - "@vendor_ts__percent-encoding-2.3.2//:percent_encoding", - "@vendor_ts__serde-1.0.228//:serde", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.utf8_iter-1.0.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.utf8_iter-1.0.4.bazel deleted file mode 100644 index 9ebd1462558c..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.utf8_iter-1.0.4.bazel +++ /dev/null @@ -1,97 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "utf8_iter", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=utf8_iter", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "1.0.4", -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasi-0.14.5+wasi-0.2.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.bazel similarity index 96% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasi-0.14.5+wasi-0.2.4.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.bazel index a5826f5cea2e..580c2cef0aab 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasi-0.14.5+wasi-0.2.4.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_library( - name = "wasi", + name = "wasip3", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -44,7 +44,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=wasi", + "crate-name=wasip3", "manual", "noclippy", "norustfmt", @@ -93,8 +93,8 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.14.5+wasi-0.2.4", + version = "0.4.0+wasi-0.3.0-rc-2026-01-06", deps = [ - "@vendor_ts__wasip2-1.0.0-wasi-0.2.4//:wasip2", + "@vendor_ts__wit-bindgen-0.51.0//:wit_bindgen", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-0.2.101.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-0.2.101.bazel index 91c146904b67..196c576af5aa 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-0.2.101.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-0.2.101.bazel @@ -109,8 +109,8 @@ rust_library( }), version = "0.2.101", deps = [ - "@vendor_ts__cfg-if-1.0.3//:cfg_if", - "@vendor_ts__once_cell-1.21.3//:once_cell", + "@vendor_ts__cfg-if-1.0.4//:cfg_if", + "@vendor_ts__once_cell-1.21.4//:once_cell", "@vendor_ts__wasm-bindgen-0.2.101//:build_script_build", "@vendor_ts__wasm-bindgen-shared-0.2.101//:wasm_bindgen_shared", ], diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-backend-0.2.101.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-backend-0.2.101.bazel index 8bd3515bef87..77960d29b6f6 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-backend-0.2.101.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-backend-0.2.101.bazel @@ -96,10 +96,10 @@ rust_library( version = "0.2.101", deps = [ "@vendor_ts__bumpalo-3.19.0//:bumpalo", - "@vendor_ts__log-0.4.28//:log", - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__log-0.4.29//:log", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", "@vendor_ts__wasm-bindgen-shared-0.2.101//:wasm_bindgen_shared", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-0.2.101.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-0.2.101.bazel index 3e207f054b06..1da3ebd7a263 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-0.2.101.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-0.2.101.bazel @@ -95,7 +95,7 @@ rust_proc_macro( }), version = "0.2.101", deps = [ - "@vendor_ts__quote-1.0.41//:quote", + "@vendor_ts__quote-1.0.45//:quote", "@vendor_ts__wasm-bindgen-macro-support-0.2.101//:wasm_bindgen_macro_support", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-support-0.2.101.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-support-0.2.101.bazel index b2276e1a6386..b7bef3511c05 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-support-0.2.101.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-macro-support-0.2.101.bazel @@ -95,9 +95,9 @@ rust_library( }), version = "0.2.101", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", "@vendor_ts__wasm-bindgen-backend-0.2.101//:wasm_bindgen_backend", "@vendor_ts__wasm-bindgen-shared-0.2.101//:wasm_bindgen_shared", ], diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-shared-0.2.101.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-shared-0.2.101.bazel index bb7bc40362a1..d8048e89a97b 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-shared-0.2.101.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-bindgen-shared-0.2.101.bazel @@ -99,7 +99,7 @@ rust_library( }), version = "0.2.101", deps = [ - "@vendor_ts__unicode-ident-1.0.19//:unicode_ident", + "@vendor_ts__unicode-ident-1.0.24//:unicode_ident", "@vendor_ts__wasm-bindgen-shared-0.2.101//:build_script_build", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ppv-lite86-0.2.21.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-encoder-0.244.0.bazel similarity index 94% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ppv-lite86-0.2.21.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-encoder-0.244.0.bazel index a4b01dcbc67f..ac2651bb736a 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ppv-lite86-0.2.21.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-encoder-0.244.0.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_library( - name = "ppv_lite86", + name = "wasm_encoder", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -35,8 +35,9 @@ rust_library( ], ), crate_features = [ - "simd", + "component-model", "std", + "wasmparser", ], crate_root = "src/lib.rs", edition = "2021", @@ -48,7 +49,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=ppv-lite86", + "crate-name=wasm-encoder", "manual", "noclippy", "norustfmt", @@ -97,8 +98,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.2.21", + version = "0.244.0", deps = [ - "@vendor_ts__zerocopy-0.8.27//:zerocopy", + "@vendor_ts__leb128fmt-0.1.0//:leb128fmt", + "@vendor_ts__wasmparser-0.244.0//:wasmparser", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-metadata-0.244.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-metadata-0.244.0.bazel new file mode 100644 index 000000000000..5a91b52eac5c --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasm-metadata-0.244.0.bazel @@ -0,0 +1,103 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "wasm_metadata", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wasm-metadata", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.244.0", + deps = [ + "@vendor_ts__anyhow-1.0.102//:anyhow", + "@vendor_ts__indexmap-2.14.0//:indexmap", + "@vendor_ts__wasm-encoder-0.244.0//:wasm_encoder", + "@vendor_ts__wasmparser-0.244.0//:wasmparser", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasmparser-0.244.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasmparser-0.244.0.bazel new file mode 100644 index 000000000000..8b1c810b8090 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wasmparser-0.244.0.bazel @@ -0,0 +1,111 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "wasmparser", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "component-model", + "features", + "hash-collections", + "simd", + "std", + "validate", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wasmparser", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.244.0", + deps = [ + "@vendor_ts__bitflags-2.11.1//:bitflags", + "@vendor_ts__hashbrown-0.15.5//:hashbrown", + "@vendor_ts__indexmap-2.14.0//:indexmap", + "@vendor_ts__semver-1.0.28//:semver", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-implement-0.60.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-implement-0.60.0.bazel index 4477961b0a8f..4c57669e8c53 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-implement-0.60.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-implement-0.60.0.bazel @@ -95,8 +95,8 @@ rust_proc_macro( }), version = "0.60.0", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-interface-0.59.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-interface-0.59.1.bazel index cc4f0390337a..3e3c10462ea9 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-interface-0.59.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-interface-0.59.1.bazel @@ -95,8 +95,8 @@ rust_proc_macro( }), version = "0.59.1", deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.52.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.52.0.bazel index 9aee199dc0a8..5322a02c0786 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.52.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.52.0.bazel @@ -42,7 +42,6 @@ rust_library( "Win32_Storage_FileSystem", "Win32_System", "Win32_System_Console", - "Win32_System_Threading", "default", ], crate_root = "src/lib.rs", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.59.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.59.0.bazel deleted file mode 100644 index b3222f2a6588..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.59.0.bazel +++ /dev/null @@ -1,109 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "windows_sys", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "Win32", - "Win32_Foundation", - "Win32_System", - "Win32_System_Com", - "Win32_UI", - "Win32_UI_Shell", - "default", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=windows-sys", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.59.0", - deps = [ - "@vendor_ts__windows-targets-0.52.6//:windows_targets", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.61.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.61.0.bazel index a6f072e5b2a9..320d971898d4 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.61.0.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.windows-sys-0.61.0.bazel @@ -43,11 +43,14 @@ rust_library( "Win32_Storage", "Win32_Storage_FileSystem", "Win32_System", + "Win32_System_Com", "Win32_System_Console", "Win32_System_IO", "Win32_System_Pipes", "Win32_System_SystemInformation", "Win32_System_Threading", + "Win32_UI", + "Win32_UI_Shell", "default", ], crate_root = "src/lib.rs", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-0.7.13.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-0.7.13.bazel deleted file mode 100644 index 997a4bf65d4d..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-0.7.13.bazel +++ /dev/null @@ -1,102 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "winnow", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "alloc", - "default", - "std", - ], - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=winnow", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.7.13", -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-0.7.15.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-0.7.15.bazel new file mode 100644 index 000000000000..156ad002d937 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-0.7.15.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "winnow", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winnow", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.7.15", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-1.0.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-1.0.1.bazel new file mode 100644 index 000000000000..e18bf009650b --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.winnow-1.0.1.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "winnow", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=winnow", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.0.1", +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_properties_data-2.0.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-0.51.0.bazel similarity index 94% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_properties_data-2.0.1.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-0.51.0.bazel index e7aa78908e36..17e24365c6b1 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.icu_properties_data-2.0.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-0.51.0.bazel @@ -21,7 +21,7 @@ cargo_toml_env_vars( ) rust_library( - name = "icu_properties_data", + name = "wit_bindgen", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -39,7 +39,7 @@ rust_library( ], ), crate_root = "src/lib.rs", - edition = "2021", + edition = "2024", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -48,7 +48,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=icu_properties_data", + "crate-name=wit-bindgen", "manual", "noclippy", "norustfmt", @@ -97,9 +97,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "2.0.1", + version = "0.51.0", deps = [ - "@vendor_ts__icu_properties_data-2.0.1//:build_script_build", + "@vendor_ts__wit-bindgen-0.51.0//:build_script_build", ], ) @@ -136,8 +136,8 @@ cargo_build_script( "WORKSPACE.bazel", ], ), - edition = "2021", - pkg_name = "icu_properties_data", + edition = "2024", + pkg_name = "wit-bindgen", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -146,12 +146,12 @@ cargo_build_script( ], tags = [ "cargo-bazel", - "crate-name=icu_properties_data", + "crate-name=wit-bindgen", "manual", "noclippy", "norustfmt", ], - version = "2.0.1", + version = "0.51.0", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-core-0.51.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-core-0.51.0.bazel new file mode 100644 index 000000000000..5d5f5e2dfd8e --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-core-0.51.0.bazel @@ -0,0 +1,102 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "wit_bindgen_core", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wit-bindgen-core", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.51.0", + deps = [ + "@vendor_ts__anyhow-1.0.102//:anyhow", + "@vendor_ts__heck-0.5.0//:heck", + "@vendor_ts__wit-parser-0.244.0//:wit_parser", + ], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-rust-0.51.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-rust-0.51.0.bazel new file mode 100644 index 000000000000..b2266ab0a05d --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-rust-0.51.0.bazel @@ -0,0 +1,173 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load( + "@rules_rust//cargo:defs.bzl", + "cargo_build_script", + "cargo_toml_env_vars", +) +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "wit_bindgen_rust", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wit-bindgen-rust", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.51.0", + deps = [ + "@vendor_ts__anyhow-1.0.102//:anyhow", + "@vendor_ts__heck-0.5.0//:heck", + "@vendor_ts__indexmap-2.14.0//:indexmap", + "@vendor_ts__prettyplease-0.2.37//:prettyplease", + "@vendor_ts__syn-2.0.117//:syn", + "@vendor_ts__wasm-metadata-0.244.0//:wasm_metadata", + "@vendor_ts__wit-bindgen-core-0.51.0//:wit_bindgen_core", + "@vendor_ts__wit-bindgen-rust-0.51.0//:build_script_build", + "@vendor_ts__wit-component-0.244.0//:wit_component", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2024", + link_deps = [ + "@vendor_ts__prettyplease-0.2.37//:prettyplease", + ], + pkg_name = "wit-bindgen-rust", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wit-bindgen-rust", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.51.0", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-rust-macro-0.51.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-rust-macro-0.51.0.bazel new file mode 100644 index 000000000000..8372f1162962 --- /dev/null +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-bindgen-rust-macro-0.51.0.bazel @@ -0,0 +1,172 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors +############################################################################### + +load( + "@rules_rust//cargo:defs.bzl", + "cargo_build_script", + "cargo_toml_env_vars", +) +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_proc_macro( + name = "wit_bindgen_rust_macro", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2024", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wit-bindgen-rust-macro", + "manual", + "noclippy", + "norustfmt", + ], + target_compatible_with = select({ + "@rules_rust//rust/platform:aarch64-apple-darwin": [], + "@rules_rust//rust/platform:aarch64-apple-ios": [], + "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], + "@rules_rust//rust/platform:aarch64-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], + "@rules_rust//rust/platform:armv7-linux-androideabi": [], + "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], + "@rules_rust//rust/platform:i686-apple-darwin": [], + "@rules_rust//rust/platform:i686-linux-android": [], + "@rules_rust//rust/platform:i686-pc-windows-msvc": [], + "@rules_rust//rust/platform:i686-unknown-freebsd": [], + "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], + "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], + "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], + "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], + "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], + "@rules_rust//rust/platform:thumbv7em-none-eabi": [], + "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], + "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], + "@rules_rust//rust/platform:wasm32-unknown-unknown": [], + "@rules_rust//rust/platform:wasm32-wasip1": [], + "@rules_rust//rust/platform:wasm32-wasip1-threads": [], + "@rules_rust//rust/platform:wasm32-wasip2": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@rules_rust//rust/platform:x86_64-linux-android": [], + "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], + "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], + "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.51.0", + deps = [ + "@vendor_ts__anyhow-1.0.102//:anyhow", + "@vendor_ts__prettyplease-0.2.37//:prettyplease", + "@vendor_ts__proc-macro2-1.0.106//:proc_macro2", + "@vendor_ts__quote-1.0.45//:quote", + "@vendor_ts__syn-2.0.117//:syn", + "@vendor_ts__wit-bindgen-core-0.51.0//:wit_bindgen_core", + "@vendor_ts__wit-bindgen-rust-0.51.0//:wit_bindgen_rust", + "@vendor_ts__wit-bindgen-rust-macro-0.51.0//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2024", + link_deps = [ + "@vendor_ts__prettyplease-0.2.37//:prettyplease", + ], + pkg_name = "wit-bindgen-rust-macro", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=wit-bindgen-rust-macro", + "manual", + "noclippy", + "norustfmt", + ], + version = "0.51.0", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_spanned-0.6.9.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-component-0.244.0.bazel similarity index 86% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_spanned-0.6.9.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-component-0.244.0.bazel index c5d9c5336e6a..a6a60adbac3d 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_spanned-0.6.9.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-component-0.244.0.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_library( - name = "serde_spanned", + name = "wit_component", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -34,11 +34,11 @@ rust_library( "WORKSPACE.bazel", ], ), - crate_features = [ - "serde", - ], crate_root = "src/lib.rs", edition = "2021", + proc_macro_deps = [ + "@vendor_ts__serde_derive-1.0.228//:serde_derive", + ], rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -47,7 +47,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=serde_spanned", + "crate-name=wit-component", "manual", "noclippy", "norustfmt", @@ -96,8 +96,17 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.6.9", + version = "0.244.0", deps = [ + "@vendor_ts__anyhow-1.0.102//:anyhow", + "@vendor_ts__bitflags-2.11.1//:bitflags", + "@vendor_ts__indexmap-2.14.0//:indexmap", + "@vendor_ts__log-0.4.29//:log", "@vendor_ts__serde-1.0.228//:serde", + "@vendor_ts__serde_json-1.0.149//:serde_json", + "@vendor_ts__wasm-encoder-0.244.0//:wasm_encoder", + "@vendor_ts__wasm-metadata-0.244.0//:wasm_metadata", + "@vendor_ts__wasmparser-0.244.0//:wasmparser", + "@vendor_ts__wit-parser-0.244.0//:wit_parser", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-util-schemas-0.8.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-parser-0.244.0.bazel similarity index 86% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-util-schemas-0.8.2.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-parser-0.244.0.bazel index 802e8d678083..a4795bc61642 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo-util-schemas-0.8.2.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.wit-parser-0.244.0.bazel @@ -17,7 +17,7 @@ cargo_toml_env_vars( ) rust_library( - name = "cargo_util_schemas", + name = "wit_parser", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -34,8 +34,17 @@ rust_library( "WORKSPACE.bazel", ], ), + crate_features = [ + "decoding", + "default", + "serde", + "serde_json", + ], crate_root = "src/lib.rs", edition = "2021", + proc_macro_deps = [ + "@vendor_ts__serde_derive-1.0.228//:serde_derive", + ], rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -44,7 +53,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=cargo-util-schemas", + "crate-name=wit-parser", "manual", "noclippy", "norustfmt", @@ -93,15 +102,16 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.8.2", + version = "0.244.0", deps = [ - "@vendor_ts__semver-1.0.26//:semver", + "@vendor_ts__anyhow-1.0.102//:anyhow", + "@vendor_ts__id-arena-2.3.0//:id_arena", + "@vendor_ts__indexmap-2.14.0//:indexmap", + "@vendor_ts__log-0.4.29//:log", + "@vendor_ts__semver-1.0.28//:semver", "@vendor_ts__serde-1.0.228//:serde", - "@vendor_ts__serde-untagged-0.1.8//:serde_untagged", - "@vendor_ts__serde-value-0.7.0//:serde_value", - "@vendor_ts__thiserror-2.0.16//:thiserror", - "@vendor_ts__toml-0.8.23//:toml", + "@vendor_ts__serde_json-1.0.149//:serde_json", "@vendor_ts__unicode-xid-0.2.6//:unicode_xid", - "@vendor_ts__url-2.5.7//:url", + "@vendor_ts__wasmparser-0.244.0//:wasmparser", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.yoke-0.8.0.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.yoke-0.8.0.bazel deleted file mode 100644 index ecef8b52a73d..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.yoke-0.8.0.bazel +++ /dev/null @@ -1,109 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "yoke", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "alloc", - "derive", - "zerofrom", - ], - crate_root = "src/lib.rs", - edition = "2021", - proc_macro_deps = [ - "@vendor_ts__yoke-derive-0.8.0//:yoke_derive", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=yoke", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.8.0", - deps = [ - "@vendor_ts__stable_deref_trait-1.2.0//:stable_deref_trait", - "@vendor_ts__zerofrom-0.1.6//:zerofrom", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-derive-0.8.27.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-derive-0.8.27.bazel deleted file mode 100644 index 11df1449c962..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerocopy-derive-0.8.27.bazel +++ /dev/null @@ -1,102 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_proc_macro") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_proc_macro( - name = "zerocopy_derive", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=zerocopy-derive", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.8.27", - deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerofrom-0.1.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerofrom-0.1.6.bazel deleted file mode 100644 index fbb85d748c8f..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerofrom-0.1.6.bazel +++ /dev/null @@ -1,104 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "zerofrom", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "alloc", - "derive", - ], - crate_root = "src/lib.rs", - edition = "2021", - proc_macro_deps = [ - "@vendor_ts__zerofrom-derive-0.1.6//:zerofrom_derive", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=zerofrom", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.1.6", -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerofrom-derive-0.1.6.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerofrom-derive-0.1.6.bazel deleted file mode 100644 index ff9c1ef21429..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerofrom-derive-0.1.6.bazel +++ /dev/null @@ -1,103 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_proc_macro") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_proc_macro( - name = "zerofrom_derive", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=zerofrom-derive", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.1.6", - deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", - "@vendor_ts__synstructure-0.13.2//:synstructure", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerotrie-0.2.2.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerotrie-0.2.2.bazel deleted file mode 100644 index 1bcd44131b7e..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerotrie-0.2.2.bazel +++ /dev/null @@ -1,108 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "zerotrie", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "yoke", - "zerofrom", - ], - crate_root = "src/lib.rs", - edition = "2021", - proc_macro_deps = [ - "@vendor_ts__displaydoc-0.2.5//:displaydoc", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=zerotrie", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.2.2", - deps = [ - "@vendor_ts__yoke-0.8.0//:yoke", - "@vendor_ts__zerofrom-0.1.6//:zerofrom", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerovec-0.11.4.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerovec-0.11.4.bazel deleted file mode 100644 index a8fe8f8c7e9e..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerovec-0.11.4.bazel +++ /dev/null @@ -1,109 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_library") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_library( - name = "zerovec", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_features = [ - "alloc", - "derive", - "yoke", - ], - crate_root = "src/lib.rs", - edition = "2021", - proc_macro_deps = [ - "@vendor_ts__zerovec-derive-0.11.1//:zerovec_derive", - ], - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=zerovec", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.11.4", - deps = [ - "@vendor_ts__yoke-0.8.0//:yoke", - "@vendor_ts__zerofrom-0.1.6//:zerofrom", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerovec-derive-0.11.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerovec-derive-0.11.1.bazel deleted file mode 100644 index ace3c224c5df..000000000000 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zerovec-derive-0.11.1.bazel +++ /dev/null @@ -1,102 +0,0 @@ -############################################################################### -# @generated -# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To -# regenerate this file, run the following: -# -# bazel run @@//misc/bazel/3rdparty:vendor_tree_sitter_extractors -############################################################################### - -load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") -load("@rules_rust//rust:defs.bzl", "rust_proc_macro") - -package(default_visibility = ["//visibility:public"]) - -cargo_toml_env_vars( - name = "cargo_toml_env_vars", - src = "Cargo.toml", -) - -rust_proc_macro( - name = "zerovec_derive", - srcs = glob( - include = ["**/*.rs"], - allow_empty = True, - ), - compile_data = glob( - include = ["**"], - allow_empty = True, - exclude = [ - "**/* *", - ".tmp_git_root/**/*", - "BUILD", - "BUILD.bazel", - "WORKSPACE", - "WORKSPACE.bazel", - ], - ), - crate_root = "src/lib.rs", - edition = "2021", - rustc_env_files = [ - ":cargo_toml_env_vars", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-bazel", - "crate-name=zerovec-derive", - "manual", - "noclippy", - "norustfmt", - ], - target_compatible_with = select({ - "@rules_rust//rust/platform:aarch64-apple-darwin": [], - "@rules_rust//rust/platform:aarch64-apple-ios": [], - "@rules_rust//rust/platform:aarch64-apple-ios-sim": [], - "@rules_rust//rust/platform:aarch64-linux-android": [], - "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], - "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], - "@rules_rust//rust/platform:aarch64-unknown-uefi": [], - "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:arm-unknown-linux-musleabi": [], - "@rules_rust//rust/platform:armv7-linux-androideabi": [], - "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [], - "@rules_rust//rust/platform:i686-apple-darwin": [], - "@rules_rust//rust/platform:i686-linux-android": [], - "@rules_rust//rust/platform:i686-pc-windows-msvc": [], - "@rules_rust//rust/platform:i686-unknown-freebsd": [], - "@rules_rust//rust/platform:i686-unknown-linux-gnu": [], - "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [], - "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu": [], - "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [], - "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [], - "@rules_rust//rust/platform:thumbv7em-none-eabi": [], - "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [], - "@rules_rust//rust/platform:wasm32-unknown-emscripten": [], - "@rules_rust//rust/platform:wasm32-unknown-unknown": [], - "@rules_rust//rust/platform:wasm32-wasip1": [], - "@rules_rust//rust/platform:wasm32-wasip1-threads": [], - "@rules_rust//rust/platform:wasm32-wasip2": [], - "@rules_rust//rust/platform:x86_64-apple-darwin": [], - "@rules_rust//rust/platform:x86_64-apple-ios": [], - "@rules_rust//rust/platform:x86_64-linux-android": [], - "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [], - "@rules_rust//rust/platform:x86_64-unknown-freebsd": [], - "@rules_rust//rust/platform:x86_64-unknown-fuchsia": [], - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], - "@rules_rust//rust/platform:x86_64-unknown-none": [], - "@rules_rust//rust/platform:x86_64-unknown-uefi": [], - "//conditions:default": ["@platforms//:incompatible"], - }), - version = "0.11.1", - deps = [ - "@vendor_ts__proc-macro2-1.0.101//:proc_macro2", - "@vendor_ts__quote-1.0.41//:quote", - "@vendor_ts__syn-2.0.106//:syn", - ], -) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.typeid-1.0.3.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zmij-1.0.21.bazel similarity index 95% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.typeid-1.0.3.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zmij-1.0.21.bazel index 0e5737ac61b9..be61c1bfb32c 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.typeid-1.0.3.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zmij-1.0.21.bazel @@ -21,7 +21,7 @@ cargo_toml_env_vars( ) rust_library( - name = "typeid", + name = "zmij", srcs = glob( include = ["**/*.rs"], allow_empty = True, @@ -39,7 +39,7 @@ rust_library( ], ), crate_root = "src/lib.rs", - edition = "2018", + edition = "2021", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -48,7 +48,7 @@ rust_library( ], tags = [ "cargo-bazel", - "crate-name=typeid", + "crate-name=zmij", "manual", "noclippy", "norustfmt", @@ -97,9 +97,9 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.3", + version = "1.0.21", deps = [ - "@vendor_ts__typeid-1.0.3//:build_script_build", + "@vendor_ts__zmij-1.0.21//:build_script_build", ], ) @@ -136,8 +136,8 @@ cargo_build_script( "WORKSPACE.bazel", ], ), - edition = "2018", - pkg_name = "typeid", + edition = "2021", + pkg_name = "zmij", rustc_env_files = [ ":cargo_toml_env_vars", ], @@ -146,12 +146,12 @@ cargo_build_script( ], tags = [ "cargo-bazel", - "crate-name=typeid", + "crate-name=zmij", "manual", "noclippy", "norustfmt", ], - version = "1.0.3", + version = "1.0.21", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zstd-sys-2.0.16+zstd.1.5.7.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zstd-sys-2.0.16+zstd.1.5.7.bazel index 32a06f947886..e3d0552cb978 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zstd-sys-2.0.16+zstd.1.5.7.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.zstd-sys-2.0.16+zstd.1.5.7.bazel @@ -165,7 +165,7 @@ cargo_build_script( version = "2.0.16+zstd.1.5.7", visibility = ["//visibility:private"], deps = [ - "@vendor_ts__cc-1.2.37//:cc", + "@vendor_ts__cc-1.2.60//:cc", "@vendor_ts__pkg-config-0.3.32//:pkg_config", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl index bf11bc6c82fa..2d7841c35661 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl @@ -295,14 +295,14 @@ def aliases( _NORMAL_DEPENDENCIES = { "ruby/extractor": { _COMMON_CONDITION: { - "clap": Label("@vendor_ts__clap-4.5.48//:clap"), + "clap": Label("@vendor_ts__clap-4.6.0//:clap"), "encoding": Label("@vendor_ts__encoding-0.2.33//:encoding"), "lazy_static": Label("@vendor_ts__lazy_static-1.5.0//:lazy_static"), - "rayon": Label("@vendor_ts__rayon-1.11.0//:rayon"), - "regex": Label("@vendor_ts__regex-1.11.3//:regex"), - "serde_json": Label("@vendor_ts__serde_json-1.0.145//:serde_json"), - "tracing": Label("@vendor_ts__tracing-0.1.41//:tracing"), - "tracing-subscriber": Label("@vendor_ts__tracing-subscriber-0.3.20//:tracing_subscriber"), + "rayon": Label("@vendor_ts__rayon-1.12.0//:rayon"), + "regex": Label("@vendor_ts__regex-1.12.3//:regex"), + "serde_json": Label("@vendor_ts__serde_json-1.0.149//:serde_json"), + "tracing": Label("@vendor_ts__tracing-0.1.44//:tracing"), + "tracing-subscriber": Label("@vendor_ts__tracing-subscriber-0.3.23//:tracing_subscriber"), "tree-sitter": Label("@vendor_ts__tree-sitter-0.25.9//:tree_sitter"), "tree-sitter-embedded-template": Label("@vendor_ts__tree-sitter-embedded-template-0.25.0//:tree_sitter_embedded_template"), "tree-sitter-ruby": Label("@vendor_ts__tree-sitter-ruby-0.23.1//:tree_sitter_ruby"), @@ -310,14 +310,14 @@ _NORMAL_DEPENDENCIES = { }, "rust/ast-generator": { _COMMON_CONDITION: { - "anyhow": Label("@vendor_ts__anyhow-1.0.100//:anyhow"), + "anyhow": Label("@vendor_ts__anyhow-1.0.102//:anyhow"), "either": Label("@vendor_ts__either-1.15.0//:either"), "itertools": Label("@vendor_ts__itertools-0.14.0//:itertools"), "mustache": Label("@vendor_ts__mustache-0.9.0//:mustache"), - "proc-macro2": Label("@vendor_ts__proc-macro2-1.0.101//:proc_macro2"), - "quote": Label("@vendor_ts__quote-1.0.41//:quote"), + "proc-macro2": Label("@vendor_ts__proc-macro2-1.0.106//:proc_macro2"), + "quote": Label("@vendor_ts__quote-1.0.45//:quote"), "serde": Label("@vendor_ts__serde-1.0.228//:serde"), - "stdx": Label("@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx"), + "stdx": Label("@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx"), "ungrammar": Label("@vendor_ts__ungrammar-1.16.1//:ungrammar"), }, }, @@ -325,62 +325,62 @@ _NORMAL_DEPENDENCIES = { }, "rust/extractor": { _COMMON_CONDITION: { - "anyhow": Label("@vendor_ts__anyhow-1.0.100//:anyhow"), - "argfile": Label("@vendor_ts__argfile-0.2.1//:argfile"), + "anyhow": Label("@vendor_ts__anyhow-1.0.102//:anyhow"), + "argfile": Label("@vendor_ts__argfile-1.0.0//:argfile"), "chalk-ir": Label("@vendor_ts__chalk-ir-0.104.0//:chalk_ir"), - "chrono": Label("@vendor_ts__chrono-0.4.42//:chrono"), - "clap": Label("@vendor_ts__clap-4.5.48//:clap"), + "chrono": Label("@vendor_ts__chrono-0.4.44//:chrono"), + "clap": Label("@vendor_ts__clap-4.6.0//:clap"), "dunce": Label("@vendor_ts__dunce-1.0.5//:dunce"), "figment": Label("@vendor_ts__figment-0.10.19//:figment"), "glob": Label("@vendor_ts__glob-0.3.3//:glob"), "itertools": Label("@vendor_ts__itertools-0.14.0//:itertools"), "mustache": Label("@vendor_ts__mustache-0.9.0//:mustache"), "num-traits": Label("@vendor_ts__num-traits-0.2.19//:num_traits"), - "ra_ap_base_db": Label("@vendor_ts__ra_ap_base_db-0.0.301//:ra_ap_base_db"), - "ra_ap_cfg": Label("@vendor_ts__ra_ap_cfg-0.0.301//:ra_ap_cfg"), - "ra_ap_hir": Label("@vendor_ts__ra_ap_hir-0.0.301//:ra_ap_hir"), - "ra_ap_hir_def": Label("@vendor_ts__ra_ap_hir_def-0.0.301//:ra_ap_hir_def"), - "ra_ap_hir_expand": Label("@vendor_ts__ra_ap_hir_expand-0.0.301//:ra_ap_hir_expand"), - "ra_ap_hir_ty": Label("@vendor_ts__ra_ap_hir_ty-0.0.301//:ra_ap_hir_ty"), - "ra_ap_ide_db": Label("@vendor_ts__ra_ap_ide_db-0.0.301//:ra_ap_ide_db"), - "ra_ap_intern": Label("@vendor_ts__ra_ap_intern-0.0.301//:ra_ap_intern"), - "ra_ap_load-cargo": Label("@vendor_ts__ra_ap_load-cargo-0.0.301//:ra_ap_load_cargo"), - "ra_ap_parser": Label("@vendor_ts__ra_ap_parser-0.0.301//:ra_ap_parser"), - "ra_ap_paths": Label("@vendor_ts__ra_ap_paths-0.0.301//:ra_ap_paths"), - "ra_ap_project_model": Label("@vendor_ts__ra_ap_project_model-0.0.301//:ra_ap_project_model"), - "ra_ap_span": Label("@vendor_ts__ra_ap_span-0.0.301//:ra_ap_span"), - "ra_ap_syntax": Label("@vendor_ts__ra_ap_syntax-0.0.301//:ra_ap_syntax"), - "ra_ap_vfs": Label("@vendor_ts__ra_ap_vfs-0.0.301//:ra_ap_vfs"), + "ra_ap_base_db": Label("@vendor_ts__ra_ap_base_db-0.0.328//:ra_ap_base_db"), + "ra_ap_cfg": Label("@vendor_ts__ra_ap_cfg-0.0.328//:ra_ap_cfg"), + "ra_ap_hir": Label("@vendor_ts__ra_ap_hir-0.0.328//:ra_ap_hir"), + "ra_ap_hir_def": Label("@vendor_ts__ra_ap_hir_def-0.0.328//:ra_ap_hir_def"), + "ra_ap_hir_expand": Label("@vendor_ts__ra_ap_hir_expand-0.0.328//:ra_ap_hir_expand"), + "ra_ap_hir_ty": Label("@vendor_ts__ra_ap_hir_ty-0.0.328//:ra_ap_hir_ty"), + "ra_ap_ide_db": Label("@vendor_ts__ra_ap_ide_db-0.0.328//:ra_ap_ide_db"), + "ra_ap_intern": Label("@vendor_ts__ra_ap_intern-0.0.328//:ra_ap_intern"), + "ra_ap_load-cargo": Label("@vendor_ts__ra_ap_load-cargo-0.0.328//:ra_ap_load_cargo"), + "ra_ap_parser": Label("@vendor_ts__ra_ap_parser-0.0.328//:ra_ap_parser"), + "ra_ap_paths": Label("@vendor_ts__ra_ap_paths-0.0.328//:ra_ap_paths"), + "ra_ap_project_model": Label("@vendor_ts__ra_ap_project_model-0.0.328//:ra_ap_project_model"), + "ra_ap_span": Label("@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span"), + "ra_ap_syntax": Label("@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax"), + "ra_ap_vfs": Label("@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs"), "serde": Label("@vendor_ts__serde-1.0.228//:serde"), - "serde_json": Label("@vendor_ts__serde_json-1.0.145//:serde_json"), - "serde_with": Label("@vendor_ts__serde_with-3.14.1//:serde_with"), - "toml": Label("@vendor_ts__toml-0.9.7//:toml"), - "tracing": Label("@vendor_ts__tracing-0.1.41//:tracing"), + "serde_json": Label("@vendor_ts__serde_json-1.0.149//:serde_json"), + "serde_with": Label("@vendor_ts__serde_with-3.18.0//:serde_with"), + "toml": Label("@vendor_ts__toml-1.1.2-spec-1.1.0//:toml"), + "tracing": Label("@vendor_ts__tracing-0.1.44//:tracing"), "tracing-flame": Label("@vendor_ts__tracing-flame-0.2.0//:tracing_flame"), - "tracing-subscriber": Label("@vendor_ts__tracing-subscriber-0.3.20//:tracing_subscriber"), - "triomphe": Label("@vendor_ts__triomphe-0.1.14//:triomphe"), + "tracing-subscriber": Label("@vendor_ts__tracing-subscriber-0.3.23//:tracing_subscriber"), + "triomphe": Label("@vendor_ts__triomphe-0.1.15//:triomphe"), }, }, "rust/extractor/macros": { _COMMON_CONDITION: { - "quote": Label("@vendor_ts__quote-1.0.41//:quote"), - "syn": Label("@vendor_ts__syn-2.0.106//:syn"), + "quote": Label("@vendor_ts__quote-1.0.45//:quote"), + "syn": Label("@vendor_ts__syn-2.0.117//:syn"), }, }, "shared/tree-sitter-extractor": { _COMMON_CONDITION: { - "chrono": Label("@vendor_ts__chrono-0.4.42//:chrono"), + "chrono": Label("@vendor_ts__chrono-0.4.44//:chrono"), "encoding": Label("@vendor_ts__encoding-0.2.33//:encoding"), "flate2": Label("@vendor_ts__flate2-1.1.2//:flate2"), "globset": Label("@vendor_ts__globset-0.4.16//:globset"), "lazy_static": Label("@vendor_ts__lazy_static-1.5.0//:lazy_static"), "num_cpus": Label("@vendor_ts__num_cpus-1.17.0//:num_cpus"), - "rayon": Label("@vendor_ts__rayon-1.11.0//:rayon"), - "regex": Label("@vendor_ts__regex-1.11.3//:regex"), + "rayon": Label("@vendor_ts__rayon-1.12.0//:rayon"), + "regex": Label("@vendor_ts__regex-1.12.3//:regex"), "serde": Label("@vendor_ts__serde-1.0.228//:serde"), - "serde_json": Label("@vendor_ts__serde_json-1.0.145//:serde_json"), - "tracing": Label("@vendor_ts__tracing-0.1.41//:tracing"), - "tracing-subscriber": Label("@vendor_ts__tracing-subscriber-0.3.20//:tracing_subscriber"), + "serde_json": Label("@vendor_ts__serde_json-1.0.149//:serde_json"), + "tracing": Label("@vendor_ts__tracing-0.1.44//:tracing"), + "tracing-subscriber": Label("@vendor_ts__tracing-subscriber-0.3.23//:tracing_subscriber"), "tree-sitter": Label("@vendor_ts__tree-sitter-0.25.9//:tree_sitter"), "zstd": Label("@vendor_ts__zstd-0.13.3//:zstd"), }, @@ -394,7 +394,7 @@ _NORMAL_ALIASES = { }, "rust/ast-generator": { _COMMON_CONDITION: { - Label("@vendor_ts__ra_ap_stdx-0.0.301//:ra_ap_stdx"): "stdx", + Label("@vendor_ts__ra_ap_stdx-0.0.328//:ra_ap_stdx"): "stdx", }, }, "rust/autobuild": { @@ -426,7 +426,7 @@ _NORMAL_DEV_DEPENDENCIES = { }, "shared/tree-sitter-extractor": { _COMMON_CONDITION: { - "rand": Label("@vendor_ts__rand-0.9.2//:rand"), + "rand": Label("@vendor_ts__rand-0.10.1//:rand"), "tree-sitter-json": Label("@vendor_ts__tree-sitter-json-0.24.8//:tree_sitter_json"), "tree-sitter-ql": Label("@vendor_ts__tree-sitter-ql-0.23.1//:tree_sitter_ql"), }, @@ -591,23 +591,33 @@ _CONDITIONS = { "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"], "cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:arm-unknown-linux-musleabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"], + "cfg(all(target_arch = \"aarch64\", target_os = \"android\"))": ["@rules_rust//rust/platform:aarch64-linux-android"], + "cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"], + "cfg(all(target_arch = \"aarch64\", target_vendor = \"apple\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim"], + "cfg(all(target_arch = \"loongarch64\", target_os = \"linux\"))": [], "cfg(all(target_arch = \"wasm32\", target_os = \"unknown\"))": ["@rules_rust//rust/platform:wasm32-unknown-unknown"], "cfg(all(target_arch = \"wasm32\", target_os = \"wasi\", target_env = \"p2\"))": ["@rules_rust//rust/platform:wasm32-wasip2"], + "cfg(all(target_arch = \"wasm32\", target_os = \"wasi\", target_env = \"p3\"))": [], "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"], "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-pc-windows-msvc"], "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], - "cfg(all(target_os = \"linux\", not(target_env = \"ohos\")))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:arm-unknown-linux-musleabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "cfg(all(target_os = \"linux\", not(target_env = \"ohos\"), any(target_arch = \"x86\", target_arch = \"x86_64\", target_arch = \"aarch64\")))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], "cfg(all(target_os = \"linux\", target_env = \"gnu\"))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], "cfg(all(target_os = \"uefi\", getrandom_backend = \"efi_rng\"))": [], "cfg(any())": [], + "cfg(any(target_arch = \"x86_64\", target_arch = \"x86\"))": ["@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-fuchsia", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none", "@rules_rust//rust/platform:x86_64-unknown-uefi"], "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"hurd\", target_os = \"illumos\", target_os = \"cygwin\", all(target_os = \"horizon\", target_arch = \"arm\")))": ["@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-freebsd"], "cfg(any(target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonflybsd\", target_os = \"ios\"))": ["@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-unknown-freebsd"], "cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))": ["@rules_rust//rust/platform:aarch64-unknown-nto-qnx710"], "cfg(any(target_os = \"ios\", target_os = \"visionos\", target_os = \"watchos\", target_os = \"tvos\"))": ["@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:x86_64-apple-ios"], "cfg(any(target_os = \"linux\", target_os = \"android\"))": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:arm-unknown-linux-musleabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], + "cfg(any(target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-unknown-freebsd"], "cfg(any(target_os = \"macos\", target_os = \"openbsd\", target_os = \"vita\", target_os = \"emscripten\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:wasm32-unknown-emscripten", "@rules_rust//rust/platform:x86_64-apple-darwin"], "cfg(any(target_pointer_width = \"8\", target_pointer_width = \"16\", target_pointer_width = \"32\"))": ["@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:arm-unknown-linux-musleabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-emscripten", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasip1", "@rules_rust//rust/platform:wasm32-wasip1-threads", "@rules_rust//rust/platform:wasm32-wasip2"], + "cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-fuchsia", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:arm-unknown-linux-musleabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:wasm32-unknown-emscripten", "@rules_rust//rust/platform:wasm32-wasip1", "@rules_rust//rust/platform:wasm32-wasip1-threads", "@rules_rust//rust/platform:wasm32-wasip2", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-fuchsia", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], "cfg(not(windows))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-fuchsia", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:aarch64-unknown-uefi", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:arm-unknown-linux-musleabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-emscripten", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasip1", "@rules_rust//rust/platform:wasm32-wasip1-threads", "@rules_rust//rust/platform:wasm32-wasip2", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-fuchsia", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none", "@rules_rust//rust/platform:x86_64-unknown-uefi"], + "cfg(target_arch = \"x86_64\")": ["@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-fuchsia", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none", "@rules_rust//rust/platform:x86_64-unknown-uefi"], + "cfg(target_family = \"wasm\")": ["@rules_rust//rust/platform:wasm32-unknown-emscripten", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasip1", "@rules_rust//rust/platform:wasm32-wasip1-threads", "@rules_rust//rust/platform:wasm32-wasip2"], "cfg(target_os = \"android\")": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:x86_64-linux-android"], "cfg(target_os = \"haiku\")": [], "cfg(target_os = \"hermit\")": [], @@ -629,6 +639,7 @@ _CONDITIONS = { "i686-unknown-freebsd": ["@rules_rust//rust/platform:i686-unknown-freebsd"], "i686-unknown-linux-gnu": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"], "powerpc-unknown-linux-gnu": ["@rules_rust//rust/platform:powerpc-unknown-linux-gnu"], + "riscv32i-unknown-none-elf": [], "riscv32imc-unknown-none-elf": ["@rules_rust//rust/platform:riscv32imc-unknown-none-elf"], "riscv64gc-unknown-linux-gnu": ["@rules_rust//rust/platform:riscv64gc-unknown-linux-gnu"], "riscv64gc-unknown-none-elf": ["@rules_rust//rust/platform:riscv64gc-unknown-none-elf"], @@ -651,6 +662,7 @@ _CONDITIONS = { "x86_64-unknown-nixos-gnu": ["@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"], "x86_64-unknown-none": ["@rules_rust//rust/platform:x86_64-unknown-none"], "x86_64-unknown-uefi": ["@rules_rust//rust/platform:x86_64-unknown-uefi"], + "xtensa-esp32s2-none-elf": [], } ############################################################################### @@ -673,12 +685,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__aho-corasick-1.1.3", - sha256 = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916", + name = "vendor_ts__aho-corasick-1.1.4", + sha256 = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301", type = "tar.gz", - urls = ["https://static.crates.io/crates/aho-corasick/1.1.3/download"], - strip_prefix = "aho-corasick-1.1.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.aho-corasick-1.1.3.bazel"), + urls = ["https://static.crates.io/crates/aho-corasick/1.1.4/download"], + strip_prefix = "aho-corasick-1.1.4", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.aho-corasick-1.1.4.bazel"), ) maybe( @@ -703,42 +715,42 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__anstream-0.6.20", - sha256 = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192", + name = "vendor_ts__anstream-1.0.0", + sha256 = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d", type = "tar.gz", - urls = ["https://static.crates.io/crates/anstream/0.6.20/download"], - strip_prefix = "anstream-0.6.20", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstream-0.6.20.bazel"), + urls = ["https://static.crates.io/crates/anstream/1.0.0/download"], + strip_prefix = "anstream-1.0.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstream-1.0.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__anstyle-1.0.11", - sha256 = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd", + name = "vendor_ts__anstyle-1.0.14", + sha256 = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000", type = "tar.gz", - urls = ["https://static.crates.io/crates/anstyle/1.0.11/download"], - strip_prefix = "anstyle-1.0.11", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstyle-1.0.11.bazel"), + urls = ["https://static.crates.io/crates/anstyle/1.0.14/download"], + strip_prefix = "anstyle-1.0.14", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstyle-1.0.14.bazel"), ) maybe( http_archive, - name = "vendor_ts__anstyle-parse-0.2.7", - sha256 = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2", + name = "vendor_ts__anstyle-parse-1.0.0", + sha256 = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e", type = "tar.gz", - urls = ["https://static.crates.io/crates/anstyle-parse/0.2.7/download"], - strip_prefix = "anstyle-parse-0.2.7", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstyle-parse-0.2.7.bazel"), + urls = ["https://static.crates.io/crates/anstyle-parse/1.0.0/download"], + strip_prefix = "anstyle-parse-1.0.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstyle-parse-1.0.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__anstyle-query-1.1.4", - sha256 = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2", + name = "vendor_ts__anstyle-query-1.1.5", + sha256 = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc", type = "tar.gz", - urls = ["https://static.crates.io/crates/anstyle-query/1.1.4/download"], - strip_prefix = "anstyle-query-1.1.4", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstyle-query-1.1.4.bazel"), + urls = ["https://static.crates.io/crates/anstyle-query/1.1.5/download"], + strip_prefix = "anstyle-query-1.1.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anstyle-query-1.1.5.bazel"), ) maybe( @@ -753,22 +765,22 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__anyhow-1.0.100", - sha256 = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61", + name = "vendor_ts__anyhow-1.0.102", + sha256 = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c", type = "tar.gz", - urls = ["https://static.crates.io/crates/anyhow/1.0.100/download"], - strip_prefix = "anyhow-1.0.100", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anyhow-1.0.100.bazel"), + urls = ["https://static.crates.io/crates/anyhow/1.0.102/download"], + strip_prefix = "anyhow-1.0.102", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.anyhow-1.0.102.bazel"), ) maybe( http_archive, - name = "vendor_ts__argfile-0.2.1", - sha256 = "0a1cc0ba69de57db40674c66f7cf2caee3981ddef084388482c95c0e2133e5e8", + name = "vendor_ts__argfile-1.0.0", + sha256 = "99489a733dea0d2930bfa59c243146a8513ce7b0991b9d006647687cc61f53e7", type = "tar.gz", - urls = ["https://static.crates.io/crates/argfile/0.2.1/download"], - strip_prefix = "argfile-0.2.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.argfile-0.2.1.bazel"), + urls = ["https://static.crates.io/crates/argfile/1.0.0/download"], + strip_prefix = "argfile-1.0.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.argfile-1.0.0.bazel"), ) maybe( @@ -791,6 +803,16 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.atomic-0.6.1.bazel"), ) + maybe( + http_archive, + name = "vendor_ts__atomic-polyfill-1.0.3", + sha256 = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4", + type = "tar.gz", + urls = ["https://static.crates.io/crates/atomic-polyfill/1.0.3/download"], + strip_prefix = "atomic-polyfill-1.0.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.atomic-polyfill-1.0.3.bazel"), + ) + maybe( http_archive, name = "vendor_ts__autocfg-1.5.0", @@ -823,22 +845,22 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__bitflags-2.9.4", - sha256 = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394", + name = "vendor_ts__bitflags-2.11.1", + sha256 = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3", type = "tar.gz", - urls = ["https://static.crates.io/crates/bitflags/2.9.4/download"], - strip_prefix = "bitflags-2.9.4", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.bitflags-2.9.4.bazel"), + urls = ["https://static.crates.io/crates/bitflags/2.11.1/download"], + strip_prefix = "bitflags-2.11.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.bitflags-2.11.1.bazel"), ) maybe( http_archive, - name = "vendor_ts__borsh-1.5.7", - sha256 = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce", + name = "vendor_ts__borsh-1.6.1", + sha256 = "cfd1e3f8955a5d7de9fab72fc8373fade9fb8a703968cb200ae3dc6cf08e185a", type = "tar.gz", - urls = ["https://static.crates.io/crates/borsh/1.5.7/download"], - strip_prefix = "borsh-1.5.7", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.borsh-1.5.7.bazel"), + urls = ["https://static.crates.io/crates/borsh/1.6.1/download"], + strip_prefix = "borsh-1.6.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.borsh-1.6.1.bazel"), ) maybe( @@ -883,62 +905,72 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__camino-1.1.12", - sha256 = "dd0b03af37dad7a14518b7691d81acb0f8222604ad3d1b02f6b4bed5188c0cd5", + name = "vendor_ts__byteorder-1.5.0", + sha256 = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/byteorder/1.5.0/download"], + strip_prefix = "byteorder-1.5.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.byteorder-1.5.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__bytes-1.11.1", + sha256 = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33", type = "tar.gz", - urls = ["https://static.crates.io/crates/camino/1.1.12/download"], - strip_prefix = "camino-1.1.12", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.camino-1.1.12.bazel"), + urls = ["https://static.crates.io/crates/bytes/1.11.1/download"], + strip_prefix = "bytes-1.11.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.bytes-1.11.1.bazel"), ) maybe( http_archive, - name = "vendor_ts__cargo-platform-0.2.0", - sha256 = "84982c6c0ae343635a3a4ee6dedef965513735c8b183caa7289fa6e27399ebd4", + name = "vendor_ts__camino-1.2.2", + sha256 = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48", type = "tar.gz", - urls = ["https://static.crates.io/crates/cargo-platform/0.2.0/download"], - strip_prefix = "cargo-platform-0.2.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cargo-platform-0.2.0.bazel"), + urls = ["https://static.crates.io/crates/camino/1.2.2/download"], + strip_prefix = "camino-1.2.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.camino-1.2.2.bazel"), ) maybe( http_archive, - name = "vendor_ts__cargo-util-schemas-0.8.2", - sha256 = "7dc1a6f7b5651af85774ae5a34b4e8be397d9cf4bc063b7e6dbd99a841837830", + name = "vendor_ts__cargo-platform-0.3.2", + sha256 = "87a0c0e6148f11f01f32650a2ea02d532b2ad4e81d8bd41e6e565b5adc5e6082", type = "tar.gz", - urls = ["https://static.crates.io/crates/cargo-util-schemas/0.8.2/download"], - strip_prefix = "cargo-util-schemas-0.8.2", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cargo-util-schemas-0.8.2.bazel"), + urls = ["https://static.crates.io/crates/cargo-platform/0.3.2/download"], + strip_prefix = "cargo-platform-0.3.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cargo-platform-0.3.2.bazel"), ) maybe( http_archive, - name = "vendor_ts__cargo_metadata-0.21.0", - sha256 = "5cfca2aaa699835ba88faf58a06342a314a950d2b9686165e038286c30316868", + name = "vendor_ts__cargo_metadata-0.23.1", + sha256 = "ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9", type = "tar.gz", - urls = ["https://static.crates.io/crates/cargo_metadata/0.21.0/download"], - strip_prefix = "cargo_metadata-0.21.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cargo_metadata-0.21.0.bazel"), + urls = ["https://static.crates.io/crates/cargo_metadata/0.23.1/download"], + strip_prefix = "cargo_metadata-0.23.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cargo_metadata-0.23.1.bazel"), ) maybe( http_archive, - name = "vendor_ts__cc-1.2.37", - sha256 = "65193589c6404eb80b450d618eaf9a2cafaaafd57ecce47370519ef674a7bd44", + name = "vendor_ts__cc-1.2.60", + sha256 = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20", type = "tar.gz", - urls = ["https://static.crates.io/crates/cc/1.2.37/download"], - strip_prefix = "cc-1.2.37", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cc-1.2.37.bazel"), + urls = ["https://static.crates.io/crates/cc/1.2.60/download"], + strip_prefix = "cc-1.2.60", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cc-1.2.60.bazel"), ) maybe( http_archive, - name = "vendor_ts__cfg-if-1.0.3", - sha256 = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9", + name = "vendor_ts__cfg-if-1.0.4", + sha256 = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801", type = "tar.gz", - urls = ["https://static.crates.io/crates/cfg-if/1.0.3/download"], - strip_prefix = "cfg-if-1.0.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cfg-if-1.0.3.bazel"), + urls = ["https://static.crates.io/crates/cfg-if/1.0.4/download"], + strip_prefix = "cfg-if-1.0.4", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cfg-if-1.0.4.bazel"), ) maybe( @@ -953,12 +985,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__chalk-derive-0.103.0", - sha256 = "eb4899682de915ca7c0b025bdd0a3d34c75fe12184122fda6805a7baddaa293c", + name = "vendor_ts__chacha20-0.10.0", + sha256 = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601", type = "tar.gz", - urls = ["https://static.crates.io/crates/chalk-derive/0.103.0/download"], - strip_prefix = "chalk-derive-0.103.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chalk-derive-0.103.0.bazel"), + urls = ["https://static.crates.io/crates/chacha20/0.10.0/download"], + strip_prefix = "chacha20-0.10.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chacha20-0.10.0.bazel"), ) maybe( @@ -971,16 +1003,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chalk-derive-0.104.0.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__chalk-ir-0.103.0", - sha256 = "90a37d2ab99352b4caca135061e7b4ac67024b648c28ed0b787feec4bea4caed", - type = "tar.gz", - urls = ["https://static.crates.io/crates/chalk-ir/0.103.0/download"], - strip_prefix = "chalk-ir-0.103.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chalk-ir-0.103.0.bazel"), - ) - maybe( http_archive, name = "vendor_ts__chalk-ir-0.104.0", @@ -993,82 +1015,72 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__chalk-recursive-0.103.0", - sha256 = "c855be60e646664bc37c2496d3dc81ca5ef60520930e5e0f0057a0575aff6c19", - type = "tar.gz", - urls = ["https://static.crates.io/crates/chalk-recursive/0.103.0/download"], - strip_prefix = "chalk-recursive-0.103.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chalk-recursive-0.103.0.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__chalk-solve-0.103.0", - sha256 = "477ac6cdfd2013e9f93b09b036c2b607a67b2e728f4777b8422d55a79e9e3a34", + name = "vendor_ts__chrono-0.4.44", + sha256 = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0", type = "tar.gz", - urls = ["https://static.crates.io/crates/chalk-solve/0.103.0/download"], - strip_prefix = "chalk-solve-0.103.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chalk-solve-0.103.0.bazel"), + urls = ["https://static.crates.io/crates/chrono/0.4.44/download"], + strip_prefix = "chrono-0.4.44", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chrono-0.4.44.bazel"), ) maybe( http_archive, - name = "vendor_ts__chrono-0.4.42", - sha256 = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2", + name = "vendor_ts__clap-4.6.0", + sha256 = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351", type = "tar.gz", - urls = ["https://static.crates.io/crates/chrono/0.4.42/download"], - strip_prefix = "chrono-0.4.42", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.chrono-0.4.42.bazel"), + urls = ["https://static.crates.io/crates/clap/4.6.0/download"], + strip_prefix = "clap-4.6.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap-4.6.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__clap-4.5.48", - sha256 = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae", + name = "vendor_ts__clap_builder-4.6.0", + sha256 = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f", type = "tar.gz", - urls = ["https://static.crates.io/crates/clap/4.5.48/download"], - strip_prefix = "clap-4.5.48", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap-4.5.48.bazel"), + urls = ["https://static.crates.io/crates/clap_builder/4.6.0/download"], + strip_prefix = "clap_builder-4.6.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap_builder-4.6.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__clap_builder-4.5.48", - sha256 = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9", + name = "vendor_ts__clap_derive-4.6.0", + sha256 = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a", type = "tar.gz", - urls = ["https://static.crates.io/crates/clap_builder/4.5.48/download"], - strip_prefix = "clap_builder-4.5.48", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap_builder-4.5.48.bazel"), + urls = ["https://static.crates.io/crates/clap_derive/4.6.0/download"], + strip_prefix = "clap_derive-4.6.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap_derive-4.6.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__clap_derive-4.5.47", - sha256 = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c", + name = "vendor_ts__clap_lex-1.1.0", + sha256 = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9", type = "tar.gz", - urls = ["https://static.crates.io/crates/clap_derive/4.5.47/download"], - strip_prefix = "clap_derive-4.5.47", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap_derive-4.5.47.bazel"), + urls = ["https://static.crates.io/crates/clap_lex/1.1.0/download"], + strip_prefix = "clap_lex-1.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap_lex-1.1.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__clap_lex-0.7.5", - sha256 = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675", + name = "vendor_ts__cobs-0.3.0", + sha256 = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1", type = "tar.gz", - urls = ["https://static.crates.io/crates/clap_lex/0.7.5/download"], - strip_prefix = "clap_lex-0.7.5", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.clap_lex-0.7.5.bazel"), + urls = ["https://static.crates.io/crates/cobs/0.3.0/download"], + strip_prefix = "cobs-0.3.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cobs-0.3.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__colorchoice-1.0.4", - sha256 = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75", + name = "vendor_ts__colorchoice-1.0.5", + sha256 = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570", type = "tar.gz", - urls = ["https://static.crates.io/crates/colorchoice/1.0.4/download"], - strip_prefix = "colorchoice-1.0.4", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.colorchoice-1.0.4.bazel"), + urls = ["https://static.crates.io/crates/colorchoice/1.0.5/download"], + strip_prefix = "colorchoice-1.0.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.colorchoice-1.0.5.bazel"), ) maybe( @@ -1101,6 +1113,16 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cov-mark-2.1.0.bazel"), ) + maybe( + http_archive, + name = "vendor_ts__cpufeatures-0.3.0", + sha256 = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201", + type = "tar.gz", + urls = ["https://static.crates.io/crates/cpufeatures/0.3.0/download"], + strip_prefix = "cpufeatures-0.3.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.cpufeatures-0.3.0.bazel"), + ) + maybe( http_archive, name = "vendor_ts__crc32fast-1.5.0", @@ -1111,6 +1133,16 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.crc32fast-1.5.0.bazel"), ) + maybe( + http_archive, + name = "vendor_ts__critical-section-1.2.0", + sha256 = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/critical-section/1.2.0/download"], + strip_prefix = "critical-section-1.2.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.critical-section-1.2.0.bazel"), + ) + maybe( http_archive, name = "vendor_ts__crossbeam-channel-0.5.15", @@ -1163,32 +1195,32 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__darling-0.21.3", - sha256 = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0", + name = "vendor_ts__darling-0.23.0", + sha256 = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d", type = "tar.gz", - urls = ["https://static.crates.io/crates/darling/0.21.3/download"], - strip_prefix = "darling-0.21.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.darling-0.21.3.bazel"), + urls = ["https://static.crates.io/crates/darling/0.23.0/download"], + strip_prefix = "darling-0.23.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.darling-0.23.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__darling_core-0.21.3", - sha256 = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4", + name = "vendor_ts__darling_core-0.23.0", + sha256 = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0", type = "tar.gz", - urls = ["https://static.crates.io/crates/darling_core/0.21.3/download"], - strip_prefix = "darling_core-0.21.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.darling_core-0.21.3.bazel"), + urls = ["https://static.crates.io/crates/darling_core/0.23.0/download"], + strip_prefix = "darling_core-0.23.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.darling_core-0.23.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__darling_macro-0.21.3", - sha256 = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81", + name = "vendor_ts__darling_macro-0.23.0", + sha256 = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d", type = "tar.gz", - urls = ["https://static.crates.io/crates/darling_macro/0.21.3/download"], - strip_prefix = "darling_macro-0.21.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.darling_macro-0.21.3.bazel"), + urls = ["https://static.crates.io/crates/darling_macro/0.23.0/download"], + strip_prefix = "darling_macro-0.23.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.darling_macro-0.23.0.bazel"), ) maybe( @@ -1213,12 +1245,22 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__displaydoc-0.2.5", - sha256 = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0", + name = "vendor_ts__derive-where-1.6.1", + sha256 = "d08b3a0bcc0d079199cd476b2cae8435016ec11d1c0986c6901c5ac223041534", type = "tar.gz", - urls = ["https://static.crates.io/crates/displaydoc/0.2.5/download"], - strip_prefix = "displaydoc-0.2.5", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.displaydoc-0.2.5.bazel"), + urls = ["https://static.crates.io/crates/derive-where/1.6.1/download"], + strip_prefix = "derive-where-1.6.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.derive-where-1.6.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__dissimilar-1.0.11", + sha256 = "aeda16ab4059c5fd2a83f2b9c9e9c981327b18aa8e3b313f7e6563799d4f093e", + type = "tar.gz", + urls = ["https://static.crates.io/crates/dissimilar/1.0.11/download"], + strip_prefix = "dissimilar-1.0.11", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.dissimilar-1.0.11.bazel"), ) maybe( @@ -1261,6 +1303,26 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.either-1.15.0.bazel"), ) + maybe( + http_archive, + name = "vendor_ts__embedded-io-0.4.0", + sha256 = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced", + type = "tar.gz", + urls = ["https://static.crates.io/crates/embedded-io/0.4.0/download"], + strip_prefix = "embedded-io-0.4.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.embedded-io-0.4.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__embedded-io-0.6.1", + sha256 = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/embedded-io/0.6.1/download"], + strip_prefix = "embedded-io-0.6.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.embedded-io-0.6.1.bazel"), + ) + maybe( http_archive, name = "vendor_ts__ena-0.14.3", @@ -1351,16 +1413,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.equivalent-1.0.2.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__erased-serde-0.4.6", - sha256 = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7", - type = "tar.gz", - urls = ["https://static.crates.io/crates/erased-serde/0.4.6/download"], - strip_prefix = "erased-serde-0.4.6", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.erased-serde-0.4.6.bazel"), - ) - maybe( http_archive, name = "vendor_ts__figment-0.10.19", @@ -1373,22 +1425,22 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__find-msvc-tools-0.1.1", - sha256 = "7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d", + name = "vendor_ts__find-msvc-tools-0.1.9", + sha256 = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582", type = "tar.gz", - urls = ["https://static.crates.io/crates/find-msvc-tools/0.1.1/download"], - strip_prefix = "find-msvc-tools-0.1.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.find-msvc-tools-0.1.1.bazel"), + urls = ["https://static.crates.io/crates/find-msvc-tools/0.1.9/download"], + strip_prefix = "find-msvc-tools-0.1.9", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.find-msvc-tools-0.1.9.bazel"), ) maybe( http_archive, - name = "vendor_ts__fixedbitset-0.4.2", - sha256 = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80", + name = "vendor_ts__fixedbitset-0.5.7", + sha256 = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99", type = "tar.gz", - urls = ["https://static.crates.io/crates/fixedbitset/0.4.2/download"], - strip_prefix = "fixedbitset-0.4.2", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.fixedbitset-0.4.2.bazel"), + urls = ["https://static.crates.io/crates/fixedbitset/0.5.7/download"], + strip_prefix = "fixedbitset-0.5.7", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.fixedbitset-0.5.7.bazel"), ) maybe( @@ -1401,16 +1453,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.flate2-1.1.2.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__fnv-1.0.7", - sha256 = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1", - type = "tar.gz", - urls = ["https://static.crates.io/crates/fnv/1.0.7/download"], - strip_prefix = "fnv-1.0.7", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.fnv-1.0.7.bazel"), - ) - maybe( http_archive, name = "vendor_ts__foldhash-0.1.5", @@ -1423,22 +1465,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__form_urlencoded-1.2.2", - sha256 = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf", - type = "tar.gz", - urls = ["https://static.crates.io/crates/form_urlencoded/1.2.2/download"], - strip_prefix = "form_urlencoded-1.2.2", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.form_urlencoded-1.2.2.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__fs-err-2.11.0", - sha256 = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41", + name = "vendor_ts__fs-err-3.3.0", + sha256 = "73fde052dbfc920003cfd2c8e2c6e6d4cc7c1091538c3a24226cec0665ab08c0", type = "tar.gz", - urls = ["https://static.crates.io/crates/fs-err/2.11.0/download"], - strip_prefix = "fs-err-2.11.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.fs-err-2.11.0.bazel"), + urls = ["https://static.crates.io/crates/fs-err/3.3.0/download"], + strip_prefix = "fs-err-3.3.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.fs-err-3.3.0.bazel"), ) maybe( @@ -1463,12 +1495,22 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__getrandom-0.3.3", - sha256 = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4", + name = "vendor_ts__getrandom-0.3.4", + sha256 = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd", type = "tar.gz", - urls = ["https://static.crates.io/crates/getrandom/0.3.3/download"], - strip_prefix = "getrandom-0.3.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.getrandom-0.3.3.bazel"), + urls = ["https://static.crates.io/crates/getrandom/0.3.4/download"], + strip_prefix = "getrandom-0.3.4", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.getrandom-0.3.4.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__getrandom-0.4.2", + sha256 = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555", + type = "tar.gz", + urls = ["https://static.crates.io/crates/getrandom/0.4.2/download"], + strip_prefix = "getrandom-0.4.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.getrandom-0.4.2.bazel"), ) maybe( @@ -1491,6 +1533,16 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.globset-0.4.16.bazel"), ) + maybe( + http_archive, + name = "vendor_ts__hash32-0.2.1", + sha256 = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67", + type = "tar.gz", + urls = ["https://static.crates.io/crates/hash32/0.2.1/download"], + strip_prefix = "hash32-0.2.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.hash32-0.2.1.bazel"), + ) + maybe( http_archive, name = "vendor_ts__hashbrown-0.12.3", @@ -1521,6 +1573,16 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.hashbrown-0.15.5.bazel"), ) + maybe( + http_archive, + name = "vendor_ts__hashbrown-0.17.0", + sha256 = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51", + type = "tar.gz", + urls = ["https://static.crates.io/crates/hashbrown/0.17.0/download"], + strip_prefix = "hashbrown-0.17.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.hashbrown-0.17.0.bazel"), + ) + maybe( http_archive, name = "vendor_ts__hashlink-0.10.0", @@ -1531,6 +1593,16 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.hashlink-0.10.0.bazel"), ) + maybe( + http_archive, + name = "vendor_ts__heapless-0.7.17", + sha256 = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f", + type = "tar.gz", + urls = ["https://static.crates.io/crates/heapless/0.7.17/download"], + strip_prefix = "heapless-0.7.17", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.heapless-0.7.17.bazel"), + ) + maybe( http_archive, name = "vendor_ts__heck-0.5.0", @@ -1563,12 +1635,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__home-0.5.11", - sha256 = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf", + name = "vendor_ts__home-0.5.12", + sha256 = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d", type = "tar.gz", - urls = ["https://static.crates.io/crates/home/0.5.11/download"], - strip_prefix = "home-0.5.11", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.home-0.5.11.bazel"), + urls = ["https://static.crates.io/crates/home/0.5.12/download"], + strip_prefix = "home-0.5.12", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.home-0.5.12.bazel"), ) maybe( @@ -1593,72 +1665,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__icu_collections-2.0.0", - sha256 = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47", - type = "tar.gz", - urls = ["https://static.crates.io/crates/icu_collections/2.0.0/download"], - strip_prefix = "icu_collections-2.0.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.icu_collections-2.0.0.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__icu_locale_core-2.0.0", - sha256 = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a", - type = "tar.gz", - urls = ["https://static.crates.io/crates/icu_locale_core/2.0.0/download"], - strip_prefix = "icu_locale_core-2.0.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.icu_locale_core-2.0.0.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__icu_normalizer-2.0.0", - sha256 = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979", - type = "tar.gz", - urls = ["https://static.crates.io/crates/icu_normalizer/2.0.0/download"], - strip_prefix = "icu_normalizer-2.0.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.icu_normalizer-2.0.0.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__icu_normalizer_data-2.0.0", - sha256 = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3", - type = "tar.gz", - urls = ["https://static.crates.io/crates/icu_normalizer_data/2.0.0/download"], - strip_prefix = "icu_normalizer_data-2.0.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.icu_normalizer_data-2.0.0.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__icu_properties-2.0.1", - sha256 = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b", - type = "tar.gz", - urls = ["https://static.crates.io/crates/icu_properties/2.0.1/download"], - strip_prefix = "icu_properties-2.0.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.icu_properties-2.0.1.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__icu_properties_data-2.0.1", - sha256 = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632", - type = "tar.gz", - urls = ["https://static.crates.io/crates/icu_properties_data/2.0.1/download"], - strip_prefix = "icu_properties_data-2.0.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.icu_properties_data-2.0.1.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__icu_provider-2.0.0", - sha256 = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af", + name = "vendor_ts__id-arena-2.3.0", + sha256 = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954", type = "tar.gz", - urls = ["https://static.crates.io/crates/icu_provider/2.0.0/download"], - strip_prefix = "icu_provider-2.0.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.icu_provider-2.0.0.bazel"), + urls = ["https://static.crates.io/crates/id-arena/2.3.0/download"], + strip_prefix = "id-arena-2.3.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.id-arena-2.3.0.bazel"), ) maybe( @@ -1671,26 +1683,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ident_case-1.0.1.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__idna-1.1.0", - sha256 = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de", - type = "tar.gz", - urls = ["https://static.crates.io/crates/idna/1.1.0/download"], - strip_prefix = "idna-1.1.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.idna-1.1.0.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__idna_adapter-1.2.1", - sha256 = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344", - type = "tar.gz", - urls = ["https://static.crates.io/crates/idna_adapter/1.2.1/download"], - strip_prefix = "idna_adapter-1.2.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.idna_adapter-1.2.1.bazel"), - ) - maybe( http_archive, name = "vendor_ts__indexmap-1.9.3", @@ -1703,12 +1695,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__indexmap-2.11.4", - sha256 = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5", + name = "vendor_ts__indexmap-2.14.0", + sha256 = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9", type = "tar.gz", - urls = ["https://static.crates.io/crates/indexmap/2.11.4/download"], - strip_prefix = "indexmap-2.11.4", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.indexmap-2.11.4.bazel"), + urls = ["https://static.crates.io/crates/indexmap/2.14.0/download"], + strip_prefix = "indexmap-2.14.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.indexmap-2.14.0.bazel"), ) maybe( @@ -1753,22 +1745,22 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__is_terminal_polyfill-1.70.1", - sha256 = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf", + name = "vendor_ts__inventory-0.3.24", + sha256 = "a4f0c30c76f2f4ccee3fe55a2435f691ca00c0e4bd87abe4f4a851b1d4dac39b", type = "tar.gz", - urls = ["https://static.crates.io/crates/is_terminal_polyfill/1.70.1/download"], - strip_prefix = "is_terminal_polyfill-1.70.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.is_terminal_polyfill-1.70.1.bazel"), + urls = ["https://static.crates.io/crates/inventory/0.3.24/download"], + strip_prefix = "inventory-0.3.24", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.inventory-0.3.24.bazel"), ) maybe( http_archive, - name = "vendor_ts__itertools-0.12.1", - sha256 = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569", + name = "vendor_ts__is_terminal_polyfill-1.70.2", + sha256 = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695", type = "tar.gz", - urls = ["https://static.crates.io/crates/itertools/0.12.1/download"], - strip_prefix = "itertools-0.12.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.itertools-0.12.1.bazel"), + urls = ["https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download"], + strip_prefix = "is_terminal_polyfill-1.70.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.is_terminal_polyfill-1.70.2.bazel"), ) maybe( @@ -1783,12 +1775,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__itoa-1.0.15", - sha256 = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c", + name = "vendor_ts__itoa-1.0.18", + sha256 = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682", type = "tar.gz", - urls = ["https://static.crates.io/crates/itoa/1.0.15/download"], - strip_prefix = "itoa-1.0.15", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.itoa-1.0.15.bazel"), + urls = ["https://static.crates.io/crates/itoa/1.0.18/download"], + strip_prefix = "itoa-1.0.18", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.itoa-1.0.18.bazel"), ) maybe( @@ -1863,32 +1855,32 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__libc-0.2.175", - sha256 = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543", + name = "vendor_ts__leb128fmt-0.1.0", + sha256 = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2", type = "tar.gz", - urls = ["https://static.crates.io/crates/libc/0.2.175/download"], - strip_prefix = "libc-0.2.175", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.libc-0.2.175.bazel"), + urls = ["https://static.crates.io/crates/leb128fmt/0.1.0/download"], + strip_prefix = "leb128fmt-0.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.leb128fmt-0.1.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__line-index-0.1.2", - sha256 = "3e27e0ed5a392a7f5ba0b3808a2afccff16c64933312c84b57618b49d1209bd2", + name = "vendor_ts__libc-0.2.185", + sha256 = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f", type = "tar.gz", - urls = ["https://static.crates.io/crates/line-index/0.1.2/download"], - strip_prefix = "line-index-0.1.2", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.line-index-0.1.2.bazel"), + urls = ["https://static.crates.io/crates/libc/0.2.185/download"], + strip_prefix = "libc-0.2.185", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.libc-0.2.185.bazel"), ) maybe( http_archive, - name = "vendor_ts__litemap-0.8.0", - sha256 = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956", + name = "vendor_ts__line-index-0.1.2", + sha256 = "3e27e0ed5a392a7f5ba0b3808a2afccff16c64933312c84b57618b49d1209bd2", type = "tar.gz", - urls = ["https://static.crates.io/crates/litemap/0.8.0/download"], - strip_prefix = "litemap-0.8.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.litemap-0.8.0.bazel"), + urls = ["https://static.crates.io/crates/line-index/0.1.2/download"], + strip_prefix = "line-index-0.1.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.line-index-0.1.2.bazel"), ) maybe( @@ -1913,12 +1905,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__log-0.4.28", - sha256 = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432", + name = "vendor_ts__log-0.4.29", + sha256 = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897", type = "tar.gz", - urls = ["https://static.crates.io/crates/log/0.4.28/download"], - strip_prefix = "log-0.4.28", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.log-0.4.28.bazel"), + urls = ["https://static.crates.io/crates/log/0.4.29/download"], + strip_prefix = "log-0.4.29", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.log-0.4.29.bazel"), ) maybe( @@ -1933,12 +1925,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__memchr-2.7.5", - sha256 = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0", + name = "vendor_ts__memchr-2.8.0", + sha256 = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79", type = "tar.gz", - urls = ["https://static.crates.io/crates/memchr/2.7.5/download"], - strip_prefix = "memchr-2.7.5", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.memchr-2.7.5.bazel"), + urls = ["https://static.crates.io/crates/memchr/2.8.0/download"], + strip_prefix = "memchr-2.8.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.memchr-2.8.0.bazel"), ) maybe( @@ -1963,12 +1955,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__mio-1.0.4", - sha256 = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c", + name = "vendor_ts__mio-1.2.0", + sha256 = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1", type = "tar.gz", - urls = ["https://static.crates.io/crates/mio/1.0.4/download"], - strip_prefix = "mio-1.0.4", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.mio-1.0.4.bazel"), + urls = ["https://static.crates.io/crates/mio/1.2.0/download"], + strip_prefix = "mio-1.2.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.mio-1.2.0.bazel"), ) maybe( @@ -2033,12 +2025,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__num-conv-0.1.0", - sha256 = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9", + name = "vendor_ts__num-conv-0.2.1", + sha256 = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967", type = "tar.gz", - urls = ["https://static.crates.io/crates/num-conv/0.1.0/download"], - strip_prefix = "num-conv-0.1.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.num-conv-0.1.0.bazel"), + urls = ["https://static.crates.io/crates/num-conv/0.2.1/download"], + strip_prefix = "num-conv-0.2.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.num-conv-0.2.1.bazel"), ) maybe( @@ -2063,12 +2055,22 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__once_cell-1.21.3", - sha256 = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d", + name = "vendor_ts__num_threads-0.1.7", + sha256 = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9", + type = "tar.gz", + urls = ["https://static.crates.io/crates/num_threads/0.1.7/download"], + strip_prefix = "num_threads-0.1.7", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.num_threads-0.1.7.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__once_cell-1.21.4", + sha256 = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50", type = "tar.gz", - urls = ["https://static.crates.io/crates/once_cell/1.21.3/download"], - strip_prefix = "once_cell-1.21.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.once_cell-1.21.3.bazel"), + urls = ["https://static.crates.io/crates/once_cell/1.21.4/download"], + strip_prefix = "once_cell-1.21.4", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.once_cell-1.21.4.bazel"), ) maybe( @@ -2091,16 +2093,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.oorandom-11.1.5.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__ordered-float-2.10.1", - sha256 = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c", - type = "tar.gz", - urls = ["https://static.crates.io/crates/ordered-float/2.10.1/download"], - strip_prefix = "ordered-float-2.10.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ordered-float-2.10.1.bazel"), - ) - maybe( http_archive, name = "vendor_ts__os_str_bytes-7.1.1", @@ -2111,16 +2103,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.os_str_bytes-7.1.1.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__papaya-0.2.3", - sha256 = "f92dd0b07c53a0a0c764db2ace8c541dc47320dad97c2200c2a637ab9dd2328f", - type = "tar.gz", - urls = ["https://static.crates.io/crates/papaya/0.2.3/download"], - strip_prefix = "papaya-0.2.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.papaya-0.2.3.bazel"), - ) - maybe( http_archive, name = "vendor_ts__parking_lot-0.12.4", @@ -2163,52 +2145,42 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__percent-encoding-2.3.2", - sha256 = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220", + name = "vendor_ts__perf-event-0.4.8", + sha256 = "b4d6393d9238342159080d79b78cb59c67399a8e7ecfa5d410bd614169e4e823", type = "tar.gz", - urls = ["https://static.crates.io/crates/percent-encoding/2.3.2/download"], - strip_prefix = "percent-encoding-2.3.2", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.percent-encoding-2.3.2.bazel"), + urls = ["https://static.crates.io/crates/perf-event/0.4.8/download"], + strip_prefix = "perf-event-0.4.8", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.perf-event-0.4.8.bazel"), ) maybe( http_archive, - name = "vendor_ts__perf-event-0.4.7", - sha256 = "5396562cd2eaa828445d6d34258ae21ee1eb9d40fe626ca7f51c8dccb4af9d66", + name = "vendor_ts__perf-event-open-sys-4.0.0", + sha256 = "7c44fb1c7651a45a3652c4afc6e754e40b3d6e6556f1487e2b230bfc4f33c2a8", type = "tar.gz", - urls = ["https://static.crates.io/crates/perf-event/0.4.7/download"], - strip_prefix = "perf-event-0.4.7", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.perf-event-0.4.7.bazel"), + urls = ["https://static.crates.io/crates/perf-event-open-sys/4.0.0/download"], + strip_prefix = "perf-event-open-sys-4.0.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.perf-event-open-sys-4.0.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__perf-event-open-sys-1.0.1", - sha256 = "ce9bedf5da2c234fdf2391ede2b90fabf585355f33100689bc364a3ea558561a", + name = "vendor_ts__petgraph-0.8.3", + sha256 = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455", type = "tar.gz", - urls = ["https://static.crates.io/crates/perf-event-open-sys/1.0.1/download"], - strip_prefix = "perf-event-open-sys-1.0.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.perf-event-open-sys-1.0.1.bazel"), + urls = ["https://static.crates.io/crates/petgraph/0.8.3/download"], + strip_prefix = "petgraph-0.8.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.petgraph-0.8.3.bazel"), ) maybe( http_archive, - name = "vendor_ts__petgraph-0.6.5", - sha256 = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db", + name = "vendor_ts__pin-project-lite-0.2.17", + sha256 = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd", type = "tar.gz", - urls = ["https://static.crates.io/crates/petgraph/0.6.5/download"], - strip_prefix = "petgraph-0.6.5", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.petgraph-0.6.5.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__pin-project-lite-0.2.16", - sha256 = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b", - type = "tar.gz", - urls = ["https://static.crates.io/crates/pin-project-lite/0.2.16/download"], - strip_prefix = "pin-project-lite-0.2.16", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.pin-project-lite-0.2.16.bazel"), + urls = ["https://static.crates.io/crates/pin-project-lite/0.2.17/download"], + strip_prefix = "pin-project-lite-0.2.17", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.pin-project-lite-0.2.17.bazel"), ) maybe( @@ -2233,12 +2205,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__potential_utf-0.1.3", - sha256 = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a", + name = "vendor_ts__postcard-1.1.3", + sha256 = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24", type = "tar.gz", - urls = ["https://static.crates.io/crates/potential_utf/0.1.3/download"], - strip_prefix = "potential_utf-0.1.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.potential_utf-0.1.3.bazel"), + urls = ["https://static.crates.io/crates/postcard/1.1.3/download"], + strip_prefix = "postcard-1.1.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.postcard-1.1.3.bazel"), ) maybe( @@ -2253,22 +2225,22 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__ppv-lite86-0.2.21", - sha256 = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9", + name = "vendor_ts__prettyplease-0.2.37", + sha256 = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b", type = "tar.gz", - urls = ["https://static.crates.io/crates/ppv-lite86/0.2.21/download"], - strip_prefix = "ppv-lite86-0.2.21", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ppv-lite86-0.2.21.bazel"), + urls = ["https://static.crates.io/crates/prettyplease/0.2.37/download"], + strip_prefix = "prettyplease-0.2.37", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.prettyplease-0.2.37.bazel"), ) maybe( http_archive, - name = "vendor_ts__proc-macro2-1.0.101", - sha256 = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de", + name = "vendor_ts__proc-macro2-1.0.106", + sha256 = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934", type = "tar.gz", - urls = ["https://static.crates.io/crates/proc-macro2/1.0.101/download"], - strip_prefix = "proc-macro2-1.0.101", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.proc-macro2-1.0.101.bazel"), + urls = ["https://static.crates.io/crates/proc-macro2/1.0.106/download"], + strip_prefix = "proc-macro2-1.0.106", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.proc-macro2-1.0.106.bazel"), ) maybe( @@ -2283,12 +2255,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__quote-1.0.41", - sha256 = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1", + name = "vendor_ts__quote-1.0.45", + sha256 = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924", type = "tar.gz", - urls = ["https://static.crates.io/crates/quote/1.0.41/download"], - strip_prefix = "quote-1.0.41", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.quote-1.0.41.bazel"), + urls = ["https://static.crates.io/crates/quote/1.0.45/download"], + strip_prefix = "quote-1.0.45", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.quote-1.0.45.bazel"), ) maybe( @@ -2303,372 +2275,432 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__ra-ap-rustc_abi-0.123.0", - sha256 = "f18c877575c259d127072e9bfc41d985202262fb4d6bfdae3d1252147c2562c2", + name = "vendor_ts__r-efi-6.0.0", + sha256 = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra-ap-rustc_abi/0.123.0/download"], - strip_prefix = "ra-ap-rustc_abi-0.123.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_abi-0.123.0.bazel"), + urls = ["https://static.crates.io/crates/r-efi/6.0.0/download"], + strip_prefix = "r-efi-6.0.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.r-efi-6.0.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra-ap-rustc_hashes-0.123.0", - sha256 = "2439ed1df3472443133b66949f81080dff88089b42f825761455463709ee1cad", + name = "vendor_ts__ra-ap-rustc_abi-0.143.0", + sha256 = "1d49dbe5d570793b3c3227972a6ac85fc3e830f09b32c3cb3b68cfceebad3b0a", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra-ap-rustc_hashes/0.123.0/download"], - strip_prefix = "ra-ap-rustc_hashes-0.123.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_hashes-0.123.0.bazel"), + urls = ["https://static.crates.io/crates/ra-ap-rustc_abi/0.143.0/download"], + strip_prefix = "ra-ap-rustc_abi-0.143.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_abi-0.143.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra-ap-rustc_index-0.123.0", - sha256 = "57a24fe0be21be1f8ebc21dcb40129214fb4cefb0f2753f3d46b6dbe656a1a45", + name = "vendor_ts__ra-ap-rustc_ast_ir-0.143.0", + sha256 = "cd0956db62c264a899d15667993cbbd2e8f0b02108712217e2579c61ac30b94b", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra-ap-rustc_index/0.123.0/download"], - strip_prefix = "ra-ap-rustc_index-0.123.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_index-0.123.0.bazel"), + urls = ["https://static.crates.io/crates/ra-ap-rustc_ast_ir/0.143.0/download"], + strip_prefix = "ra-ap-rustc_ast_ir-0.143.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_ast_ir-0.143.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra-ap-rustc_index_macros-0.123.0", - sha256 = "844a27ddcad0116facae2df8e741fd788662cf93dc13029cd864f2b8013b81f9", + name = "vendor_ts__ra-ap-rustc_hashes-0.143.0", + sha256 = "7df512084c24f4c96c8cc9a59cbd264301efbc8913d3759b065398024af316c9", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra-ap-rustc_index_macros/0.123.0/download"], - strip_prefix = "ra-ap-rustc_index_macros-0.123.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_index_macros-0.123.0.bazel"), + urls = ["https://static.crates.io/crates/ra-ap-rustc_hashes/0.143.0/download"], + strip_prefix = "ra-ap-rustc_hashes-0.143.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_hashes-0.143.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra-ap-rustc_lexer-0.121.0", - sha256 = "22944e31fb91e9b3e75bcbc91e37d958b8c0825a6160927f2856831d2ce83b36", + name = "vendor_ts__ra-ap-rustc_index-0.143.0", + sha256 = "bca3a49a928d38ba7927605e5909b6abe77d09ff359e4695c070c3f91d69cc8a", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra-ap-rustc_lexer/0.121.0/download"], - strip_prefix = "ra-ap-rustc_lexer-0.121.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_lexer-0.121.0.bazel"), + urls = ["https://static.crates.io/crates/ra-ap-rustc_index/0.143.0/download"], + strip_prefix = "ra-ap-rustc_index-0.143.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_index-0.143.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra-ap-rustc_lexer-0.123.0", - sha256 = "2b734cfcb577d09877799a22742f1bd398be6c00bc428d9de56d48d11ece5771", + name = "vendor_ts__ra-ap-rustc_index_macros-0.143.0", + sha256 = "4463e908a62c64c2a65c1966c2f4995d0e1f8b7dfc85a8b8de2562edf3d89070", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra-ap-rustc_lexer/0.123.0/download"], - strip_prefix = "ra-ap-rustc_lexer-0.123.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_lexer-0.123.0.bazel"), + urls = ["https://static.crates.io/crates/ra-ap-rustc_index_macros/0.143.0/download"], + strip_prefix = "ra-ap-rustc_index_macros-0.143.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_index_macros-0.143.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra-ap-rustc_parse_format-0.121.0", - sha256 = "81057891bc2063ad9e353f29462fbc47a0f5072560af34428ae9313aaa5e9d97", + name = "vendor_ts__ra-ap-rustc_lexer-0.143.0", + sha256 = "228e01e1b237adb4bd8793487e1c37019c1e526a8f93716d99602301be267056", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra-ap-rustc_parse_format/0.121.0/download"], - strip_prefix = "ra-ap-rustc_parse_format-0.121.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_parse_format-0.121.0.bazel"), + urls = ["https://static.crates.io/crates/ra-ap-rustc_lexer/0.143.0/download"], + strip_prefix = "ra-ap-rustc_lexer-0.143.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_lexer-0.143.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra-ap-rustc_pattern_analysis-0.123.0", - sha256 = "75b0ee1f059b9dea0818c6c7267478926eee95ba4c7dcf89c8db32fa165d3904", + name = "vendor_ts__ra-ap-rustc_next_trait_solver-0.143.0", + sha256 = "10d6f91143011d474bb844d268b0784c6a4c6db57743558b83f5ad34511627f1", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra-ap-rustc_pattern_analysis/0.123.0/download"], - strip_prefix = "ra-ap-rustc_pattern_analysis-0.123.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_pattern_analysis-0.123.0.bazel"), + urls = ["https://static.crates.io/crates/ra-ap-rustc_next_trait_solver/0.143.0/download"], + strip_prefix = "ra-ap-rustc_next_trait_solver-0.143.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_next_trait_solver-0.143.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_base_db-0.0.301", - sha256 = "e876bb2c3e52a8d4e6684526a2d4e81f9d028b939ee4dc5dc775fe10deb44d59", + name = "vendor_ts__ra-ap-rustc_parse_format-0.143.0", + sha256 = "37fa8effbc436c0ddd9d7b1421aa3cccf8b94566c841c4e4aa3e09063b8f423f", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_base_db/0.0.301/download"], - strip_prefix = "ra_ap_base_db-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_base_db-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra-ap-rustc_parse_format/0.143.0/download"], + strip_prefix = "ra-ap-rustc_parse_format-0.143.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_parse_format-0.143.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_cfg-0.0.301", - sha256 = "3a0b56eb4536ce6d2431932c4d337aeeaf7bb22c9249b38cbe80677b5881228f", + name = "vendor_ts__ra-ap-rustc_pattern_analysis-0.143.0", + sha256 = "883c843fc27847ad03b8e772dd4a2d2728af4333a6d6821a22dfcfe7136dff3e", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_cfg/0.0.301/download"], - strip_prefix = "ra_ap_cfg-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_cfg-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra-ap-rustc_pattern_analysis/0.143.0/download"], + strip_prefix = "ra-ap-rustc_pattern_analysis-0.143.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_pattern_analysis-0.143.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_edition-0.0.301", - sha256 = "1bdc6cbe42c63ca78611bae82bfc8db24864f33dccc813697c5fde43a0907285", + name = "vendor_ts__ra-ap-rustc_type_ir-0.143.0", + sha256 = "a86e33c46b2b261a173b23f207461a514812a8b2d2d7935bbc685f733eacce10", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_edition/0.0.301/download"], - strip_prefix = "ra_ap_edition-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_edition-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra-ap-rustc_type_ir/0.143.0/download"], + strip_prefix = "ra-ap-rustc_type_ir-0.143.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_type_ir-0.143.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_hir-0.0.301", - sha256 = "ebffdc134eccabc17209d7760cfff7fd12ed18ab6e21188c5e084b97aa38504c", + name = "vendor_ts__ra-ap-rustc_type_ir_macros-0.143.0", + sha256 = "15034c2fcaa5cf302aea6db20eda0f71fffeb0b372d6073cc50f940e974a2a47", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_hir/0.0.301/download"], - strip_prefix = "ra_ap_hir-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra-ap-rustc_type_ir_macros/0.143.0/download"], + strip_prefix = "ra-ap-rustc_type_ir_macros-0.143.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra-ap-rustc_type_ir_macros-0.143.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_hir_def-0.0.301", - sha256 = "81d2337ef59550392d42aa997aa1105a3d6d1c2b3a583c777786bc4a0a074fd5", + name = "vendor_ts__ra_ap_base_db-0.0.328", + sha256 = "b1567168e7c7b50acf2ffb87bde8937986d4f41c777a2c308298ede9d555c96c", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_hir_def/0.0.301/download"], - strip_prefix = "ra_ap_hir_def-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir_def-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_base_db/0.0.328/download"], + strip_prefix = "ra_ap_base_db-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_base_db-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_hir_expand-0.0.301", - sha256 = "97cf8ececb2743a819d8299a408e17f164dd1a1004d65936b3d5493b55330326", + name = "vendor_ts__ra_ap_cfg-0.0.328", + sha256 = "1e1fc8d53014b0ec4c06c9dbf0a810ccd67b3a96de4ef06bd1a248c2295b6a37", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_hir_expand/0.0.301/download"], - strip_prefix = "ra_ap_hir_expand-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir_expand-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_cfg/0.0.328/download"], + strip_prefix = "ra_ap_cfg-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_cfg-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_hir_ty-0.0.301", - sha256 = "bc004e1099ba766a61500c27d34eb5cd336430d0a89a9620315a90d7a202a73a", + name = "vendor_ts__ra_ap_edition-0.0.328", + sha256 = "627a8ce8e870632395b7bf053c93039a3d91dda744ccae166ac83650572cfaa2", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_hir_ty/0.0.301/download"], - strip_prefix = "ra_ap_hir_ty-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir_ty-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_edition/0.0.328/download"], + strip_prefix = "ra_ap_edition-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_edition-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_ide_db-0.0.301", - sha256 = "d2acb572d6dbeb1c96d0339890ba91298b8f5f0ab22648da4ee2b4ab77dbc3fe", + name = "vendor_ts__ra_ap_hir-0.0.328", + sha256 = "b77616ef81f690a3eba4befd32112780b99f052676b0e7686a22bf79f3fbe2a8", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_ide_db/0.0.301/download"], - strip_prefix = "ra_ap_ide_db-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_ide_db-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_hir/0.0.328/download"], + strip_prefix = "ra_ap_hir-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_intern-0.0.301", - sha256 = "14586c2c4781b69fdd0c505972d9bff8c162a8740537a3ee506faff686d9a20d", + name = "vendor_ts__ra_ap_hir_def-0.0.328", + sha256 = "81504dd727efbaf48704a9c0e18e6491cb9848428376ad37146f37f63571ab3c", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_intern/0.0.301/download"], - strip_prefix = "ra_ap_intern-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_intern-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_hir_def/0.0.328/download"], + strip_prefix = "ra_ap_hir_def-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir_def-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_load-cargo-0.0.301", - sha256 = "50ce5546b3e3414507ab4d12348d0a28748062e33a1448895c68466d0b015503", + name = "vendor_ts__ra_ap_hir_expand-0.0.328", + sha256 = "9980623345a88d4431ce80331e640c494e2e59303e82a2cb1290b4684efdc6e5", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_load-cargo/0.0.301/download"], - strip_prefix = "ra_ap_load-cargo-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_load-cargo-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_hir_expand/0.0.328/download"], + strip_prefix = "ra_ap_hir_expand-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir_expand-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_mbe-0.0.301", - sha256 = "67333c6405797cb64aafb994b9a179157b30beeda2352e203e800be2b184a22d", + name = "vendor_ts__ra_ap_hir_ty-0.0.328", + sha256 = "b822d1b9f0168281bbba34e0c5abada891fa9fc5e0b54e86493e8b075a877973", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_mbe/0.0.301/download"], - strip_prefix = "ra_ap_mbe-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_mbe-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_hir_ty/0.0.328/download"], + strip_prefix = "ra_ap_hir_ty-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_hir_ty-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_parser-0.0.301", - sha256 = "3a3b92b8b147c0826b83e70ad44e3c98e94201fc93e1f09396c43b4d7958c22a", + name = "vendor_ts__ra_ap_ide_db-0.0.328", + sha256 = "0e250964a32be6c74f1f72e0fd8aea08aaed0535d85a7fd315fe442942185da0", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_parser/0.0.301/download"], - strip_prefix = "ra_ap_parser-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_parser-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_ide_db/0.0.328/download"], + strip_prefix = "ra_ap_ide_db-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_ide_db-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_paths-0.0.301", - sha256 = "d4991f3d57fac0def7822bebfeb159c8d7b58c824bf82044b765c54f2c0971e2", + name = "vendor_ts__ra_ap_intern-0.0.328", + sha256 = "df7edf9d14d093b4314b43ed75eaf56d47d870a09b8d0e0e67d17919c30bfb0f", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_paths/0.0.301/download"], - strip_prefix = "ra_ap_paths-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_paths-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_intern/0.0.328/download"], + strip_prefix = "ra_ap_intern-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_intern-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_proc_macro_api-0.0.301", - sha256 = "45db9e2df587d56f0738afa89fb2c100ff7c1e9cbe49e07f6a8b62342832211b", + name = "vendor_ts__ra_ap_load-cargo-0.0.328", + sha256 = "184cdaabfb66948938aa4b73ee24f7fa57c1292292c1d87bcad2c616cbd254ea", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_proc_macro_api/0.0.301/download"], - strip_prefix = "ra_ap_proc_macro_api-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_proc_macro_api-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_load-cargo/0.0.328/download"], + strip_prefix = "ra_ap_load-cargo-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_load-cargo-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_profile-0.0.301", - sha256 = "19981637b8ee4160e228c815a7fef3944b5c0555d6af41a931be92d68978bc6c", + name = "vendor_ts__ra_ap_macros-0.0.328", + sha256 = "fd338f982b2f7438ee89ca2429ad7181f2f0751fa6b98d8275905c97e2fb8361", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_profile/0.0.301/download"], - strip_prefix = "ra_ap_profile-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_profile-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_macros/0.0.328/download"], + strip_prefix = "ra_ap_macros-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_macros-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_project_model-0.0.301", - sha256 = "5bda0769fd6ca949fdd5917acb68ddc2c143745614ddd94ef38b376838611cf8", + name = "vendor_ts__ra_ap_mbe-0.0.328", + sha256 = "81d4c7114f2363c05b6dc7f5f6cdd6c9d6a1ba63410b0cdc80c81d1414da7c72", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_project_model/0.0.301/download"], - strip_prefix = "ra_ap_project_model-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_project_model-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_mbe/0.0.328/download"], + strip_prefix = "ra_ap_mbe-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_mbe-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_query-group-macro-0.0.301", - sha256 = "5f182a4b05f004eabaa83250a5de7ea3a13a92c88f3cbe98bfa1880cd9fbce0a", + name = "vendor_ts__ra_ap_parser-0.0.328", + sha256 = "c9851f3b6e93971e6c3957966a07154bc35e0f91c0a6980ad71965620df6f737", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_query-group-macro/0.0.301/download"], - strip_prefix = "ra_ap_query-group-macro-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_query-group-macro-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_parser/0.0.328/download"], + strip_prefix = "ra_ap_parser-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_parser-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_span-0.0.301", - sha256 = "ca6f9fa2de07f5cccf431674b90e82c1fe1ea2339db3b3869eec44d135de09a4", + name = "vendor_ts__ra_ap_paths-0.0.328", + sha256 = "506bbef9963ca9275dd50f5876d68e32a58d47a369ea10bce2be1c758b081c42", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_span/0.0.301/download"], - strip_prefix = "ra_ap_span-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_span-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_paths/0.0.328/download"], + strip_prefix = "ra_ap_paths-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_paths-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_stdx-0.0.301", - sha256 = "aa770adb32896fcba934b464ac3bd179163ba2b0766e275eed5b4e262e08492b", + name = "vendor_ts__ra_ap_proc_macro_api-0.0.328", + sha256 = "18e0229d5c7daa016a8f4f735194e68baf34ca18b73982ae036a8217874f32e9", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_stdx/0.0.301/download"], - strip_prefix = "ra_ap_stdx-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_stdx-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_proc_macro_api/0.0.328/download"], + strip_prefix = "ra_ap_proc_macro_api-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_proc_macro_api-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_syntax-0.0.301", - sha256 = "6e9e1393281ad5c635239d353ed3cfbf28c8d0af03d0c61a3b24b31d1143b17f", + name = "vendor_ts__ra_ap_profile-0.0.328", + sha256 = "b251c30d8e4df3902a92d10c4899e43403921f72aef12afa2f027a77e4898950", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_syntax/0.0.301/download"], - strip_prefix = "ra_ap_syntax-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_syntax-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_profile/0.0.328/download"], + strip_prefix = "ra_ap_profile-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_profile-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_syntax-bridge-0.0.301", - sha256 = "684e6ff1008ee5340335888f0453d94bb38950f110059a51f1818c7f6a56a807", + name = "vendor_ts__ra_ap_project_model-0.0.328", + sha256 = "2b04624412e45c7b0f792859be553182ea2360d8a24bf7162ca212840e683a24", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_syntax-bridge/0.0.301/download"], - strip_prefix = "ra_ap_syntax-bridge-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_syntax-bridge-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_project_model/0.0.328/download"], + strip_prefix = "ra_ap_project_model-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_project_model-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_toolchain-0.0.301", - sha256 = "61969c5f72af03a9837e077c2d939d87a5c863623725c461777c352664a3bb03", + name = "vendor_ts__ra_ap_query-group-macro-0.0.328", + sha256 = "770079ca5addde33d31b7f3fa8d399f0dc29c26f69642a9d5c2a5e623d8af64d", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_toolchain/0.0.301/download"], - strip_prefix = "ra_ap_toolchain-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_toolchain-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_query-group-macro/0.0.328/download"], + strip_prefix = "ra_ap_query-group-macro-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_query-group-macro-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_tt-0.0.301", - sha256 = "fb87c7b35572c18a580ea811e970b94875fad5ac7cfa8644266a59081044f959", + name = "vendor_ts__ra_ap_span-0.0.328", + sha256 = "80a523bc8c85155ccd1db35b6855d37729d339c572b7fc0801c459bb8218976b", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_tt/0.0.301/download"], - strip_prefix = "ra_ap_tt-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_tt-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_span/0.0.328/download"], + strip_prefix = "ra_ap_span-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_span-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_vfs-0.0.301", - sha256 = "6c174d6b9b7a7f54687df7e00c3e75ed6f082a7943a9afb1d54f33c0c12773de", + name = "vendor_ts__ra_ap_stdx-0.0.328", + sha256 = "eb22b95e21d08060860056c86af1b47b2cecbac5422baa112d9d138e97c3671a", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_vfs/0.0.301/download"], - strip_prefix = "ra_ap_vfs-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_vfs-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_stdx/0.0.328/download"], + strip_prefix = "ra_ap_stdx-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_stdx-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__ra_ap_vfs-notify-0.0.301", - sha256 = "04f6fce8d47c7ce9b8f2cd0e5a55f8fc4878d6043e61f46cde4391d3a5c6086f", + name = "vendor_ts__ra_ap_syntax-0.0.328", + sha256 = "ba3d9c469b5635401647b69e01a9930746f08a3cac51d04ad5ae99e66bdd643f", type = "tar.gz", - urls = ["https://static.crates.io/crates/ra_ap_vfs-notify/0.0.301/download"], - strip_prefix = "ra_ap_vfs-notify-0.0.301", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_vfs-notify-0.0.301.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_syntax/0.0.328/download"], + strip_prefix = "ra_ap_syntax-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_syntax-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__rand-0.9.2", - sha256 = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1", + name = "vendor_ts__ra_ap_syntax-bridge-0.0.328", + sha256 = "b4d3f2e2a1836eeedc2ed2810ece4cdf7ea42284f71b7031eac8448c1cb95b09", type = "tar.gz", - urls = ["https://static.crates.io/crates/rand/0.9.2/download"], - strip_prefix = "rand-0.9.2", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rand-0.9.2.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_syntax-bridge/0.0.328/download"], + strip_prefix = "ra_ap_syntax-bridge-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_syntax-bridge-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__rand_chacha-0.9.0", - sha256 = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb", + name = "vendor_ts__ra_ap_test_fixture-0.0.328", + sha256 = "21d6d353373b4f28f2236ed7843bcee0e4dd0e6a12b339da874460bbefd070ab", type = "tar.gz", - urls = ["https://static.crates.io/crates/rand_chacha/0.9.0/download"], - strip_prefix = "rand_chacha-0.9.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rand_chacha-0.9.0.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_test_fixture/0.0.328/download"], + strip_prefix = "ra_ap_test_fixture-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_test_fixture-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__rand_core-0.9.3", - sha256 = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38", + name = "vendor_ts__ra_ap_test_utils-0.0.328", + sha256 = "57d10cbb0402abee7034de5d90ddf7e380d1e21ad0e1dcd2db92c3c87df78723", type = "tar.gz", - urls = ["https://static.crates.io/crates/rand_core/0.9.3/download"], - strip_prefix = "rand_core-0.9.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rand_core-0.9.3.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_test_utils/0.0.328/download"], + strip_prefix = "ra_ap_test_utils-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_test_utils-0.0.328.bazel"), ) maybe( http_archive, - name = "vendor_ts__rayon-1.11.0", - sha256 = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f", + name = "vendor_ts__ra_ap_toolchain-0.0.328", + sha256 = "2fed946c88a9dfa93de7a376a06493c5377a1052ac666ab9e1155f4ea57271c9", type = "tar.gz", - urls = ["https://static.crates.io/crates/rayon/1.11.0/download"], - strip_prefix = "rayon-1.11.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rayon-1.11.0.bazel"), + urls = ["https://static.crates.io/crates/ra_ap_toolchain/0.0.328/download"], + strip_prefix = "ra_ap_toolchain-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_toolchain-0.0.328.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__ra_ap_tt-0.0.328", + sha256 = "96dfc20add2675d38240a7815755b54f514d91b9dc0336cb3d024901af4faeef", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_tt/0.0.328/download"], + strip_prefix = "ra_ap_tt-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_tt-0.0.328.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__ra_ap_vfs-0.0.328", + sha256 = "d69bc10b59435e4d989d10bc0b602a5bd70e1dcc2c5d8513b10585d9e778b440", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_vfs/0.0.328/download"], + strip_prefix = "ra_ap_vfs-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_vfs-0.0.328.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__ra_ap_vfs-notify-0.0.328", + sha256 = "07f7f31bb0c5744ba1fe1b1460eeb62274110dfb94e4b6719cf2e7df9410032d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/ra_ap_vfs-notify/0.0.328/download"], + strip_prefix = "ra_ap_vfs-notify-0.0.328", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.ra_ap_vfs-notify-0.0.328.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__rand-0.10.1", + sha256 = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rand/0.10.1/download"], + strip_prefix = "rand-0.10.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rand-0.10.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__rand_core-0.10.1", + sha256 = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rand_core/0.10.1/download"], + strip_prefix = "rand_core-0.10.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rand_core-0.10.1.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__rayon-1.12.0", + sha256 = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rayon/1.12.0/download"], + strip_prefix = "rayon-1.12.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rayon-1.12.0.bazel"), ) maybe( @@ -2713,42 +2745,42 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__regex-1.11.3", - sha256 = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c", + name = "vendor_ts__regex-1.12.3", + sha256 = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276", type = "tar.gz", - urls = ["https://static.crates.io/crates/regex/1.11.3/download"], - strip_prefix = "regex-1.11.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.regex-1.11.3.bazel"), + urls = ["https://static.crates.io/crates/regex/1.12.3/download"], + strip_prefix = "regex-1.12.3", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.regex-1.12.3.bazel"), ) maybe( http_archive, - name = "vendor_ts__regex-automata-0.4.11", - sha256 = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad", + name = "vendor_ts__regex-automata-0.4.14", + sha256 = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f", type = "tar.gz", - urls = ["https://static.crates.io/crates/regex-automata/0.4.11/download"], - strip_prefix = "regex-automata-0.4.11", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.regex-automata-0.4.11.bazel"), + urls = ["https://static.crates.io/crates/regex-automata/0.4.14/download"], + strip_prefix = "regex-automata-0.4.14", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.regex-automata-0.4.14.bazel"), ) maybe( http_archive, - name = "vendor_ts__regex-syntax-0.8.6", - sha256 = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001", + name = "vendor_ts__regex-syntax-0.8.10", + sha256 = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a", type = "tar.gz", - urls = ["https://static.crates.io/crates/regex-syntax/0.8.6/download"], - strip_prefix = "regex-syntax-0.8.6", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.regex-syntax-0.8.6.bazel"), + urls = ["https://static.crates.io/crates/regex-syntax/0.8.10/download"], + strip_prefix = "regex-syntax-0.8.10", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.regex-syntax-0.8.10.bazel"), ) maybe( http_archive, - name = "vendor_ts__rowan-0.15.15", - sha256 = "32a58fa8a7ccff2aec4f39cc45bf5f985cec7125ab271cf681c279fd00192b49", + name = "vendor_ts__rowan-0.15.18", + sha256 = "62f509095fc8cc0c8c8564016771d458079c11a8d857e65861f045145c0d3208", type = "tar.gz", - urls = ["https://static.crates.io/crates/rowan/0.15.15/download"], - strip_prefix = "rowan-0.15.15", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rowan-0.15.15.bazel"), + urls = ["https://static.crates.io/crates/rowan/0.15.18/download"], + strip_prefix = "rowan-0.15.18", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rowan-0.15.18.bazel"), ) maybe( @@ -2763,12 +2795,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__rustc-hash-2.1.1", - sha256 = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d", + name = "vendor_ts__rustc-hash-2.1.2", + sha256 = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe", type = "tar.gz", - urls = ["https://static.crates.io/crates/rustc-hash/2.1.1/download"], - strip_prefix = "rustc-hash-2.1.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rustc-hash-2.1.1.bazel"), + urls = ["https://static.crates.io/crates/rustc-hash/2.1.2/download"], + strip_prefix = "rustc-hash-2.1.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rustc-hash-2.1.2.bazel"), ) maybe( @@ -2781,6 +2813,16 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rustc-literal-escaper-0.0.4.bazel"), ) + maybe( + http_archive, + name = "vendor_ts__rustc-literal-escaper-0.0.5", + sha256 = "e4ee29da77c5a54f42697493cd4c9b9f31b74df666a6c04dfc4fde77abe0438b", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rustc-literal-escaper/0.0.5/download"], + strip_prefix = "rustc-literal-escaper-0.0.5", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rustc-literal-escaper-0.0.5.bazel"), + ) + maybe( http_archive, name = "vendor_ts__rustc-stable-hash-0.1.2", @@ -2801,6 +2843,16 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rustc_apfloat-0.2.3+llvm-462a31f5a5ab.bazel"), ) + maybe( + http_archive, + name = "vendor_ts__rustc_version-0.4.1", + sha256 = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92", + type = "tar.gz", + urls = ["https://static.crates.io/crates/rustc_version/0.4.1/download"], + strip_prefix = "rustc_version-0.4.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.rustc_version-0.4.1.bazel"), + ) + maybe( http_archive, name = "vendor_ts__rustversion-1.0.22", @@ -2823,32 +2875,32 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__salsa-0.23.0", - sha256 = "2e235afdb8e510f38a07138fbe5a0b64691894358a9c0cbd813b1aade110efc9", + name = "vendor_ts__salsa-0.25.2", + sha256 = "e2e2aa2fca57727371eeafc975acc8e6f4c52f8166a78035543f6ee1c74c2dcc", type = "tar.gz", - urls = ["https://static.crates.io/crates/salsa/0.23.0/download"], - strip_prefix = "salsa-0.23.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.salsa-0.23.0.bazel"), + urls = ["https://static.crates.io/crates/salsa/0.25.2/download"], + strip_prefix = "salsa-0.25.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.salsa-0.25.2.bazel"), ) maybe( http_archive, - name = "vendor_ts__salsa-macro-rules-0.23.0", - sha256 = "2edb86a7e9c91f6d30c9ce054312721dbe773a162db27bbfae834d16177b30ce", + name = "vendor_ts__salsa-macro-rules-0.25.2", + sha256 = "1bfc2a1e7bf06964105515451d728f2422dedc3a112383324a00b191a5c397a3", type = "tar.gz", - urls = ["https://static.crates.io/crates/salsa-macro-rules/0.23.0/download"], - strip_prefix = "salsa-macro-rules-0.23.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.salsa-macro-rules-0.23.0.bazel"), + urls = ["https://static.crates.io/crates/salsa-macro-rules/0.25.2/download"], + strip_prefix = "salsa-macro-rules-0.25.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.salsa-macro-rules-0.25.2.bazel"), ) maybe( http_archive, - name = "vendor_ts__salsa-macros-0.23.0", - sha256 = "d0778d6e209051bc4e75acfe83bcd7848601ec3dbe9c3dbb982829020e9128af", + name = "vendor_ts__salsa-macros-0.25.2", + sha256 = "3d844c1aa34946da46af683b5c27ec1088a3d9d84a2b837a108223fd830220e1", type = "tar.gz", - urls = ["https://static.crates.io/crates/salsa-macros/0.23.0/download"], - strip_prefix = "salsa-macros-0.23.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.salsa-macros-0.23.0.bazel"), + urls = ["https://static.crates.io/crates/salsa-macros/0.25.2/download"], + strip_prefix = "salsa-macros-0.25.2", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.salsa-macros-0.25.2.bazel"), ) maybe( @@ -2881,16 +2933,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.schemars-1.0.4.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__scoped-tls-1.0.1", - sha256 = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294", - type = "tar.gz", - urls = ["https://static.crates.io/crates/scoped-tls/1.0.1/download"], - strip_prefix = "scoped-tls-1.0.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.scoped-tls-1.0.1.bazel"), - ) - maybe( http_archive, name = "vendor_ts__scopeguard-1.2.0", @@ -2903,22 +2945,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__seize-0.5.0", - sha256 = "e4b8d813387d566f627f3ea1b914c068aac94c40ae27ec43f5f33bde65abefe7", + name = "vendor_ts__semver-1.0.28", + sha256 = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd", type = "tar.gz", - urls = ["https://static.crates.io/crates/seize/0.5.0/download"], - strip_prefix = "seize-0.5.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.seize-0.5.0.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__semver-1.0.26", - sha256 = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0", - type = "tar.gz", - urls = ["https://static.crates.io/crates/semver/1.0.26/download"], - strip_prefix = "semver-1.0.26", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.semver-1.0.26.bazel"), + urls = ["https://static.crates.io/crates/semver/1.0.28/download"], + strip_prefix = "semver-1.0.28", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.semver-1.0.28.bazel"), ) maybe( @@ -2931,26 +2963,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde-1.0.228.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__serde-untagged-0.1.8", - sha256 = "34836a629bcbc6f1afdf0907a744870039b1e14c0561cb26094fa683b158eff3", - type = "tar.gz", - urls = ["https://static.crates.io/crates/serde-untagged/0.1.8/download"], - strip_prefix = "serde-untagged-0.1.8", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde-untagged-0.1.8.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__serde-value-0.7.0", - sha256 = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c", - type = "tar.gz", - urls = ["https://static.crates.io/crates/serde-value/0.7.0/download"], - strip_prefix = "serde-value-0.7.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde-value-0.7.0.bazel"), - ) - maybe( http_archive, name = "vendor_ts__serde_core-1.0.228", @@ -2973,52 +2985,42 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__serde_json-1.0.145", - sha256 = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c", - type = "tar.gz", - urls = ["https://static.crates.io/crates/serde_json/1.0.145/download"], - strip_prefix = "serde_json-1.0.145", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_json-1.0.145.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__serde_spanned-0.6.9", - sha256 = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3", + name = "vendor_ts__serde_json-1.0.149", + sha256 = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86", type = "tar.gz", - urls = ["https://static.crates.io/crates/serde_spanned/0.6.9/download"], - strip_prefix = "serde_spanned-0.6.9", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_spanned-0.6.9.bazel"), + urls = ["https://static.crates.io/crates/serde_json/1.0.149/download"], + strip_prefix = "serde_json-1.0.149", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_json-1.0.149.bazel"), ) maybe( http_archive, - name = "vendor_ts__serde_spanned-1.0.2", - sha256 = "5417783452c2be558477e104686f7de5dae53dba813c28435e0e70f82d9b04ee", + name = "vendor_ts__serde_spanned-1.1.1", + sha256 = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26", type = "tar.gz", - urls = ["https://static.crates.io/crates/serde_spanned/1.0.2/download"], - strip_prefix = "serde_spanned-1.0.2", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_spanned-1.0.2.bazel"), + urls = ["https://static.crates.io/crates/serde_spanned/1.1.1/download"], + strip_prefix = "serde_spanned-1.1.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_spanned-1.1.1.bazel"), ) maybe( http_archive, - name = "vendor_ts__serde_with-3.14.1", - sha256 = "c522100790450cf78eeac1507263d0a350d4d5b30df0c8e1fe051a10c22b376e", + name = "vendor_ts__serde_with-3.18.0", + sha256 = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f", type = "tar.gz", - urls = ["https://static.crates.io/crates/serde_with/3.14.1/download"], - strip_prefix = "serde_with-3.14.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_with-3.14.1.bazel"), + urls = ["https://static.crates.io/crates/serde_with/3.18.0/download"], + strip_prefix = "serde_with-3.18.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_with-3.18.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__serde_with_macros-3.14.1", - sha256 = "327ada00f7d64abaac1e55a6911e90cf665aa051b9a561c7006c157f4633135e", + name = "vendor_ts__serde_with_macros-3.18.0", + sha256 = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65", type = "tar.gz", - urls = ["https://static.crates.io/crates/serde_with_macros/3.14.1/download"], - strip_prefix = "serde_with_macros-3.14.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_with_macros-3.14.1.bazel"), + urls = ["https://static.crates.io/crates/serde_with_macros/3.18.0/download"], + strip_prefix = "serde_with_macros-3.18.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_with_macros-3.18.0.bazel"), ) maybe( @@ -3063,22 +3065,32 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__smol_str-0.3.2", - sha256 = "9676b89cd56310a87b93dec47b11af744f34d5fc9f367b829474eec0a891350d", + name = "vendor_ts__smol_str-0.3.6", + sha256 = "4aaa7368fcf4852a4c2dd92df0cace6a71f2091ca0a23391ce7f3a31833f1523", type = "tar.gz", - urls = ["https://static.crates.io/crates/smol_str/0.3.2/download"], - strip_prefix = "smol_str-0.3.2", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.smol_str-0.3.2.bazel"), + urls = ["https://static.crates.io/crates/smol_str/0.3.6/download"], + strip_prefix = "smol_str-0.3.6", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.smol_str-0.3.6.bazel"), ) maybe( http_archive, - name = "vendor_ts__stable_deref_trait-1.2.0", - sha256 = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3", + name = "vendor_ts__spin-0.9.8", + sha256 = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67", type = "tar.gz", - urls = ["https://static.crates.io/crates/stable_deref_trait/1.2.0/download"], - strip_prefix = "stable_deref_trait-1.2.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.stable_deref_trait-1.2.0.bazel"), + urls = ["https://static.crates.io/crates/spin/0.9.8/download"], + strip_prefix = "spin-0.9.8", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.spin-0.9.8.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__stable_deref_trait-1.2.1", + sha256 = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596", + type = "tar.gz", + urls = ["https://static.crates.io/crates/stable_deref_trait/1.2.1/download"], + strip_prefix = "stable_deref_trait-1.2.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.stable_deref_trait-1.2.1.bazel"), ) maybe( @@ -3103,12 +3115,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__syn-2.0.106", - sha256 = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6", + name = "vendor_ts__syn-2.0.117", + sha256 = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99", type = "tar.gz", - urls = ["https://static.crates.io/crates/syn/2.0.106/download"], - strip_prefix = "syn-2.0.106", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.syn-2.0.106.bazel"), + urls = ["https://static.crates.io/crates/syn/2.0.117/download"], + strip_prefix = "syn-2.0.117", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.syn-2.0.117.bazel"), ) maybe( @@ -3153,22 +3165,22 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__thiserror-2.0.16", - sha256 = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0", + name = "vendor_ts__thiserror-2.0.18", + sha256 = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4", type = "tar.gz", - urls = ["https://static.crates.io/crates/thiserror/2.0.16/download"], - strip_prefix = "thiserror-2.0.16", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.thiserror-2.0.16.bazel"), + urls = ["https://static.crates.io/crates/thiserror/2.0.18/download"], + strip_prefix = "thiserror-2.0.18", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.thiserror-2.0.18.bazel"), ) maybe( http_archive, - name = "vendor_ts__thiserror-impl-2.0.16", - sha256 = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960", + name = "vendor_ts__thiserror-impl-2.0.18", + sha256 = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5", type = "tar.gz", - urls = ["https://static.crates.io/crates/thiserror-impl/2.0.16/download"], - strip_prefix = "thiserror-impl-2.0.16", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.thiserror-impl-2.0.16.bazel"), + urls = ["https://static.crates.io/crates/thiserror-impl/2.0.18/download"], + strip_prefix = "thiserror-impl-2.0.18", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.thiserror-impl-2.0.18.bazel"), ) maybe( @@ -3183,152 +3195,122 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__time-0.3.43", - sha256 = "83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031", - type = "tar.gz", - urls = ["https://static.crates.io/crates/time/0.3.43/download"], - strip_prefix = "time-0.3.43", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.time-0.3.43.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__time-core-0.1.6", - sha256 = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b", + name = "vendor_ts__time-0.3.47", + sha256 = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c", type = "tar.gz", - urls = ["https://static.crates.io/crates/time-core/0.1.6/download"], - strip_prefix = "time-core-0.1.6", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.time-core-0.1.6.bazel"), + urls = ["https://static.crates.io/crates/time/0.3.47/download"], + strip_prefix = "time-0.3.47", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.time-0.3.47.bazel"), ) maybe( http_archive, - name = "vendor_ts__time-macros-0.2.24", - sha256 = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3", + name = "vendor_ts__time-core-0.1.8", + sha256 = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca", type = "tar.gz", - urls = ["https://static.crates.io/crates/time-macros/0.2.24/download"], - strip_prefix = "time-macros-0.2.24", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.time-macros-0.2.24.bazel"), + urls = ["https://static.crates.io/crates/time-core/0.1.8/download"], + strip_prefix = "time-core-0.1.8", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.time-core-0.1.8.bazel"), ) maybe( http_archive, - name = "vendor_ts__tinystr-0.8.1", - sha256 = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b", + name = "vendor_ts__time-macros-0.2.27", + sha256 = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215", type = "tar.gz", - urls = ["https://static.crates.io/crates/tinystr/0.8.1/download"], - strip_prefix = "tinystr-0.8.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tinystr-0.8.1.bazel"), + urls = ["https://static.crates.io/crates/time-macros/0.2.27/download"], + strip_prefix = "time-macros-0.2.27", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.time-macros-0.2.27.bazel"), ) maybe( http_archive, - name = "vendor_ts__toml-0.8.23", - sha256 = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362", + name = "vendor_ts__toml-0.9.12-spec-1.1.0", + sha256 = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863", type = "tar.gz", - urls = ["https://static.crates.io/crates/toml/0.8.23/download"], - strip_prefix = "toml-0.8.23", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml-0.8.23.bazel"), + urls = ["https://static.crates.io/crates/toml/0.9.12+spec-1.1.0/download"], + strip_prefix = "toml-0.9.12+spec-1.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml-0.9.12+spec-1.1.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__toml-0.9.7", - sha256 = "00e5e5d9bf2475ac9d4f0d9edab68cc573dc2fd644b0dba36b0c30a92dd9eaa0", + name = "vendor_ts__toml-1.1.2-spec-1.1.0", + sha256 = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee", type = "tar.gz", - urls = ["https://static.crates.io/crates/toml/0.9.7/download"], - strip_prefix = "toml-0.9.7", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml-0.9.7.bazel"), + urls = ["https://static.crates.io/crates/toml/1.1.2+spec-1.1.0/download"], + strip_prefix = "toml-1.1.2+spec-1.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml-1.1.2+spec-1.1.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__toml_datetime-0.6.11", - sha256 = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c", + name = "vendor_ts__toml_datetime-0.7.5-spec-1.1.0", + sha256 = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347", type = "tar.gz", - urls = ["https://static.crates.io/crates/toml_datetime/0.6.11/download"], - strip_prefix = "toml_datetime-0.6.11", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml_datetime-0.6.11.bazel"), + urls = ["https://static.crates.io/crates/toml_datetime/0.7.5+spec-1.1.0/download"], + strip_prefix = "toml_datetime-0.7.5+spec-1.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml_datetime-0.7.5+spec-1.1.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__toml_datetime-0.7.2", - sha256 = "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1", + name = "vendor_ts__toml_datetime-1.1.1-spec-1.1.0", + sha256 = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7", type = "tar.gz", - urls = ["https://static.crates.io/crates/toml_datetime/0.7.2/download"], - strip_prefix = "toml_datetime-0.7.2", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml_datetime-0.7.2.bazel"), + urls = ["https://static.crates.io/crates/toml_datetime/1.1.1+spec-1.1.0/download"], + strip_prefix = "toml_datetime-1.1.1+spec-1.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml_datetime-1.1.1+spec-1.1.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__toml_edit-0.22.27", - sha256 = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a", + name = "vendor_ts__toml_parser-1.1.2-spec-1.1.0", + sha256 = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526", type = "tar.gz", - urls = ["https://static.crates.io/crates/toml_edit/0.22.27/download"], - strip_prefix = "toml_edit-0.22.27", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml_edit-0.22.27.bazel"), + urls = ["https://static.crates.io/crates/toml_parser/1.1.2+spec-1.1.0/download"], + strip_prefix = "toml_parser-1.1.2+spec-1.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml_parser-1.1.2+spec-1.1.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__toml_parser-1.0.3", - sha256 = "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627", + name = "vendor_ts__toml_writer-1.1.1-spec-1.1.0", + sha256 = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db", type = "tar.gz", - urls = ["https://static.crates.io/crates/toml_parser/1.0.3/download"], - strip_prefix = "toml_parser-1.0.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml_parser-1.0.3.bazel"), + urls = ["https://static.crates.io/crates/toml_writer/1.1.1+spec-1.1.0/download"], + strip_prefix = "toml_writer-1.1.1+spec-1.1.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml_writer-1.1.1+spec-1.1.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__toml_write-0.1.2", - sha256 = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801", + name = "vendor_ts__tracing-0.1.44", + sha256 = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100", type = "tar.gz", - urls = ["https://static.crates.io/crates/toml_write/0.1.2/download"], - strip_prefix = "toml_write-0.1.2", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml_write-0.1.2.bazel"), + urls = ["https://static.crates.io/crates/tracing/0.1.44/download"], + strip_prefix = "tracing-0.1.44", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-0.1.44.bazel"), ) maybe( http_archive, - name = "vendor_ts__toml_writer-1.0.3", - sha256 = "d163a63c116ce562a22cda521fcc4d79152e7aba014456fb5eb442f6d6a10109", + name = "vendor_ts__tracing-attributes-0.1.31", + sha256 = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da", type = "tar.gz", - urls = ["https://static.crates.io/crates/toml_writer/1.0.3/download"], - strip_prefix = "toml_writer-1.0.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.toml_writer-1.0.3.bazel"), + urls = ["https://static.crates.io/crates/tracing-attributes/0.1.31/download"], + strip_prefix = "tracing-attributes-0.1.31", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-attributes-0.1.31.bazel"), ) maybe( http_archive, - name = "vendor_ts__tracing-0.1.41", - sha256 = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0", + name = "vendor_ts__tracing-core-0.1.36", + sha256 = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a", type = "tar.gz", - urls = ["https://static.crates.io/crates/tracing/0.1.41/download"], - strip_prefix = "tracing-0.1.41", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-0.1.41.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__tracing-attributes-0.1.30", - sha256 = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903", - type = "tar.gz", - urls = ["https://static.crates.io/crates/tracing-attributes/0.1.30/download"], - strip_prefix = "tracing-attributes-0.1.30", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-attributes-0.1.30.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__tracing-core-0.1.34", - sha256 = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678", - type = "tar.gz", - urls = ["https://static.crates.io/crates/tracing-core/0.1.34/download"], - strip_prefix = "tracing-core-0.1.34", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-core-0.1.34.bazel"), + urls = ["https://static.crates.io/crates/tracing-core/0.1.36/download"], + strip_prefix = "tracing-core-0.1.36", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-core-0.1.36.bazel"), ) maybe( @@ -3353,12 +3335,22 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__tracing-subscriber-0.3.20", - sha256 = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5", + name = "vendor_ts__tracing-subscriber-0.3.23", + sha256 = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319", type = "tar.gz", - urls = ["https://static.crates.io/crates/tracing-subscriber/0.3.20/download"], - strip_prefix = "tracing-subscriber-0.3.20", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-subscriber-0.3.20.bazel"), + urls = ["https://static.crates.io/crates/tracing-subscriber/0.3.23/download"], + strip_prefix = "tracing-subscriber-0.3.23", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-subscriber-0.3.23.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__tracing-tree-0.4.1", + sha256 = "ac87aa03b6a4d5a7e4810d1a80c19601dbe0f8a837e9177f23af721c7ba7beec", + type = "tar.gz", + urls = ["https://static.crates.io/crates/tracing-tree/0.4.1/download"], + strip_prefix = "tracing-tree-0.4.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.tracing-tree-0.4.1.bazel"), ) maybe( @@ -3423,12 +3415,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__triomphe-0.1.14", - sha256 = "ef8f7726da4807b58ea5c96fdc122f80702030edc33b35aff9190a51148ccc85", + name = "vendor_ts__triomphe-0.1.15", + sha256 = "dd69c5aa8f924c7519d6372789a74eac5b94fb0f8fcf0d4a97eb0bfc3e785f39", type = "tar.gz", - urls = ["https://static.crates.io/crates/triomphe/0.1.14/download"], - strip_prefix = "triomphe-0.1.14", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.triomphe-0.1.14.bazel"), + urls = ["https://static.crates.io/crates/triomphe/0.1.15/download"], + strip_prefix = "triomphe-0.1.15", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.triomphe-0.1.15.bazel"), ) maybe( @@ -3441,16 +3433,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.typed-arena-2.0.2.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__typeid-1.0.3", - sha256 = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c", - type = "tar.gz", - urls = ["https://static.crates.io/crates/typeid/1.0.3/download"], - strip_prefix = "typeid-1.0.3", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.typeid-1.0.3.bazel"), - ) - maybe( http_archive, name = "vendor_ts__uncased-0.9.10", @@ -3473,12 +3455,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__unicode-ident-1.0.19", - sha256 = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d", + name = "vendor_ts__unicode-ident-1.0.24", + sha256 = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75", type = "tar.gz", - urls = ["https://static.crates.io/crates/unicode-ident/1.0.19/download"], - strip_prefix = "unicode-ident-1.0.19", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.unicode-ident-1.0.19.bazel"), + urls = ["https://static.crates.io/crates/unicode-ident/1.0.24/download"], + strip_prefix = "unicode-ident-1.0.24", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.unicode-ident-1.0.24.bazel"), ) maybe( @@ -3511,26 +3493,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.unsafe-libyaml-0.2.11.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__url-2.5.7", - sha256 = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b", - type = "tar.gz", - urls = ["https://static.crates.io/crates/url/2.5.7/download"], - strip_prefix = "url-2.5.7", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.url-2.5.7.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__utf8_iter-1.0.4", - sha256 = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be", - type = "tar.gz", - urls = ["https://static.crates.io/crates/utf8_iter/1.0.4/download"], - strip_prefix = "utf8_iter-1.0.4", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.utf8_iter-1.0.4.bazel"), - ) - maybe( http_archive, name = "vendor_ts__utf8parse-0.2.2", @@ -3581,16 +3543,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__wasi-0.14.5-wasi-0.2.4", - sha256 = "a4494f6290a82f5fe584817a676a34b9d6763e8d9d18204009fb31dceca98fd4", - type = "tar.gz", - urls = ["https://static.crates.io/crates/wasi/0.14.5+wasi-0.2.4/download"], - strip_prefix = "wasi-0.14.5+wasi-0.2.4", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasi-0.14.5+wasi-0.2.4.bazel"), - ) - maybe( http_archive, name = "vendor_ts__wasip2-1.0.0-wasi-0.2.4", @@ -3601,6 +3553,16 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasip2-1.0.0+wasi-0.2.4.bazel"), ) + maybe( + http_archive, + name = "vendor_ts__wasip3-0.4.0-wasi-0.3.0-rc-2026-01-06", + sha256 = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5", + type = "tar.gz", + urls = ["https://static.crates.io/crates/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06/download"], + strip_prefix = "wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.bazel"), + ) + maybe( http_archive, name = "vendor_ts__wasm-bindgen-0.2.101", @@ -3651,6 +3613,36 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasm-bindgen-shared-0.2.101.bazel"), ) + maybe( + http_archive, + name = "vendor_ts__wasm-encoder-0.244.0", + sha256 = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319", + type = "tar.gz", + urls = ["https://static.crates.io/crates/wasm-encoder/0.244.0/download"], + strip_prefix = "wasm-encoder-0.244.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasm-encoder-0.244.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__wasm-metadata-0.244.0", + sha256 = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909", + type = "tar.gz", + urls = ["https://static.crates.io/crates/wasm-metadata/0.244.0/download"], + strip_prefix = "wasm-metadata-0.244.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasm-metadata-0.244.0.bazel"), + ) + + maybe( + http_archive, + name = "vendor_ts__wasmparser-0.244.0", + sha256 = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe", + type = "tar.gz", + urls = ["https://static.crates.io/crates/wasmparser/0.244.0/download"], + strip_prefix = "wasmparser-0.244.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wasmparser-0.244.0.bazel"), + ) + maybe( http_archive, name = "vendor_ts__winapi-util-0.1.11", @@ -3741,16 +3733,6 @@ def crate_repositories(): build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows-sys-0.52.0.bazel"), ) - maybe( - http_archive, - name = "vendor_ts__windows-sys-0.59.0", - sha256 = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b", - type = "tar.gz", - urls = ["https://static.crates.io/crates/windows-sys/0.59.0/download"], - strip_prefix = "windows-sys-0.59.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.windows-sys-0.59.0.bazel"), - ) - maybe( http_archive, name = "vendor_ts__windows-sys-0.60.2", @@ -3953,132 +3935,112 @@ def crate_repositories(): maybe( http_archive, - name = "vendor_ts__winnow-0.7.13", - sha256 = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf", - type = "tar.gz", - urls = ["https://static.crates.io/crates/winnow/0.7.13/download"], - strip_prefix = "winnow-0.7.13", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.winnow-0.7.13.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__wit-bindgen-0.45.1", - sha256 = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36", + name = "vendor_ts__winnow-0.7.15", + sha256 = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945", type = "tar.gz", - urls = ["https://static.crates.io/crates/wit-bindgen/0.45.1/download"], - strip_prefix = "wit-bindgen-0.45.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wit-bindgen-0.45.1.bazel"), + urls = ["https://static.crates.io/crates/winnow/0.7.15/download"], + strip_prefix = "winnow-0.7.15", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.winnow-0.7.15.bazel"), ) maybe( http_archive, - name = "vendor_ts__writeable-0.6.1", - sha256 = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb", + name = "vendor_ts__winnow-1.0.1", + sha256 = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5", type = "tar.gz", - urls = ["https://static.crates.io/crates/writeable/0.6.1/download"], - strip_prefix = "writeable-0.6.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.writeable-0.6.1.bazel"), + urls = ["https://static.crates.io/crates/winnow/1.0.1/download"], + strip_prefix = "winnow-1.0.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.winnow-1.0.1.bazel"), ) maybe( http_archive, - name = "vendor_ts__yansi-1.0.1", - sha256 = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049", - type = "tar.gz", - urls = ["https://static.crates.io/crates/yansi/1.0.1/download"], - strip_prefix = "yansi-1.0.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.yansi-1.0.1.bazel"), - ) - - maybe( - http_archive, - name = "vendor_ts__yoke-0.8.0", - sha256 = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc", + name = "vendor_ts__wit-bindgen-0.45.1", + sha256 = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36", type = "tar.gz", - urls = ["https://static.crates.io/crates/yoke/0.8.0/download"], - strip_prefix = "yoke-0.8.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.yoke-0.8.0.bazel"), + urls = ["https://static.crates.io/crates/wit-bindgen/0.45.1/download"], + strip_prefix = "wit-bindgen-0.45.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wit-bindgen-0.45.1.bazel"), ) maybe( http_archive, - name = "vendor_ts__yoke-derive-0.8.0", - sha256 = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6", + name = "vendor_ts__wit-bindgen-0.51.0", + sha256 = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5", type = "tar.gz", - urls = ["https://static.crates.io/crates/yoke-derive/0.8.0/download"], - strip_prefix = "yoke-derive-0.8.0", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.yoke-derive-0.8.0.bazel"), + urls = ["https://static.crates.io/crates/wit-bindgen/0.51.0/download"], + strip_prefix = "wit-bindgen-0.51.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wit-bindgen-0.51.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__zerocopy-0.8.27", - sha256 = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c", + name = "vendor_ts__wit-bindgen-core-0.51.0", + sha256 = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc", type = "tar.gz", - urls = ["https://static.crates.io/crates/zerocopy/0.8.27/download"], - strip_prefix = "zerocopy-0.8.27", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.zerocopy-0.8.27.bazel"), + urls = ["https://static.crates.io/crates/wit-bindgen-core/0.51.0/download"], + strip_prefix = "wit-bindgen-core-0.51.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wit-bindgen-core-0.51.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__zerocopy-derive-0.8.27", - sha256 = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831", + name = "vendor_ts__wit-bindgen-rust-0.51.0", + sha256 = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21", type = "tar.gz", - urls = ["https://static.crates.io/crates/zerocopy-derive/0.8.27/download"], - strip_prefix = "zerocopy-derive-0.8.27", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.zerocopy-derive-0.8.27.bazel"), + urls = ["https://static.crates.io/crates/wit-bindgen-rust/0.51.0/download"], + strip_prefix = "wit-bindgen-rust-0.51.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wit-bindgen-rust-0.51.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__zerofrom-0.1.6", - sha256 = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5", + name = "vendor_ts__wit-bindgen-rust-macro-0.51.0", + sha256 = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a", type = "tar.gz", - urls = ["https://static.crates.io/crates/zerofrom/0.1.6/download"], - strip_prefix = "zerofrom-0.1.6", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.zerofrom-0.1.6.bazel"), + urls = ["https://static.crates.io/crates/wit-bindgen-rust-macro/0.51.0/download"], + strip_prefix = "wit-bindgen-rust-macro-0.51.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wit-bindgen-rust-macro-0.51.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__zerofrom-derive-0.1.6", - sha256 = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502", + name = "vendor_ts__wit-component-0.244.0", + sha256 = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2", type = "tar.gz", - urls = ["https://static.crates.io/crates/zerofrom-derive/0.1.6/download"], - strip_prefix = "zerofrom-derive-0.1.6", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.zerofrom-derive-0.1.6.bazel"), + urls = ["https://static.crates.io/crates/wit-component/0.244.0/download"], + strip_prefix = "wit-component-0.244.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wit-component-0.244.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__zerotrie-0.2.2", - sha256 = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595", + name = "vendor_ts__wit-parser-0.244.0", + sha256 = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736", type = "tar.gz", - urls = ["https://static.crates.io/crates/zerotrie/0.2.2/download"], - strip_prefix = "zerotrie-0.2.2", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.zerotrie-0.2.2.bazel"), + urls = ["https://static.crates.io/crates/wit-parser/0.244.0/download"], + strip_prefix = "wit-parser-0.244.0", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.wit-parser-0.244.0.bazel"), ) maybe( http_archive, - name = "vendor_ts__zerovec-0.11.4", - sha256 = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b", + name = "vendor_ts__yansi-1.0.1", + sha256 = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049", type = "tar.gz", - urls = ["https://static.crates.io/crates/zerovec/0.11.4/download"], - strip_prefix = "zerovec-0.11.4", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.zerovec-0.11.4.bazel"), + urls = ["https://static.crates.io/crates/yansi/1.0.1/download"], + strip_prefix = "yansi-1.0.1", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.yansi-1.0.1.bazel"), ) maybe( http_archive, - name = "vendor_ts__zerovec-derive-0.11.1", - sha256 = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f", + name = "vendor_ts__zmij-1.0.21", + sha256 = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa", type = "tar.gz", - urls = ["https://static.crates.io/crates/zerovec-derive/0.11.1/download"], - strip_prefix = "zerovec-derive-0.11.1", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.zerovec-derive-0.11.1.bazel"), + urls = ["https://static.crates.io/crates/zmij/1.0.21/download"], + strip_prefix = "zmij-1.0.21", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.zmij-1.0.21.bazel"), ) maybe( @@ -4112,11 +4074,11 @@ def crate_repositories(): ) return [ - struct(repo = "vendor_ts__anyhow-1.0.100", is_dev_dep = False), - struct(repo = "vendor_ts__argfile-0.2.1", is_dev_dep = False), + struct(repo = "vendor_ts__anyhow-1.0.102", is_dev_dep = False), + struct(repo = "vendor_ts__argfile-1.0.0", is_dev_dep = False), struct(repo = "vendor_ts__chalk-ir-0.104.0", is_dev_dep = False), - struct(repo = "vendor_ts__chrono-0.4.42", is_dev_dep = False), - struct(repo = "vendor_ts__clap-4.5.48", is_dev_dep = False), + struct(repo = "vendor_ts__chrono-0.4.44", is_dev_dep = False), + struct(repo = "vendor_ts__clap-4.6.0", is_dev_dep = False), struct(repo = "vendor_ts__dunce-1.0.5", is_dev_dep = False), struct(repo = "vendor_ts__either-1.15.0", is_dev_dep = False), struct(repo = "vendor_ts__encoding-0.2.33", is_dev_dep = False), @@ -4129,41 +4091,41 @@ def crate_repositories(): struct(repo = "vendor_ts__mustache-0.9.0", is_dev_dep = False), struct(repo = "vendor_ts__num-traits-0.2.19", is_dev_dep = False), struct(repo = "vendor_ts__num_cpus-1.17.0", is_dev_dep = False), - struct(repo = "vendor_ts__proc-macro2-1.0.101", is_dev_dep = False), - struct(repo = "vendor_ts__quote-1.0.41", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_base_db-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_cfg-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_hir-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_hir_def-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_hir_expand-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_hir_ty-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_ide_db-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_intern-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_load-cargo-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_parser-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_paths-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_project_model-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_span-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_stdx-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_syntax-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__ra_ap_vfs-0.0.301", is_dev_dep = False), - struct(repo = "vendor_ts__rayon-1.11.0", is_dev_dep = False), - struct(repo = "vendor_ts__regex-1.11.3", is_dev_dep = False), + struct(repo = "vendor_ts__proc-macro2-1.0.106", is_dev_dep = False), + struct(repo = "vendor_ts__quote-1.0.45", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_base_db-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_cfg-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_hir-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_hir_def-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_hir_expand-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_hir_ty-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_ide_db-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_intern-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_load-cargo-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_parser-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_paths-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_project_model-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_span-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_stdx-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_syntax-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_vfs-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__rayon-1.12.0", is_dev_dep = False), + struct(repo = "vendor_ts__regex-1.12.3", is_dev_dep = False), struct(repo = "vendor_ts__serde-1.0.228", is_dev_dep = False), - struct(repo = "vendor_ts__serde_json-1.0.145", is_dev_dep = False), - struct(repo = "vendor_ts__serde_with-3.14.1", is_dev_dep = False), - struct(repo = "vendor_ts__syn-2.0.106", is_dev_dep = False), - struct(repo = "vendor_ts__toml-0.9.7", is_dev_dep = False), - struct(repo = "vendor_ts__tracing-0.1.41", is_dev_dep = False), + struct(repo = "vendor_ts__serde_json-1.0.149", is_dev_dep = False), + struct(repo = "vendor_ts__serde_with-3.18.0", is_dev_dep = False), + struct(repo = "vendor_ts__syn-2.0.117", is_dev_dep = False), + struct(repo = "vendor_ts__toml-1.1.2-spec-1.1.0", is_dev_dep = False), + struct(repo = "vendor_ts__tracing-0.1.44", is_dev_dep = False), struct(repo = "vendor_ts__tracing-flame-0.2.0", is_dev_dep = False), - struct(repo = "vendor_ts__tracing-subscriber-0.3.20", is_dev_dep = False), + struct(repo = "vendor_ts__tracing-subscriber-0.3.23", is_dev_dep = False), struct(repo = "vendor_ts__tree-sitter-0.25.9", is_dev_dep = False), struct(repo = "vendor_ts__tree-sitter-embedded-template-0.25.0", is_dev_dep = False), struct(repo = "vendor_ts__tree-sitter-ruby-0.23.1", is_dev_dep = False), - struct(repo = "vendor_ts__triomphe-0.1.14", is_dev_dep = False), + struct(repo = "vendor_ts__triomphe-0.1.15", is_dev_dep = False), struct(repo = "vendor_ts__ungrammar-1.16.1", is_dev_dep = False), struct(repo = "vendor_ts__zstd-0.13.3", is_dev_dep = False), - struct(repo = "vendor_ts__rand-0.9.2", is_dev_dep = True), + struct(repo = "vendor_ts__rand-0.10.1", is_dev_dep = True), struct(repo = "vendor_ts__tree-sitter-json-0.24.8", is_dev_dep = True), struct(repo = "vendor_ts__tree-sitter-ql-0.23.1", is_dev_dep = True), ] From 5f76c946deeec685a4e93fc60a2f4fec58ec8725 Mon Sep 17 00:00:00 2001 From: Taus Date: Wed, 15 Apr 2026 13:11:27 +0000 Subject: [PATCH 003/190] Rust: update rust-analyzer source and run codegen --- MODULE.bazel | 4 +- .../ast-generator/patches/rust-analyzer.patch | 20 +- rust/ast-generator/src/main.rs | 8 +- rust/extractor/src/generated/.generated.list | 2 +- rust/extractor/src/generated/top.rs | 801 ++++++++++++++---- rust/extractor/src/translate/generated.rs | 231 +++-- rust/ql/.generated.list | 100 ++- rust/ql/.gitattributes | 60 +- .../internal/generated/CfgNodes.qll | 49 +- rust/ql/lib/codeql/rust/elements.qll | 12 +- .../ql/lib/codeql/rust/elements/BlockExpr.qll | 1 + rust/ql/lib/codeql/rust/elements/CfgAtom.qll | 9 + .../lib/codeql/rust/elements/CfgAttrMeta.qll | 10 + .../lib/codeql/rust/elements/CfgComposite.qll | 9 + rust/ql/lib/codeql/rust/elements/CfgMeta.qll | 10 + .../lib/codeql/rust/elements/CfgPredicate.qll | 9 + .../codeql/rust/elements/FormatArgsArg.qll | 2 +- .../rust/elements/FormatArgsArgName.qll | 9 + .../lib/codeql/rust/elements/KeyValueMeta.qll | 11 + rust/ql/lib/codeql/rust/elements/Meta.qll | 3 - rust/ql/lib/codeql/rust/elements/PathMeta.qll | 10 + .../lib/codeql/rust/elements/StructField.qll | 2 +- .../codeql/rust/elements/TokenTreeMeta.qll | 11 + .../lib/codeql/rust/elements/TraitAlias.qll | 23 - .../codeql/rust/elements/TryBlockModifier.qll | 10 + .../lib/codeql/rust/elements/UnsafeMeta.qll | 9 + rust/ql/lib/codeql/rust/elements/Variant.qll | 2 +- ...Constructor.qll => CfgAtomConstructor.qll} | 6 +- .../{TraitAliasImpl.qll => CfgAtomImpl.qll} | 16 +- .../internal/CfgAttrMetaConstructor.qll | 14 + .../elements/internal/CfgAttrMetaImpl.qll | 16 + .../internal/CfgCompositeConstructor.qll | 14 + .../elements/internal/CfgCompositeImpl.qll | 16 + .../elements/internal/CfgMetaConstructor.qll | 14 + .../rust/elements/internal/CfgMetaImpl.qll | 16 + .../elements/internal/CfgPredicateImpl.qll | 16 + .../internal/FormatArgsArgNameConstructor.qll | 14 + .../internal/FormatArgsArgNameImpl.qll | 16 + .../internal/KeyValueMetaConstructor.qll | 14 + .../elements/internal/KeyValueMetaImpl.qll | 16 + .../elements/internal/PathMetaConstructor.qll | 14 + .../rust/elements/internal/PathMetaImpl.qll | 16 + .../internal/TokenTreeMetaConstructor.qll | 14 + .../elements/internal/TokenTreeMetaImpl.qll | 16 + .../internal/TryBlockModifierConstructor.qll | 14 + .../internal/TryBlockModifierImpl.qll | 16 + ...structor.qll => UnsafeMetaConstructor.qll} | 6 +- .../rust/elements/internal/UnsafeMetaImpl.qll | 16 + .../elements/internal/generated/BlockExpr.qll | 21 +- .../elements/internal/generated/CfgAtom.qll | 23 + .../internal/generated/CfgAttrMeta.qll | 60 ++ .../internal/generated/CfgComposite.qll | 44 + .../elements/internal/generated/CfgMeta.qll | 39 + .../internal/generated/CfgPredicate.qll | 21 + .../internal/generated/FormatArgsArg.qll | 26 +- .../internal/generated/FormatArgsArgName.qll | 23 + .../internal/generated/KeyValueMeta.qll | 55 ++ .../rust/elements/internal/generated/Meta.qll | 49 +- .../internal/generated/ParentChild.qll | 248 ++++-- .../elements/internal/generated/PathMeta.qll | 37 + .../rust/elements/internal/generated/Raw.qll | 469 ++++++---- .../internal/generated/StructField.qll | 14 +- .../elements/internal/generated/Synth.qll | 288 ++++++- .../internal/generated/SynthConstructors.qll | 12 +- .../internal/generated/TokenTreeMeta.qll | 55 ++ .../internal/generated/TraitAlias.qll | 128 --- .../internal/generated/TryBlockModifier.qll | 44 + .../internal/generated/UnsafeMeta.qll | 42 + .../elements/internal/generated/Variant.qll | 12 +- rust/ql/lib/rust.dbscheme | 227 +++-- .../generated/.generated_tests.list | 2 - .../extractor-tests/generated/.gitattributes | 2 - .../generated/BlockExpr/BlockExpr.ql | 10 +- .../generated/CfgAtom/MISSING_SOURCE.txt | 4 + .../generated/CfgAttrMeta/MISSING_SOURCE.txt | 4 + .../generated/CfgComposite/MISSING_SOURCE.txt | 4 + .../generated/CfgMeta/MISSING_SOURCE.txt | 4 + .../FormatArgsArgName/MISSING_SOURCE.txt | 4 + .../generated/FormatArgsExpr/FormatArgsArg.ql | 8 +- .../generated/KeyValueMeta/MISSING_SOURCE.txt | 4 + .../extractor-tests/generated/Meta/Meta.ql | 22 - .../generated/Meta/gen_meta.rs | 14 - .../generated/PathMeta/MISSING_SOURCE.txt | 4 + .../generated/StructField/StructField.ql | 4 +- .../TokenTreeMeta/MISSING_SOURCE.txt | 4 + .../generated/TraitAlias/TraitAlias.ql | 35 - .../generated/TraitAlias/gen_trait_alias.rs | 8 - .../TryBlockModifier/MISSING_SOURCE.txt | 4 + .../generated/UnsafeMeta/MISSING_SOURCE.txt | 4 + .../generated/Variant/Variant.ql | 4 +- rust/schema/annotations.py | 12 - rust/schema/ast.py | 61 +- 92 files changed, 2866 insertions(+), 1020 deletions(-) create mode 100644 rust/ql/lib/codeql/rust/elements/CfgAtom.qll create mode 100644 rust/ql/lib/codeql/rust/elements/CfgAttrMeta.qll create mode 100644 rust/ql/lib/codeql/rust/elements/CfgComposite.qll create mode 100644 rust/ql/lib/codeql/rust/elements/CfgMeta.qll create mode 100644 rust/ql/lib/codeql/rust/elements/CfgPredicate.qll create mode 100644 rust/ql/lib/codeql/rust/elements/FormatArgsArgName.qll create mode 100644 rust/ql/lib/codeql/rust/elements/KeyValueMeta.qll create mode 100644 rust/ql/lib/codeql/rust/elements/PathMeta.qll create mode 100644 rust/ql/lib/codeql/rust/elements/TokenTreeMeta.qll delete mode 100644 rust/ql/lib/codeql/rust/elements/TraitAlias.qll create mode 100644 rust/ql/lib/codeql/rust/elements/TryBlockModifier.qll create mode 100644 rust/ql/lib/codeql/rust/elements/UnsafeMeta.qll rename rust/ql/lib/codeql/rust/elements/internal/{MetaConstructor.qll => CfgAtomConstructor.qll} (64%) rename rust/ql/lib/codeql/rust/elements/internal/{TraitAliasImpl.qll => CfgAtomImpl.qll} (51%) create mode 100644 rust/ql/lib/codeql/rust/elements/internal/CfgAttrMetaConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/CfgAttrMetaImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/CfgCompositeConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/CfgCompositeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/CfgMetaConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/CfgMetaImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/CfgPredicateImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/FormatArgsArgNameConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/FormatArgsArgNameImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/KeyValueMetaConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/KeyValueMetaImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/PathMetaConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/PathMetaImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/TokenTreeMetaConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/TokenTreeMetaImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/TryBlockModifierConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/TryBlockModifierImpl.qll rename rust/ql/lib/codeql/rust/elements/internal/{TraitAliasConstructor.qll => UnsafeMetaConstructor.qll} (64%) create mode 100644 rust/ql/lib/codeql/rust/elements/internal/UnsafeMetaImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/CfgAtom.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/CfgAttrMeta.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/CfgComposite.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/CfgMeta.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/CfgPredicate.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/FormatArgsArgName.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/KeyValueMeta.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/PathMeta.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/TokenTreeMeta.qll delete mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/TraitAlias.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/TryBlockModifier.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/UnsafeMeta.qll create mode 100644 rust/ql/test/extractor-tests/generated/CfgAtom/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/CfgAttrMeta/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/CfgComposite/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/CfgMeta/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/FormatArgsArgName/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/KeyValueMeta/MISSING_SOURCE.txt delete mode 100644 rust/ql/test/extractor-tests/generated/Meta/Meta.ql delete mode 100644 rust/ql/test/extractor-tests/generated/Meta/gen_meta.rs create mode 100644 rust/ql/test/extractor-tests/generated/PathMeta/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/TokenTreeMeta/MISSING_SOURCE.txt delete mode 100644 rust/ql/test/extractor-tests/generated/TraitAlias/TraitAlias.ql delete mode 100644 rust/ql/test/extractor-tests/generated/TraitAlias/gen_trait_alias.rs create mode 100644 rust/ql/test/extractor-tests/generated/TryBlockModifier/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/UnsafeMeta/MISSING_SOURCE.txt diff --git a/MODULE.bazel b/MODULE.bazel index dfc9a0c9144a..7fda4b7e42c2 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -159,12 +159,12 @@ use_repo( http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # rust-analyzer sources needed by the rust ast-generator (see `rust/ast-generator/README.md`) -RUST_ANALYZER_SRC_TAG = "2025-01-07" +RUST_ANALYZER_SRC_TAG = "2026-04-13" http_archive( name = "rust-analyzer-src", build_file = "//rust/ast-generator:BUILD.rust-analyzer-src.bazel", - integrity = "sha256-eo8mIaUafZL8LOM65bDIIIXw1rNQ/P/x5RK/XUtgo5g=", + integrity = "sha256-UB/+EVx/6j4VGvnb7jfRqPaoc7Uwci3rEt6il+2J1Ds=", patch_args = ["-p1"], patches = [ "//rust/ast-generator:patches/rust-analyzer.patch", diff --git a/rust/ast-generator/patches/rust-analyzer.patch b/rust/ast-generator/patches/rust-analyzer.patch index e799e90f48a4..b8b8e6e6c8f0 100644 --- a/rust/ast-generator/patches/rust-analyzer.patch +++ b/rust/ast-generator/patches/rust-analyzer.patch @@ -1,5 +1,5 @@ diff --git a/xtask/src/codegen/grammar.rs b/xtask/src/codegen/grammar.rs -index e7534582f2..49c96f1be3 100644 +index 257429c..ddbe321 100644 --- a/xtask/src/codegen/grammar.rs +++ b/xtask/src/codegen/grammar.rs @@ -3,7 +3,9 @@ @@ -22,7 +22,7 @@ index e7534582f2..49c96f1be3 100644 use self::ast_src::{AstEnumSrc, AstNodeSrc, AstSrc, Cardinality, Field, KindsSrc}; pub(crate) fn generate(check: bool) { -@@ -624,7 +626,7 @@ fn pluralize(s: &str) -> String { +@@ -775,7 +777,7 @@ fn pluralize(s: &str) -> String { } impl Field { @@ -31,26 +31,26 @@ index e7534582f2..49c96f1be3 100644 matches!(self, Field::Node { cardinality: Cardinality::Many, .. }) } fn token_kind(&self) -> Option { -@@ -636,7 +638,7 @@ impl Field { +@@ -787,7 +789,7 @@ impl Field { _ => None, } } - fn method_name(&self) -> String { + pub fn method_name(&self) -> String { match self { - Field::Token(name) => { - let name = match name.as_str() { -@@ -682,7 +684,7 @@ impl Field { + Field::Token { name, token, .. } => { + if let Some(name) = name { +@@ -836,7 +838,7 @@ impl Field { } } } - fn ty(&self) -> proc_macro2::Ident { + pub fn ty(&self) -> proc_macro2::Ident { match self { - Field::Token(_) => format_ident!("SyntaxToken"), + Field::Token { .. } => format_ident!("SyntaxToken"), Field::Node { ty, .. } => format_ident!("{}", ty), -@@ -699,7 +701,7 @@ fn clean_token_name(name: &str) -> String { - } +@@ -849,7 +851,7 @@ fn clean_token_name(name: &str) -> String { + if cleaned.is_empty() { name.to_owned() } else { cleaned.to_owned() } } -fn lower(grammar: &Grammar) -> AstSrc { @@ -59,7 +59,7 @@ index e7534582f2..49c96f1be3 100644 tokens: "Whitespace Comment String ByteString CString IntNumber FloatNumber Char Byte Ident" diff --git a/xtask/src/codegen/grammar/ast_src.rs b/xtask/src/codegen/grammar/ast_src.rs -index 9269d15423..babe7ca1bf 100644 +index a0abdf0..5f59f97 100644 --- a/xtask/src/codegen/grammar/ast_src.rs +++ b/xtask/src/codegen/grammar/ast_src.rs @@ -1,5 +1,8 @@ diff --git a/rust/ast-generator/src/main.rs b/rust/ast-generator/src/main.rs index b1de337f3aca..fe6865a172fb 100644 --- a/rust/ast-generator/src/main.rs +++ b/rust/ast-generator/src/main.rs @@ -308,10 +308,10 @@ fn write_schema( fn get_fields(node: &AstNodeSrc) -> Vec { let mut result = Vec::new(); for field in &node.fields { - if let Field::Token(name) = field { - if should_predicate_be_extracted(name) { + if let Field::Token { token, .. } = field { + if should_predicate_be_extracted(token) { result.push(FieldInfo { - name: format!("is_{name}"), + name: format!("is_{token}"), ty: FieldType::Predicate, }); } @@ -326,7 +326,7 @@ fn get_fields(node: &AstNodeSrc) -> Vec { continue; } let ty = match field { - Field::Token(_) => continue, + Field::Token { .. } => continue, Field::Node { ty, cardinality, .. } => match cardinality { diff --git a/rust/extractor/src/generated/.generated.list b/rust/extractor/src/generated/.generated.list index 89659a4811dd..2dd94e90ca4c 100644 --- a/rust/extractor/src/generated/.generated.list +++ b/rust/extractor/src/generated/.generated.list @@ -1,2 +1,2 @@ mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 -top.rs ea9c28694da3d0e90d09fc7d31824e35817c34720ea91e7c8bf8e7e74ffe4ee8 ea9c28694da3d0e90d09fc7d31824e35817c34720ea91e7c8bf8e7e74ffe4ee8 +top.rs 3773804c68b168304266d17d0bbe5de721ae138043dcf1ff8679e6562a3b94fc 3773804c68b168304266d17d0bbe5de721ae138043dcf1ff8679e6562a3b94fc diff --git a/rust/extractor/src/generated/top.rs b/rust/extractor/src/generated/top.rs index 1c4fd0f00d61..6b757dfcd048 100644 --- a/rust/extractor/src/generated/top.rs +++ b/rust/extractor/src/generated/top.rs @@ -824,6 +824,42 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct CfgPredicate { + _unused: () +} + +impl trap::TrapClass for CfgPredicate { + fn class_name() -> &'static str { "CfgPredicate" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgPredicate is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgPredicate is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgPredicate is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct Expr { _unused: () @@ -1003,8 +1039,8 @@ impl From> for trap::Label { #[derive(Debug)] pub struct FormatArgsArg { pub id: trap::TrapId, + pub arg_name: Option>, pub expr: Option>, - pub name: Option>, } impl trap::TrapEntry for FormatArgsArg { @@ -1014,12 +1050,12 @@ impl trap::TrapEntry for FormatArgsArg { fn emit(self, id: trap::Label, out: &mut trap::Writer) { out.add_tuple("format_args_args", vec![id.into()]); + if let Some(v) = self.arg_name { + out.add_tuple("format_args_arg_arg_names", vec![id.into(), v.into()]); + } if let Some(v) = self.expr { out.add_tuple("format_args_arg_exprs", vec![id.into(), v.into()]); } - if let Some(v) = self.name { - out.add_tuple("format_args_arg_names", vec![id.into(), v.into()]); - } } } @@ -1054,6 +1090,52 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct FormatArgsArgName { + pub id: trap::TrapId, +} + +impl trap::TrapEntry for FormatArgsArgName { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("format_args_arg_names", vec![id.into()]); + } +} + +impl trap::TrapClass for FormatArgsArgName { + fn class_name() -> &'static str { "FormatArgsArgName" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme FormatArgsArgName is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme FormatArgsArgName is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme FormatArgsArgName is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct GenericArg { _unused: () @@ -1598,33 +1680,7 @@ impl From> for trap::Label { #[derive(Debug)] pub struct Meta { - pub id: trap::TrapId, - pub expr: Option>, - pub is_unsafe: bool, - pub path: Option>, - pub token_tree: Option>, -} - -impl trap::TrapEntry for Meta { - fn extract_id(&mut self) -> trap::TrapId { - std::mem::replace(&mut self.id, trap::TrapId::Star) - } - - fn emit(self, id: trap::Label, out: &mut trap::Writer) { - out.add_tuple("meta", vec![id.into()]); - if let Some(v) = self.expr { - out.add_tuple("meta_exprs", vec![id.into(), v.into()]); - } - if self.is_unsafe { - out.add_tuple("meta_is_unsafe", vec![id.into()]); - } - if let Some(v) = self.path { - out.add_tuple("meta_paths", vec![id.into(), v.into()]); - } - if let Some(v) = self.token_tree { - out.add_tuple("meta_token_trees", vec![id.into(), v.into()]); - } - } + _unused: () } impl trap::TrapClass for Meta { @@ -2465,7 +2521,7 @@ impl From> for trap::Label { pub struct StructField { pub id: trap::TrapId, pub attrs: Vec>, - pub default: Option>, + pub default_val: Option>, pub is_unsafe: bool, pub name: Option>, pub type_repr: Option>, @@ -2482,8 +2538,8 @@ impl trap::TrapEntry for StructField { for (i, v) in self.attrs.into_iter().enumerate() { out.add_tuple("struct_field_attrs", vec![id.into(), i.into(), v.into()]); } - if let Some(v) = self.default { - out.add_tuple("struct_field_defaults", vec![id.into(), v.into()]); + if let Some(v) = self.default_val { + out.add_tuple("struct_field_default_vals", vec![id.into(), v.into()]); } if self.is_unsafe { out.add_tuple("struct_field_is_unsafe", vec![id.into()]); @@ -2725,6 +2781,60 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct TryBlockModifier { + pub id: trap::TrapId, + pub is_try: bool, + pub type_repr: Option>, +} + +impl trap::TrapEntry for TryBlockModifier { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("try_block_modifiers", vec![id.into()]); + if self.is_try { + out.add_tuple("try_block_modifier_is_try", vec![id.into()]); + } + if let Some(v) = self.type_repr { + out.add_tuple("try_block_modifier_type_reprs", vec![id.into(), v.into()]); + } + } +} + +impl trap::TrapClass for TryBlockModifier { + fn class_name() -> &'static str { "TryBlockModifier" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme TryBlockModifier is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme TryBlockModifier is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme TryBlockModifier is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct TupleField { pub id: trap::TrapId, @@ -4408,40 +4518,276 @@ impl trap::TrapEntry for CastExpr { } } -impl trap::TrapClass for CastExpr { - fn class_name() -> &'static str { "CastExpr" } +impl trap::TrapClass for CastExpr { + fn class_name() -> &'static str { "CastExpr" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CastExpr is a subclass of Expr + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CastExpr is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CastExpr is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CastExpr is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +#[derive(Debug)] +pub struct CfgAtom { + pub id: trap::TrapId, +} + +impl trap::TrapEntry for CfgAtom { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("cfg_atoms", vec![id.into()]); + } +} + +impl trap::TrapClass for CfgAtom { + fn class_name() -> &'static str { "CfgAtom" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgAtom is a subclass of CfgPredicate + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgAtom is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgAtom is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgAtom is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +#[derive(Debug)] +pub struct CfgAttrMeta { + pub id: trap::TrapId, + pub cfg_predicate: Option>, + pub metas: Vec>, +} + +impl trap::TrapEntry for CfgAttrMeta { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("cfg_attr_meta", vec![id.into()]); + if let Some(v) = self.cfg_predicate { + out.add_tuple("cfg_attr_meta_cfg_predicates", vec![id.into(), v.into()]); + } + for (i, v) in self.metas.into_iter().enumerate() { + out.add_tuple("cfg_attr_meta_metas", vec![id.into(), i.into(), v.into()]); + } + } +} + +impl trap::TrapClass for CfgAttrMeta { + fn class_name() -> &'static str { "CfgAttrMeta" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgAttrMeta is a subclass of Meta + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgAttrMeta is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgAttrMeta is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgAttrMeta is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +#[derive(Debug)] +pub struct CfgComposite { + pub id: trap::TrapId, + pub cfg_predicates: Vec>, +} + +impl trap::TrapEntry for CfgComposite { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("cfg_composites", vec![id.into()]); + for (i, v) in self.cfg_predicates.into_iter().enumerate() { + out.add_tuple("cfg_composite_cfg_predicates", vec![id.into(), i.into(), v.into()]); + } + } +} + +impl trap::TrapClass for CfgComposite { + fn class_name() -> &'static str { "CfgComposite" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgComposite is a subclass of CfgPredicate + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgComposite is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgComposite is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgComposite is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +#[derive(Debug)] +pub struct CfgMeta { + pub id: trap::TrapId, + pub cfg_predicate: Option>, +} + +impl trap::TrapEntry for CfgMeta { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("cfg_meta", vec![id.into()]); + if let Some(v) = self.cfg_predicate { + out.add_tuple("cfg_meta_cfg_predicates", vec![id.into(), v.into()]); + } + } +} + +impl trap::TrapClass for CfgMeta { + fn class_name() -> &'static str { "CfgMeta" } } -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme CastExpr is a subclass of Expr +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgMeta is a subclass of Meta unsafe { Self::from_untyped(value.as_untyped()) } } } -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme CastExpr is a subclass of AstNode +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgMeta is a subclass of AstNode unsafe { Self::from_untyped(value.as_untyped()) } } } -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme CastExpr is a subclass of Locatable +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgMeta is a subclass of Locatable unsafe { Self::from_untyped(value.as_untyped()) } } } -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme CastExpr is a subclass of Element +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme CfgMeta is a subclass of Element unsafe { Self::from_untyped(value.as_untyped()) } @@ -5651,6 +5997,69 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct KeyValueMeta { + pub id: trap::TrapId, + pub expr: Option>, + pub path: Option>, +} + +impl trap::TrapEntry for KeyValueMeta { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("key_value_meta", vec![id.into()]); + if let Some(v) = self.expr { + out.add_tuple("key_value_meta_exprs", vec![id.into(), v.into()]); + } + if let Some(v) = self.path { + out.add_tuple("key_value_meta_paths", vec![id.into(), v.into()]); + } + } +} + +impl trap::TrapClass for KeyValueMeta { + fn class_name() -> &'static str { "KeyValueMeta" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme KeyValueMeta is a subclass of Meta + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme KeyValueMeta is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme KeyValueMeta is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme KeyValueMeta is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct LabelableExpr { _unused: () @@ -6997,6 +7406,65 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct PathMeta { + pub id: trap::TrapId, + pub path: Option>, +} + +impl trap::TrapEntry for PathMeta { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("path_meta", vec![id.into()]); + if let Some(v) = self.path { + out.add_tuple("path_meta_paths", vec![id.into(), v.into()]); + } + } +} + +impl trap::TrapClass for PathMeta { + fn class_name() -> &'static str { "PathMeta" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme PathMeta is a subclass of Meta + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme PathMeta is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme PathMeta is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme PathMeta is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct PathPat { pub id: trap::TrapId, @@ -8123,6 +8591,69 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct TokenTreeMeta { + pub id: trap::TrapId, + pub path: Option>, + pub token_tree: Option>, +} + +impl trap::TrapEntry for TokenTreeMeta { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("token_tree_meta", vec![id.into()]); + if let Some(v) = self.path { + out.add_tuple("token_tree_meta_paths", vec![id.into(), v.into()]); + } + if let Some(v) = self.token_tree { + out.add_tuple("token_tree_meta_token_trees", vec![id.into(), v.into()]); + } + } +} + +impl trap::TrapClass for TokenTreeMeta { + fn class_name() -> &'static str { "TokenTreeMeta" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme TokenTreeMeta is a subclass of Meta + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme TokenTreeMeta is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme TokenTreeMeta is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme TokenTreeMeta is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct TryExpr { pub id: trap::TrapId, @@ -8687,11 +9218,74 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct UnsafeMeta { + pub id: trap::TrapId, + pub is_unsafe: bool, + pub meta: Option>, +} + +impl trap::TrapEntry for UnsafeMeta { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("unsafe_meta", vec![id.into()]); + if self.is_unsafe { + out.add_tuple("unsafe_meta_is_unsafe", vec![id.into()]); + } + if let Some(v) = self.meta { + out.add_tuple("unsafe_meta_meta", vec![id.into(), v.into()]); + } + } +} + +impl trap::TrapClass for UnsafeMeta { + fn class_name() -> &'static str { "UnsafeMeta" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme UnsafeMeta is a subclass of Meta + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme UnsafeMeta is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme UnsafeMeta is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme UnsafeMeta is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct Variant { pub id: trap::TrapId, pub attrs: Vec>, - pub discriminant: Option>, + pub const_arg: Option>, pub field_list: Option>, pub name: Option>, pub visibility: Option>, @@ -8707,8 +9301,8 @@ impl trap::TrapEntry for Variant { for (i, v) in self.attrs.into_iter().enumerate() { out.add_tuple("variant_attrs", vec![id.into(), i.into(), v.into()]); } - if let Some(v) = self.discriminant { - out.add_tuple("variant_discriminants", vec![id.into(), v.into()]); + if let Some(v) = self.const_arg { + out.add_tuple("variant_const_args", vec![id.into(), v.into()]); } if let Some(v) = self.field_list { out.add_tuple("variant_field_lists", vec![id.into(), v.into()]); @@ -9109,9 +9703,9 @@ pub struct BlockExpr { pub is_const: bool, pub is_gen: bool, pub is_move: bool, - pub is_try: bool, pub is_unsafe: bool, pub stmt_list: Option>, + pub try_block_modifier: Option>, } impl trap::TrapEntry for BlockExpr { @@ -9139,15 +9733,15 @@ impl trap::TrapEntry for BlockExpr { if self.is_move { out.add_tuple("block_expr_is_move", vec![id.into()]); } - if self.is_try { - out.add_tuple("block_expr_is_try", vec![id.into()]); - } if self.is_unsafe { out.add_tuple("block_expr_is_unsafe", vec![id.into()]); } if let Some(v) = self.stmt_list { out.add_tuple("block_expr_stmt_lists", vec![id.into(), v.into()]); } + if let Some(v) = self.try_block_modifier { + out.add_tuple("block_expr_try_block_modifiers", vec![id.into(), v.into()]); + } } } @@ -10069,103 +10663,6 @@ impl From> for trap::Label { } } -#[derive(Debug)] -pub struct TraitAlias { - pub id: trap::TrapId, - pub attrs: Vec>, - pub generic_param_list: Option>, - pub name: Option>, - pub type_bound_list: Option>, - pub visibility: Option>, - pub where_clause: Option>, -} - -impl trap::TrapEntry for TraitAlias { - fn extract_id(&mut self) -> trap::TrapId { - std::mem::replace(&mut self.id, trap::TrapId::Star) - } - - fn emit(self, id: trap::Label, out: &mut trap::Writer) { - out.add_tuple("trait_aliases", vec![id.into()]); - for (i, v) in self.attrs.into_iter().enumerate() { - out.add_tuple("trait_alias_attrs", vec![id.into(), i.into(), v.into()]); - } - if let Some(v) = self.generic_param_list { - out.add_tuple("trait_alias_generic_param_lists", vec![id.into(), v.into()]); - } - if let Some(v) = self.name { - out.add_tuple("trait_alias_names", vec![id.into(), v.into()]); - } - if let Some(v) = self.type_bound_list { - out.add_tuple("trait_alias_type_bound_lists", vec![id.into(), v.into()]); - } - if let Some(v) = self.visibility { - out.add_tuple("trait_alias_visibilities", vec![id.into(), v.into()]); - } - if let Some(v) = self.where_clause { - out.add_tuple("trait_alias_where_clauses", vec![id.into(), v.into()]); - } - } -} - -impl trap::TrapClass for TraitAlias { - fn class_name() -> &'static str { "TraitAlias" } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme TraitAlias is a subclass of Item - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme TraitAlias is a subclass of Stmt - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme TraitAlias is a subclass of AstNode - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme TraitAlias is a subclass of Locatable - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme TraitAlias is a subclass of Element - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme TraitAlias is a subclass of Addressable - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - #[derive(Debug)] pub struct TypeItem { _unused: () diff --git a/rust/extractor/src/translate/generated.rs b/rust/extractor/src/translate/generated.rs index e6cc06419fce..083b52d02b3c 100644 --- a/rust/extractor/src/translate/generated.rs +++ b/rust/extractor/src/translate/generated.rs @@ -53,6 +53,18 @@ impl Translator<'_> { self.post_emit(node, label); Some(label) } + pub(crate) fn emit_cfg_predicate( + &mut self, + node: &ast::CfgPredicate, + ) -> Option> { + let label = match node { + ast::CfgPredicate::CfgAtom(inner) => self.emit_cfg_atom(inner).map(Into::into), + ast::CfgPredicate::CfgComposite(inner) => { + self.emit_cfg_composite(inner).map(Into::into) + } + }?; + Some(label) + } pub(crate) fn emit_expr(&mut self, node: &ast::Expr) -> Option> { let label = match node { ast::Expr::ArrayExpr(inner) => self.emit_array_expr(inner).map(Into::into), @@ -149,6 +161,21 @@ impl Translator<'_> { }?; Some(label) } + pub(crate) fn emit_meta(&mut self, node: &ast::Meta) -> Option> { + if let Some(label) = self.pre_emit(node) { + return Some(label); + } + let label = match node { + ast::Meta::CfgAttrMeta(inner) => self.emit_cfg_attr_meta(inner).map(Into::into), + ast::Meta::CfgMeta(inner) => self.emit_cfg_meta(inner).map(Into::into), + ast::Meta::KeyValueMeta(inner) => self.emit_key_value_meta(inner).map(Into::into), + ast::Meta::PathMeta(inner) => self.emit_path_meta(inner).map(Into::into), + ast::Meta::TokenTreeMeta(inner) => self.emit_token_tree_meta(inner).map(Into::into), + ast::Meta::UnsafeMeta(inner) => self.emit_unsafe_meta(inner).map(Into::into), + }?; + self.post_emit(node, label); + Some(label) + } pub(crate) fn emit_pat(&mut self, node: &ast::Pat) -> Option> { let label = match node { ast::Pat::BoxPat(inner) => self.emit_box_pat(inner).map(Into::into), @@ -226,7 +253,6 @@ impl Translator<'_> { ast::Item::Static(inner) => self.emit_static(inner).map(Into::into), ast::Item::Struct(inner) => self.emit_struct(inner).map(Into::into), ast::Item::Trait(inner) => self.emit_trait(inner).map(Into::into), - ast::Item::TraitAlias(inner) => self.emit_trait_alias(inner).map(Into::into), ast::Item::TypeAlias(inner) => self.emit_type_alias(inner).map(Into::into), ast::Item::Union(inner) => self.emit_union(inner).map(Into::into), ast::Item::Use(inner) => self.emit_use(inner).map(Into::into), @@ -598,10 +624,12 @@ impl Translator<'_> { let is_const = node.const_token().is_some(); let is_gen = node.gen_token().is_some(); let is_move = node.move_token().is_some(); - let is_try = node.try_token().is_some(); let is_unsafe = node.unsafe_token().is_some(); let label = node.label().and_then(|x| self.emit_label(&x)); let stmt_list = node.stmt_list().and_then(|x| self.emit_stmt_list(&x)); + let try_block_modifier = node + .try_block_modifier() + .and_then(|x| self.emit_try_block_modifier(&x)); let label = self.trap.emit(generated::BlockExpr { id: TrapId::Star, attrs, @@ -609,10 +637,10 @@ impl Translator<'_> { is_const, is_gen, is_move, - is_try, is_unsafe, label, stmt_list, + try_block_modifier, }); self.emit_location(label, node); self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); @@ -688,6 +716,63 @@ impl Translator<'_> { self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); Some(label) } + pub(crate) fn emit_cfg_atom( + &mut self, + node: &ast::CfgAtom, + ) -> Option> { + let label = self.trap.emit(generated::CfgAtom { id: TrapId::Star }); + self.emit_location(label, node); + self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); + Some(label) + } + pub(crate) fn emit_cfg_attr_meta( + &mut self, + node: &ast::CfgAttrMeta, + ) -> Option> { + let cfg_predicate = node + .cfg_predicate() + .and_then(|x| self.emit_cfg_predicate(&x)); + let metas = node.metas().filter_map(|x| self.emit_meta(&x)).collect(); + let label = self.trap.emit(generated::CfgAttrMeta { + id: TrapId::Star, + cfg_predicate, + metas, + }); + self.emit_location(label, node); + self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); + Some(label) + } + pub(crate) fn emit_cfg_composite( + &mut self, + node: &ast::CfgComposite, + ) -> Option> { + let cfg_predicates = node + .cfg_predicates() + .filter_map(|x| self.emit_cfg_predicate(&x)) + .collect(); + let label = self.trap.emit(generated::CfgComposite { + id: TrapId::Star, + cfg_predicates, + }); + self.emit_location(label, node); + self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); + Some(label) + } + pub(crate) fn emit_cfg_meta( + &mut self, + node: &ast::CfgMeta, + ) -> Option> { + let cfg_predicate = node + .cfg_predicate() + .and_then(|x| self.emit_cfg_predicate(&x)); + let label = self.trap.emit(generated::CfgMeta { + id: TrapId::Star, + cfg_predicate, + }); + self.emit_location(label, node); + self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); + Some(label) + } pub(crate) fn emit_closure_expr( &mut self, node: &ast::ClosureExpr, @@ -1105,17 +1190,30 @@ impl Translator<'_> { &mut self, node: &ast::FormatArgsArg, ) -> Option> { + let arg_name = node + .arg_name() + .and_then(|x| self.emit_format_args_arg_name(&x)); let expr = node.expr().and_then(|x| self.emit_expr(&x)); - let name = node.name().and_then(|x| self.emit_name(&x)); let label = self.trap.emit(generated::FormatArgsArg { id: TrapId::Star, + arg_name, expr, - name, }); self.emit_location(label, node); self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); Some(label) } + pub(crate) fn emit_format_args_arg_name( + &mut self, + node: &ast::FormatArgsArgName, + ) -> Option> { + let label = self + .trap + .emit(generated::FormatArgsArgName { id: TrapId::Star }); + self.emit_location(label, node); + self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); + Some(label) + } pub(crate) fn emit_format_args_expr( &mut self, node: &ast::FormatArgsExpr, @@ -1313,6 +1411,21 @@ impl Translator<'_> { self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); Some(label) } + pub(crate) fn emit_key_value_meta( + &mut self, + node: &ast::KeyValueMeta, + ) -> Option> { + let expr = node.expr().and_then(|x| self.emit_expr(&x)); + let path = node.path().and_then(|x| self.emit_path(&x)); + let label = self.trap.emit(generated::KeyValueMeta { + id: TrapId::Star, + expr, + path, + }); + self.emit_location(label, node); + self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); + Some(label) + } pub(crate) fn emit_label(&mut self, node: &ast::Label) -> Option> { let lifetime = node.lifetime().and_then(|x| self.emit_lifetime(&x)); let label = self.trap.emit(generated::Label { @@ -1691,26 +1804,6 @@ impl Translator<'_> { self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); Some(label) } - pub(crate) fn emit_meta(&mut self, node: &ast::Meta) -> Option> { - if let Some(label) = self.pre_emit(node) { - return Some(label); - } - let expr = node.expr().and_then(|x| self.emit_expr(&x)); - let is_unsafe = node.unsafe_token().is_some(); - let path = node.path().and_then(|x| self.emit_path(&x)); - let token_tree = node.token_tree().and_then(|x| self.emit_token_tree(&x)); - let label = self.trap.emit(generated::Meta { - id: TrapId::Star, - expr, - is_unsafe, - path, - token_tree, - }); - self.emit_location(label, node); - self.post_emit(node, label); - self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); - Some(label) - } pub(crate) fn emit_method_call_expr( &mut self, node: &ast::MethodCallExpr, @@ -1949,6 +2042,19 @@ impl Translator<'_> { self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); Some(label) } + pub(crate) fn emit_path_meta( + &mut self, + node: &ast::PathMeta, + ) -> Option> { + let path = node.path().and_then(|x| self.emit_path(&x)); + let label = self.trap.emit(generated::PathMeta { + id: TrapId::Star, + path, + }); + self.emit_location(label, node); + self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); + Some(label) + } pub(crate) fn emit_path_pat( &mut self, node: &ast::PathPat, @@ -2150,7 +2256,7 @@ impl Translator<'_> { return None; } let attrs = node.attrs().filter_map(|x| self.emit_attr(&x)).collect(); - let default = node.expr().and_then(|x| self.emit_expr(&x)); + let default_val = node.default_val().and_then(|x| self.emit_const_arg(&x)); let is_unsafe = node.unsafe_token().is_some(); let name = node.name().and_then(|x| self.emit_name(&x)); let type_repr = node.ty().and_then(|x| self.emit_type(&x)); @@ -2158,7 +2264,7 @@ impl Translator<'_> { let label = self.trap.emit(generated::StructField { id: TrapId::Star, attrs, - default, + default_val, is_unsafe, name, type_repr, @@ -2522,6 +2628,21 @@ impl Translator<'_> { self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); Some(label) } + pub(crate) fn emit_token_tree_meta( + &mut self, + node: &ast::TokenTreeMeta, + ) -> Option> { + let path = node.path().and_then(|x| self.emit_path(&x)); + let token_tree = node.token_tree().and_then(|x| self.emit_token_tree(&x)); + let label = self.trap.emit(generated::TokenTreeMeta { + id: TrapId::Star, + path, + token_tree, + }); + self.emit_location(label, node); + self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); + Some(label) + } pub(crate) fn emit_trait(&mut self, node: &ast::Trait) -> Option> { if self.should_be_excluded(node) { return None; @@ -2557,31 +2678,16 @@ impl Translator<'_> { self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); Some(label) } - pub(crate) fn emit_trait_alias( + pub(crate) fn emit_try_block_modifier( &mut self, - node: &ast::TraitAlias, - ) -> Option> { - if self.should_be_excluded(node) { - return None; - } - let attrs = node.attrs().filter_map(|x| self.emit_attr(&x)).collect(); - let generic_param_list = node - .generic_param_list() - .and_then(|x| self.emit_generic_param_list(&x)); - let name = node.name().and_then(|x| self.emit_name(&x)); - let type_bound_list = node - .type_bound_list() - .and_then(|x| self.emit_type_bound_list(&x)); - let visibility = node.visibility().and_then(|x| self.emit_visibility(&x)); - let where_clause = node.where_clause().and_then(|x| self.emit_where_clause(&x)); - let label = self.trap.emit(generated::TraitAlias { + node: &ast::TryBlockModifier, + ) -> Option> { + let is_try = node.try_token().is_some(); + let type_repr = node.ty().and_then(|x| self.emit_type(&x)); + let label = self.trap.emit(generated::TryBlockModifier { id: TrapId::Star, - attrs, - generic_param_list, - name, - type_bound_list, - visibility, - where_clause, + is_try, + type_repr, }); self.emit_location(label, node); self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); @@ -2859,6 +2965,21 @@ impl Translator<'_> { self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); Some(label) } + pub(crate) fn emit_unsafe_meta( + &mut self, + node: &ast::UnsafeMeta, + ) -> Option> { + let is_unsafe = node.unsafe_token().is_some(); + let meta = node.meta().and_then(|x| self.emit_meta(&x)); + let label = self.trap.emit(generated::UnsafeMeta { + id: TrapId::Star, + is_unsafe, + meta, + }); + self.emit_location(label, node); + self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); + Some(label) + } pub(crate) fn emit_use(&mut self, node: &ast::Use) -> Option> { if self.should_be_excluded(node) { return None; @@ -2937,14 +3058,14 @@ impl Translator<'_> { return None; } let attrs = node.attrs().filter_map(|x| self.emit_attr(&x)).collect(); - let discriminant = node.expr().and_then(|x| self.emit_expr(&x)); + let const_arg = node.const_arg().and_then(|x| self.emit_const_arg(&x)); let field_list = node.field_list().and_then(|x| self.emit_field_list(&x)); let name = node.name().and_then(|x| self.emit_name(&x)); let visibility = node.visibility().and_then(|x| self.emit_visibility(&x)); let label = self.trap.emit(generated::Variant { id: TrapId::Star, attrs, - discriminant, + const_arg, field_list, name, visibility, @@ -3093,6 +3214,9 @@ impl HasTrapClass for ast::AssocItem { impl HasTrapClass for ast::ExternItem { type TrapClass = generated::ExternItem; } +impl HasTrapClass for ast::Meta { + type TrapClass = generated::Meta; +} impl HasTrapClass for ast::Item { type TrapClass = generated::Item; } @@ -3108,9 +3232,6 @@ impl HasTrapClass for ast::Fn { impl HasTrapClass for ast::MacroCall { type TrapClass = generated::MacroCall; } -impl HasTrapClass for ast::Meta { - type TrapClass = generated::Meta; -} impl HasTrapClass for ast::PathSegment { type TrapClass = generated::PathSegment; } diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index 003ede900234..bc9aabe628f3 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -1,4 +1,4 @@ -lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 3f4499c892277e07380232b2c90138d7c312911ef8af4a89ba0c9c2958da028b d8a8b330f8dc43e009c261a41801893230b6b568f503c17faeae9cea54714075 +lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 6856901e16b8e54da81700c78abf93268801e77dbca5d3f2d3c63f7e1eeef088 8e4cbe943860b173a519a7b797d9a6af0d3cdcc0514d9e003720a71b51d8cb8c lib/codeql/rust/elements/Abi.qll 485a2e79f6f7bfd1c02a6e795a71e62dede3c3e150149d5f8f18b761253b7208 6159ba175e7ead0dd2e3f2788f49516c306ee11b1a443bd4bdc00b7017d559bd lib/codeql/rust/elements/Addressable.qll 13011bfd2e1556694c3d440cc34af8527da4df49ad92b62f2939d3699ff2cea5 ddb25935f7553a1a384b1abe2e4b4fa90ab50b952dadec32fd867afcb054f4be lib/codeql/rust/elements/ArgList.qll 3d2f6f5542340b80a4c6e944ac17aba0d00727588bb66e501453ac0f80c82f83 afd52700bf5a337f19827846667cd0fb1fea5abbbcbc353828e292a727ea58c9 @@ -28,12 +28,17 @@ lib/codeql/rust/elements/Attr.qll 2cb6a6adf1ff9ee40bc37434320d77d74ae41ff10bbd49 lib/codeql/rust/elements/AwaitExpr.qll d8b37c01f7d27f0ec40d92a533a8f09a06af7ece1ae832b4ea8f2450c1762511 92cdb7ff0efddf26bed2b7b2729fddd197e26c1a11c8fec0c747aab642710c21 lib/codeql/rust/elements/BecomeExpr.qll 7a3cfc4894feb6be1cde664f675b18936434e68ccea52e55314c33d01491e34f 49666eca509b30d44bb02702bda67239c76bf8d9f231022c9cf6ecca123f8616 lib/codeql/rust/elements/BinaryExpr.qll 394522da3bc3a716fc7bc40c3560143ca840f5d210cfcba2a752c3026dd0f725 fbbd6fb79bf16a7d9820613654c584cd7ff3e7a29988f3920b6cfbe746acfd8d -lib/codeql/rust/elements/BlockExpr.qll b5cf57119b15f27d0bc258dfa375b0ef2730c157870ff543f0dc7a8cfe514182 f6a01999606b010c81ef9c6ff1385e6640632b6f5ce067ffeb0ef0af0a0aeb92 +lib/codeql/rust/elements/BlockExpr.qll 1dbf64445aebfa87c5ee5f295b6f47a959d952f86a108d8cca381d787d5cbf3e ac6c46175a10807a886263143095a9454041e54a08e3644e06b5dbc4d394a397 lib/codeql/rust/elements/BoxPat.qll 1b2c3fff171aa6aa238c9460b122f26c79e04577cea67fa856de99842ba873d4 0caf8d23ed6e0997a6b8751def27641582151fba6e24fccf798712a4690b42f1 lib/codeql/rust/elements/BreakExpr.qll 7ca3807a20e9a9a988d1fd7abebf240325ed422fcb45c719ba46272f031f94db dffb7379d3f3ba220acfbd05eb7bb6cfd9cfda211e9c8b1f5240ca5fa61be3fc lib/codeql/rust/elements/CallExpr.qll ee3997f265dc1b6b2fc7134548dd88d509b6bcbc26cf65061a31980f9900ae26 7e86e0ab24ce78c3f592a5614eac083d00f331664f021a438f74e2e0785f4609 lib/codeql/rust/elements/Callable.qll 08a46e987b8fde29069795a536fcd1ad1a96f60341f72293e4d07e20334d554f cfc2be9287000718e5ff3c2a35bb45ffc93fd36d97f2e034888e9aa2ae9af555 lib/codeql/rust/elements/CastExpr.qll 2fe1f36ba31fa29de309baf0a665cfcae67b61c73345e8f9bbd41e8c235fec45 c5b4c1e9dc24eb2357799defcb2df25989075e3a80e8663b74204a1c1b70e29a +lib/codeql/rust/elements/CfgAtom.qll 0567c41550cbcf88f334f0285bac32f87726099f2444108b7842e1ecf8a3a36b 6a3858268921c4a9bb8db9239867b5e46b54d1f5d133a6f19cfd648de4d15b65 +lib/codeql/rust/elements/CfgAttrMeta.qll 85f6503abce5c1c3de06df0c0d2ae8fda4206b94bc8103d54550ad2d84a93fb4 af1e7967d7c9c80f1a4725d8a045d645b247f5aa1a3a462a08eea39c4ab4491f +lib/codeql/rust/elements/CfgComposite.qll 50f624532b6f6086ac507c294da7dc3a96d4154d70541449c89b4395cbe366a7 6aa0c7a1484b02833b7cc7692018f96dd6724b8f76a1e171171b7f5aac69e3a6 +lib/codeql/rust/elements/CfgMeta.qll 583c4561968f787ea1fb7fe8af165273e0f35c2e1efd26364a004edeebee5786 86eca520313dc40b0e523d8941858909c2632eb32c01d74ddb1c524527fbd8eb +lib/codeql/rust/elements/CfgPredicate.qll e86f55f98b8f09fb5da9af550cb6c43089d8deb2e3b83d7e195e9bddc8cf201b ba30cf064ba1236139c8c55bfab204b9256e407db983b42b23319690c7ff5562 lib/codeql/rust/elements/ClosureExpr.qll 69e0b7a7c7a4c348fcada5ad4da22dd2f51747109f856be239cede315a56d695 93400650282e2d4e682b826e9f5f844aa893dda126548e41ea1c703d2bf209ca lib/codeql/rust/elements/Comment.qll fedad50575125e9a64a8a8776a8c1dbf1e76df990f01849d9f0955f9d74cb2a6 8eb1afad1e1007a4f0090fdac65d81726b23eda6517d067fd0185f70f17635ab lib/codeql/rust/elements/Const.qll 5f4d11e01162a06127ba56519efd66d1ecfb5de7c1792fc1c283a56cf2127373 8c618ac774267d25db70cc05a080f8a408dc23ab7e88c0fc543eda8b4d4cb995 @@ -58,7 +63,8 @@ lib/codeql/rust/elements/ForBinder.qll ee29b55cb4c1fa5180cc4ee1236ac089fe9f67ffa lib/codeql/rust/elements/ForExpr.qll a050f60cf6fcc3ce66f5042be1b8096e5207fe2674d7477f9e299091ca99a4bd d7198495139649778894e930163add2d16b5588dd12bd6e094a9aec6863cb16f lib/codeql/rust/elements/ForTypeRepr.qll c85c5e368b9db4a308b55259b3e6b1f4d37050984de43b24971243d6ca6dcec5 51b1c3ddac2fb9616ec44816bcbb549df2c15bbbe674d045a7b1c352c1e335e3 lib/codeql/rust/elements/Format.qll 1b186730710e7e29ea47594998f0b359ad308927f84841adae0c0cb35fc8aeda d6f7bfdda60a529fb9e9a1975628d5bd11aa28a45e295c7526692ac662fd19f8 -lib/codeql/rust/elements/FormatArgsArg.qll a2c23cd512d44dd60b7d65eba52cc3adf6e2fbbcd0588be375daa16002cd7741 d9c5fe183fb228375223d83f857b7a9ee686f1d3e341bcf323d7c6f39652f88b +lib/codeql/rust/elements/FormatArgsArg.qll 822287617367bca322a0157a1671a884b8035821c565c9ec8a29d1d4d154deaf 7a8dc3b18c12f0560574500523001e9babeee28a4b3fe3968ac3f30d89f44b3b +lib/codeql/rust/elements/FormatArgsArgName.qll 1e50d3007b517179bffb257b9a0b65b2651a07d1d3380b165995b8eb3eaff63d 6a1932ea108adaf951013f35ac5fe9cdcc409055c2249240a2eb47c73c503750 lib/codeql/rust/elements/FormatArgsExpr.qll 8127cbe4082f7acc3d8a05298c2c9bea302519b8a6cd2d158a83c516d18fc487 88cf9b3bedd69a1150968f9a465c904bbb6805da0e0b90cfd1fc0dab1f6d9319 lib/codeql/rust/elements/FormatArgument.qll f6fe17ee1481c353dd42edae8b5fa79aeb99dff25b4842ec9a6f267b1837d1e3 5aed19c2daf2383b89ad7fd527375641cff26ddee7afddb89bc0d18d520f4034 lib/codeql/rust/elements/FormatTemplateVariableAccess.qll ff3218a1dda30c232d0ecd9d1c60bbb9f3973456ef0bee1d1a12ad14b1e082b5 e4316291c939800d8b34d477d92be9404a30d52b7eee37302aef3d3205cf4ae0 @@ -75,6 +81,7 @@ lib/codeql/rust/elements/IndexExpr.qll 0e2e9f018d06ae72be0fc4ddbc019a9aacd8a06f4 lib/codeql/rust/elements/InferTypeRepr.qll 1b8bdcb574a7b6e7dd49f4cfb96655a6ccc355744b424b8c2593fe8218090d53 c20a2a5b0346dc277721deb450e732a47812c8e872ffb60aaba351b1708e9477 lib/codeql/rust/elements/Item.qll 59d2ac7b5b111579951bf42f68834ecf6dab47a5fb342ed0841c905b977923ab 0d220ec12a373098b26e6cb3a7b327b2d0c1882c3d9b6de00f4df1e8d00bae68 lib/codeql/rust/elements/ItemList.qll b302d25a7570504e88bfcedf7afc99d25740f320ab27a4a9def1ae66569a4c15 4012a5e43639fa39d5313356ff3ab56c4bb567add1ce012bfede4835406a9571 +lib/codeql/rust/elements/KeyValueMeta.qll b66aeedd5a548ae94ed680c399a32176cb5999f972cc3a434a05b802e5a25264 02944562b4f66e99b8503e1d87a9f1cc4ba80bae49a4108c6f884cc54398a379 lib/codeql/rust/elements/Label.qll a31d41db351af7f99a55b26cdbbc7f13b4e96b660a74e2f1cc90c17ee8df8d73 689f87cb056c8a2aefe1a0bfc2486a32feb44eb3175803c61961a6aeee53d66e lib/codeql/rust/elements/LabelableExpr.qll 598be487cd051b004ab95cbbc3029100069dc9955851c492029d80f230e56f0d 92c49b3cfdaba07982f950e18a8d62dae4e96f5d9ae0d7d2f4292628361f0ddc lib/codeql/rust/elements/LetElse.qll abb12749e1e05047e62f04fcaaf0947acc4dc431be80cb5939308f3531f29700 2799133c6bc84d5bb242a6bce7d26be885b31a3e2d2a7757c46c300b9ef07a20 @@ -99,7 +106,7 @@ lib/codeql/rust/elements/MatchArm.qll c39fd6cc0da24b1ff8d1e42835bcfee7695ad13580 lib/codeql/rust/elements/MatchArmList.qll f221c5e344814fa44db06ab897afdc249e8e88118953116c9c9b745aa2189614 8ff30685e631c5daa6c42390dfb11fd76a4ff2e374013e3dabc67b4c135c0bc4 lib/codeql/rust/elements/MatchExpr.qll e9ef1664f020823b6f4bb72d906a9dc0c1ee6432d4a9a13f7dbdbab2b2b1ee4d 38d71e5c487abcb5682293c573343be66e499a6e131bb630604c120d34b7777b lib/codeql/rust/elements/MatchGuard.qll 58256689a90f24b16401543452c2a32f00d619ddac6c0fe8b65a8cd3e46401bb 8efb2ac03c69a9db687e382331085d7a6cfbf8eca559174ba2727a9549ec7ddd -lib/codeql/rust/elements/Meta.qll b17d7bf605bd0cf4f6d6c6cf4f39a16cfc431d256d45b93663a7569181d36168 815cdfef06231de4b4b1c85e321b8ccb3e22379e5a4e111df9cc9ca6be593841 +lib/codeql/rust/elements/Meta.qll e54802dadd2f1b914a821f9e9335f6088d4782751e36c014e1fcf18eb4134b14 552a5ebbd998cba27fa7ea9b91b387c36ab10964deab546afdba52463ed8661a lib/codeql/rust/elements/MethodCallExpr.qll 914633f304c587addced988a7f161a1a4b3297ce370f6a959b7a042b1c04dace 289a0854d6323df915ee5f268523ee597ba20a37c646bbb2a79c9ed1f7aa2260 lib/codeql/rust/elements/Missing.qll 70e6ac9790314752849c9888443c98223ccfc93a193998b7ce350b2c6ebe8ea4 e2f0623511acaa76b091f748d417714137a8b94f1f2bdbbd177f1c682c786dad lib/codeql/rust/elements/Module.qll 0bc85019177709256f8078d9de2a36f62f848d476225bff7bba1e35f249875c7 3fbb70e0c417a644dd0cada2c364c6e6876cfa16f37960e219c87e49c966c94e @@ -120,6 +127,7 @@ lib/codeql/rust/elements/Path.qll 16264a9c978a3027f623530e386a9ad16541305b252fed lib/codeql/rust/elements/PathAstNode.qll 68160b08272ecde0e636779b7c547f808356d69d1150863b37188ea84e110cab cafa2de0bf3be978854319bbcf5ad1591acd64abd7b0958ff14c96a7529fcc99 lib/codeql/rust/elements/PathExpr.qll 0232228845a2005fc63d6b8aea8b49ff50415e0e90fd18f863ee1d6e44f53c07 47b15cc6ae576d13f14b29ffa4620451accc603ff87071dfe48660dbe018bf36 lib/codeql/rust/elements/PathExprBase.qll bb41092ec690ae926e3233c215dcaf1fd8e161b8a6955151949f492e02dba13a b2257072f8062d31c29c63ee1311b07e0d2eb37075f582cfc76bb542ef773198 +lib/codeql/rust/elements/PathMeta.qll 56021df592b69c9c735db2ebe2b14ee5b5e0a76546d7a6bafaed9d9ba4ff2ba8 23c34dbd742698f9197ce5b48970b77520131ad31c12e2d88cdfd98de0708b3c lib/codeql/rust/elements/PathPat.qll a7069d1dd77ba66814d6c84e135ed2975d7fcf379624079e6a76dc44b5de832e 2294d524b65ab0d038094b2a00f73feb8ab70c8f49fb4d91e9d390073205631d lib/codeql/rust/elements/PathSegment.qll c54e9d03fc76f3b21c0cfe719617d03d2a172a47c8f884a259566dd6c63d23f2 4995473961f723239b8ac52804aeb373ef2ac26df0f3719c4ca67858039f2132 lib/codeql/rust/elements/PathTypeRepr.qll 1b68e119ac82fdf5f421ded88a1739bfb8009c61e2745be11b34c3a025de18aa 48d9b49ee871f3932a0806709b4a21dadfdbe5cef8bab8d71aab69b6e4e7b432 @@ -146,15 +154,16 @@ lib/codeql/rust/elements/Struct.qll e60a859c0112b7a7ce4a4752e936e0d58f413ceb895d lib/codeql/rust/elements/StructExpr.qll 84f384ef74c723796e514186037a91dd9666556f62c717f133ce22e9dda4425f 176497835252cfdfe110e58ebde9fbde553d03e44e07d3e4d8041e835dbf31b9 lib/codeql/rust/elements/StructExprField.qll 3eb9f17ecd1ad38679689eb4ecc169d3a0b5b7a3fc597ae5a957a7aea2f74e4f 8fcd26f266f203004899a60447ba16e7eae4e3a654fbec7f54e26857730ede93 lib/codeql/rust/elements/StructExprFieldList.qll 6efb2ec4889b38556dc679bb89bbd4bd76ed6a60014c41f8e232288fc23b2d52 dc867a0a4710621e04b36bbec7d317d6f360e0d6ac68b79168c8b714babde31d -lib/codeql/rust/elements/StructField.qll c43a552ce22c768c7f4c878501f08ecd4eae3554c5cd885dcd2e8625fe705233 bfd7934835ca41eb70e4064198d9b40ec9812842fb4349e412d1aaf98c3cd625 +lib/codeql/rust/elements/StructField.qll 76e41d8a14d30a3f5a89d1cf28e77265f747824a356711e466fcde3b70e11d39 0fef2c368f53c12db96dcad2eab1bd0ae9cb619711451750bc94b6e31af329dc lib/codeql/rust/elements/StructFieldList.qll ee3cf510d35fad0edfeec68315fbe986a6d5323fbaddcfb688682be9a6508352 8cafe522251f98eb10eb45073e434a814165c25e436850f81b1d73ef88d6ae83 lib/codeql/rust/elements/StructPat.qll cdd1e8417d1c8cb3d14356390d71eb2916a295d95f240f48d4c2fb21bf4398cb 69c3456a13ef3e978a9a145b9e232198a30360f771feb41a917e507410611f6c lib/codeql/rust/elements/StructPatField.qll 856aa7d7c6d9b3c17514cbd12a36164e6e9d5923245770d0af3afb759a15204a 1bd1a294d84ad5e4da24e03b4882b215c50473875014859dbf26555d1f4ec2d5 lib/codeql/rust/elements/StructPatFieldList.qll 44619afedcda047e51ee3e319f738d5c49ff5e3f8811155a3ef9874d12bc091d 6b4412a5b0f3ebc0a9f228129c1727b1d6a1947fc826e62fa8e34b2c7d3864ed lib/codeql/rust/elements/Token.qll e2de97c32e12c7ac9369f8dccabc22d89bfcbf7f6acd99f1aa7faa38eb4ac2b2 888d7e1743e802790e78bae694fedb4aba361b600fb9d9ecf022436f2138e13c lib/codeql/rust/elements/TokenTree.qll 23e57fd945ce509df5122aa46f7971360788945cb7a67ddc229de5f44b80e6e9 18a7834edf5d6808e9126c0ce2e9554211faaf21bf7e9e2fa09aa167654e43a9 +lib/codeql/rust/elements/TokenTreeMeta.qll f784784313490314520f6aa9f4dac0f4fbf990427ed39c36185a9526e8d1726d 9c8a74c34ba908d3e886f3e7b041dbaf46a981e26ecc1b66a22d11c1b5155e3f lib/codeql/rust/elements/Trait.qll f78a917c2f2e5a0dfcd7c36e95ad67b1fa218484ee509610db8ca38453bebd4c 2a12f03870ebf86e104bdc3b61aae8512bfafbbf79a0cff5c3c27a04635926af -lib/codeql/rust/elements/TraitAlias.qll 1d82d043f24dbac04baa7aa3882c6884b8ffbc5d9b97669ce8efb7e2c8d3d2c8 505ba5426e87b3c49721f440fbc9ad6b0e7d89d1b1a51ca3fa3a6cc2d36f8b82 +lib/codeql/rust/elements/TryBlockModifier.qll 1567952cea9392e7af28cbe6b7c4aaf00f231e5caeb1292a6fc515918b2891bf 622cbadf10f955f5558475d8015f16667773dabf7db7bdabcc9dbff5425a9fb8 lib/codeql/rust/elements/TryExpr.qll cb452f53292a1396139f64a35f05bb11501f6b363f8affc9f2d5f1945ad4a647 d60ad731bfe256d0f0b688bdc31708759a3d990c11dee4f1d85ccc0d9e07bec9 lib/codeql/rust/elements/TupleExpr.qll 1b1be270198f9d3db1c28c4caaa4a7fe9b5ae14651f1a10e2891a7d78d6ad18b 4f585aa684dfbff753e342903ddd60ee4d7c374b8bddeb645784d10903c90ae0 lib/codeql/rust/elements/TupleField.qll 8d6288fd79959d5ef3732397c0a05a47fcb09091383058d1dba7268a950f8c32 1518cdd0fd9746d09fcdbecabc2a3ce6b36b6d983883850beed3f55c2bdf2c16 @@ -173,12 +182,13 @@ lib/codeql/rust/elements/UnderscoreExpr.qll 233661b82b87c8cda16d8f2e17965658c3dc lib/codeql/rust/elements/Unextracted.qll 12e60c79ef5b94d72b579b19970622e7b73822ebc13fbcfedfe953527ab1ac36 ec015db2eb12c3c82693ddc71d32d9ab9ef7a958e741e2510681bb707ceca23e lib/codeql/rust/elements/Unimplemented.qll bf624d28163e5c99accda16c0c99f938bec4a3b1b920a463e86fc8529ff5ff02 013bc7777298d250338f835cd494b5a8accea2d6a4f9561851f283ac129a446b lib/codeql/rust/elements/Union.qll e23ca528f8573e77dfa7eca71457e2022c92f22292ce84d021d304e52820ee66 eed20ac3797faaa248bc47ef81fa79a5d5c372b4c6289a075d041a84dd8bd6f4 +lib/codeql/rust/elements/UnsafeMeta.qll 10473d5527b564c69e9290553f000fcd7ae7502c22e3e183372530541bb81b5b 028220efdf4f4c8c24297d5fc7159126b06c6f1e46eff518ddc55caef5e45cf2 lib/codeql/rust/elements/Use.qll fdcf70574403c2f219353211b6930f2f9bc79f41c2594e07548de5a8c6cbb24d e41f2b689fcbeb7b84c7ba8d09592f7561626559318642b73574bbac83f74546 lib/codeql/rust/elements/UseBoundGenericArg.qll f16903f8fff676d3700eaad5490804624391141472ecc3166ccb1f70c794c120 5efda98088d096b42f53ceccae78c05f15c6953525b514d849681cb2cf65b147 lib/codeql/rust/elements/UseBoundGenericArgs.qll 841913cfbb84de14aab1820a5433eae978bbadbb8e6d413b8ba70780c7328335 c9ec9d086cff91d15c3aea64f1080b22b41cdaf64e3c8b192aaaec17604a5d10 lib/codeql/rust/elements/UseTree.qll e67c148f63668319c37914a46ff600692de477242a0129fa1bb9839754c0f830 de9b39d3d078d51ec9130db6579bff13e6297e60556a7214a5c51cbf89d92791 lib/codeql/rust/elements/UseTreeList.qll 92ebfee4392a485b38fb3265fdede7c8f2ed1dbe2ab860aa61b1497c33874d25 a4e677455d20838e422e430eebd73d0a488e34e8c960f375fef7b99e79d4c911 -lib/codeql/rust/elements/Variant.qll 7895461fa728f6c3a7293799c5e6b965b413b679566dcbd40bbe2609db8b6cde b0413547365a301bd9fbb6b266757f956394abad0a77f0e424446e23ec7d83e9 +lib/codeql/rust/elements/Variant.qll affe9c58021358fd93d9c867277b4853c8303caa75521c657c8ba2e0cd45f0d6 44894859e3dde36b727abe8a28198f1ba7c487af839e6d9a2fe2d1bacb59f477 lib/codeql/rust/elements/VariantList.qll 39803fbb873d48202c2a511c00c8eafede06e519894e0fd050c2a85bf5f4aa73 1735f89b2b8f6d5960a276b87ea10e4bb8c848c24a5d5fad7f3add7a4d94b7da lib/codeql/rust/elements/Visibility.qll aa69e8a3fd3b01f6fea0ae2d841a2adc51f4e46dcfc9f8f03c34fbe96f7e24e7 0d475e97e07b73c8da2b53555085b8309d8dc69c113bcb396fc901361dbfe6b8 lib/codeql/rust/elements/WhereClause.qll 4e28e11ceec835a093e469854a4b615e698309cdcbc39ed83810e2e4e7c5953f 4736baf689b87dd6669cb0ef9e27eb2c0f2776ce7f29d7693670bbcea06eb4e4 @@ -236,6 +246,15 @@ lib/codeql/rust/elements/internal/BoxPatConstructor.qll 153f110ba25fd6c889092bfd lib/codeql/rust/elements/internal/BreakExprConstructor.qll 356be043c28e0b34fdf925a119c945632ee883c6f5ebb9a27003c6a8d250afd9 bb77e66b04bb9489340e7506931559b94285c6904b6f9d2f83b214cba4f3cfd5 lib/codeql/rust/elements/internal/CallExprConstructor.qll 742b38e862e2cf82fd1ecc4d4fc5b4782a9c7c07f031452b2bae7aa59d5aa13a cad6e0a8be21d91b20ac2ec16cab9c30eae810b452c0f1992ed87d5c7f4144dc lib/codeql/rust/elements/internal/CastExprConstructor.qll f3d6e10c4731f38a384675aeab3fba47d17b9e15648293787092bb3247ed808d d738a7751dbadb70aa1dcffcf8af7fa61d4cf8029798369a7e8620013afff4ed +lib/codeql/rust/elements/internal/CfgAtomConstructor.qll b71484029b4fdaa5df6b42f6b38c3feb0ad72284e5badf3d8413b78d6d14240b 146c73c0354d67fbccba5eb2fe21918ab441d953e005b4ec5482c80388d9493d +lib/codeql/rust/elements/internal/CfgAtomImpl.qll 47ca5355933e1c405dc2edec7bff9fd9be5132f708d6d7e0237a9f0a809eefa7 965eeca1d9ba5045735b16fa0340c0227f22418e0545f381c4df36eac23cf3fe +lib/codeql/rust/elements/internal/CfgAttrMetaConstructor.qll 8cae731f5e86830dec3367b1c69e807389bc434b4f83ff6e13427e4106ec6f2c 0ced22b35219edf0250a8542062f66641f03c13575a3c71d4d718ce5146288ea +lib/codeql/rust/elements/internal/CfgAttrMetaImpl.qll 2b8a578d52aea3ab218f1337ba2c8737cf16e9c64580b1916860dc66ae3e9025 e92e5e8dc79b1da72873af410b778054df7e22bc9080719d60371bc72bc27043 +lib/codeql/rust/elements/internal/CfgCompositeConstructor.qll 160bfbccdd80c9b9421b33cb302f6fe48bebe80050a01ad72a43f7332100f834 0102cad0255d632cac4ffaf334ce15f9beff9d7eb7d14a50255ef5c0e4b67d7b +lib/codeql/rust/elements/internal/CfgCompositeImpl.qll 840a148dc5c4b213ffdaca6213d6f2dfa3c1dad3f99293f8244baa3bf6902909 36e9291b124c52bb2e4620bead8acf2f9be4a2281eccfd74411adaf91914dd20 +lib/codeql/rust/elements/internal/CfgMetaConstructor.qll 335cb7a36e430b08a12c5548d0a91bbb9a00aaa2f9b0dc7b2fa526882ec0271e 0bd7002f58c1c19c22023d6f03874d84e083e1aa09ec9cac888661d5ad632f6b +lib/codeql/rust/elements/internal/CfgMetaImpl.qll 9d820fb4dee32288e467a8b667ba191588381d8ec2a0ce0e5e8645ee437a16a8 5888fb533768a36d94f56f81058aa0d00c4a2c13721af42bdd30628747698bce +lib/codeql/rust/elements/internal/CfgPredicateImpl.qll 3ba6c6732a7de4df967dd2cb2b4cc99db8aefb2301b75521f1b369052e3a2ec0 c07d4366f98f374f24e235f809946dc513a16203e4c1eb151c8185a5bc79e70d lib/codeql/rust/elements/internal/ClosureExprConstructor.qll a348229d2b25c7ebd43b58461830b7915e92d31ae83436ec831e0c4873f6218a 70a1d2ac33db3ac4da5826b0e8628f2f29a8f9cdfd8e4fd0e488d90ce0031a38 lib/codeql/rust/elements/internal/CommentConstructor.qll 0b4a6a976d667bf7595500dfb91b9cfc87460a501837ba5382d9a8d8321d7736 7d02d8c94a319dc48e7978d5270e33fc5c308d443768ff96b618236d250123f1 lib/codeql/rust/elements/internal/ConstArgConstructor.qll f63021dc1ca2276786da3a981d06c18d7a360b5e75c08bca5d1afece4f7c4a83 487a870cbf5ed6554d671a8e159edd9261d853eba2d28ce2bd459759f47f11f2 @@ -271,6 +290,8 @@ lib/codeql/rust/elements/internal/ForTypeReprConstructor.qll eae141dbe9256ab0eb8 lib/codeql/rust/elements/internal/ForTypeReprImpl.qll dbbcb86626dcba3d5534d461d7306c354a15f800ff37c1d039801b868179b387 f942eebb20fb2603b7bab0e90f3e3f7a3f87dd6229090fc011c692a52164ac90 lib/codeql/rust/elements/internal/FormatArgsArgConstructor.qll 8bd9b4e035ef8adeb3ac510dd68043934c0140facb933be1f240096d01cdfa11 74e9d3bbd8882ae59a7e88935d468e0a90a6529a4e2af6a3d83e93944470f0ee lib/codeql/rust/elements/internal/FormatArgsArgImpl.qll 6a8f55e51e141e4875ed03a7cc65eea49daa349de370b957e1e8c6bc4478425c 7efab8981ccbe75a4843315404674793dda66dde02ba432edbca25c7d355778a +lib/codeql/rust/elements/internal/FormatArgsArgNameConstructor.qll 1d5221a97f0edee8c07fd1140a9409cf7c3e6e90fc226278bbe64cf55d72b5c5 a77954bd52b2aa7b2e6891482001a2600c9365778630baf318ffd05cf1630568 +lib/codeql/rust/elements/internal/FormatArgsArgNameImpl.qll 58576638f78150e84c11ae9c702c1f4ea286460f6476a89f0259c9f7cf34dd36 3befb988d6e8ece20b718cd59bac4a68c458814c3157e4d1d7a513a03fd4bd1e lib/codeql/rust/elements/internal/FormatArgsExprConstructor.qll ce29ff5a839b885b1ab7a02d6a381ae474ab1be3e6ee7dcfd7595bdf28e4b558 63bf957426871905a51ea319662a59e38104c197a1024360aca364dc145b11e8 lib/codeql/rust/elements/internal/FunctionConstructor.qll b50aea579938d03745dfbd8b5fa8498f7f83b967369f63d6875510e09ab7f5d2 19cca32aeaecaf9debc27329e8c39ecec69464bb1d89d7b09908a1d73a8d92a2 lib/codeql/rust/elements/internal/GenericArgImpl.qll fde43bb0e3cb2d8eb9feb02012b0a4f934015f8175ec112dea1077d131f55acb 44842e8075f750ba2876cff28d07284f99188982aa6d674ec863ad90305bf6ae @@ -285,6 +306,8 @@ lib/codeql/rust/elements/internal/IndexExprConstructor.qll 99bdc3d793c4dbd993860 lib/codeql/rust/elements/internal/InferTypeReprConstructor.qll bc5f16853401617fc9c5af8a1287a23c5921df1b615cfbe2d7c7a70145ecfcbd da93bd28ea2daade2cbb0a729be3fbf05f72bc02009565c7bb062e4f68fdb9e7 lib/codeql/rust/elements/internal/ItemListConstructor.qll 08af3bd12536941c3dd4a43c81cc861be24325e242e2593c087a3ce632674291 2fa166159c409d2aaffa73a30babb40829a6de580bd40894d909ee6152801082 lib/codeql/rust/elements/internal/ItemListImpl.qll 195dbe93c334ad2bfc29db530bda9aaea88fc31696b2f230faae9e6c2ecb74a8 e498983a5b2f7a91e2fd336e85ac17e521a18c677784a0788d95bb283f3652e7 +lib/codeql/rust/elements/internal/KeyValueMetaConstructor.qll 946f4df587ae7c77445faec67b0c796e008a10c642e5bdf881f9f75e819a1f93 d2bff94a5f8967fabadb76424917383e1472467db1d90214b1b871ebf8da672d +lib/codeql/rust/elements/internal/KeyValueMetaImpl.qll 6f895ee05d983885ad3624b5c64483f2c9024888ed62781889c589ba6fadb4eb 4004bb1b22c30e27f7e2262e9788d1ad3ea4cb08729d8910140c54663a123b91 lib/codeql/rust/elements/internal/LabelConstructor.qll 1f814c94251e664bfa1b1a606aef995382e40e78d4f953350ec951ee0bc8bd34 3157fb8c7c6bd365a739f217ad73ba1e0b65ccd59b922e5ab034e3449915b36c lib/codeql/rust/elements/internal/LetElseConstructor.qll b2b5d68e5701379a0870aa6278078e09f06aa18ddd14045fc6ae62e90827ece7 7359e70bea8a78bcaf6e6ecc8cc37c5135ae31415b74645594456cc8daa82118 lib/codeql/rust/elements/internal/LetExprConstructor.qll 66f27cbdafb2b72b31d99645ec5ed72f4b762a7d6f5d292d7639dd8b86272972 7da048f4d7f677919c41d5c87ead301eacc12ece634d30b30a8ae1fab580ff30 @@ -317,7 +340,6 @@ lib/codeql/rust/elements/internal/MatchArmListImpl.qll 16de8d9e0768ee42c5069df5c lib/codeql/rust/elements/internal/MatchExprConstructor.qll 0355ca543a0f9ad56697bc2e1e2511fa3f233bc1f6344d9e1c2369106901c696 78622807a1c4bff61b751c715639510146c7a713e0c4f63246e9a2cf302f4875 lib/codeql/rust/elements/internal/MatchGuardConstructor.qll d4cae02d2902fe8d3cb6b9c2796137863f41f55840f6623935a1c99df43f28d8 0c89f2ca71a2fd5a3f365291e784cb779e34ba0542d9285515e1856424cec60d lib/codeql/rust/elements/internal/MatchGuardImpl.qll 489040ca1ea85edda91405fab3d12321b6541d2888c35356d3c14c707bf1468e 2b60223a822b840356a3668da3f9578e6a9b8f683fcdd3dbd99b5354c7d96095 -lib/codeql/rust/elements/internal/MetaConstructor.qll 49ab9aafdcab7785fc5fc9fb8f7c5bb0ae76cf85d0d259c4b3ac4b0eccbbeb56 bc11aef22661077e398b6ca75e3701fd8d0ac94a0e96dc556a6f6de4089d8b8c lib/codeql/rust/elements/internal/MetaImpl.qll ab77681dc271d26b4eb77d792fd9b24fce65b0f4a88056ad09aa9400d26b4b58 270e58d97c03357e92f777ce2bd332e2718e077a7faaa6778941a9d5b14e135d lib/codeql/rust/elements/internal/MethodCallExprConstructor.qll a1b3c4587f0ae60d206980b1d9e6881d998f29d2b592a73421d6a44124c70c20 8d4eaa3eb54653fac17f7d95e9cc833fe1398d27c02b2388cd9af8724a560ded lib/codeql/rust/elements/internal/MissingConstructor.qll aab0b7f2846f14a5914661a18c7c9eae71b9bde2162a3c5e5e8a8ecafa20e854 8f30b00b5b7918a7500786cc749b61695158b5b3cc8e9f2277b6b6bf0f7850a0 @@ -344,6 +366,8 @@ lib/codeql/rust/elements/internal/PathAstNodeImpl.qll 5a38c42a9127fc2071a9e8f091 lib/codeql/rust/elements/internal/PathConstructor.qll 5c6354c28faf9f28f3efee8e19bdb82773adcf4b0c1a38788b06af25bcb6bc4a 3e2aeef7b6b9cda7f7f45a6c8119c98803aa644cf6a492cf0fce318eba40fe8f lib/codeql/rust/elements/internal/PathExprBaseImpl.qll e8b09447ee41b4123f7d94c6b366b2602d8022c9644f1088c670c7794307ab2e 96b9b328771aaf19ba18d0591e85fcc915c0f930b2479b433de3bfdd2ea25249 lib/codeql/rust/elements/internal/PathExprConstructor.qll cf6e0a338a8ed2d1042bdee4c2c49be5827e8c572d8c56e828db265d39e59ae3 36a3d1b7c5cc2cf527616be787b32071b9e2a6613a4f6b3f82e2a3b0e02a516f +lib/codeql/rust/elements/internal/PathMetaConstructor.qll de6ebd053e66f0c72e6acb59c7a7e7326abfe0331e65080cc539030b93c49e32 327a8d8b5a6d721daa763cb5dac83247f9b2d9650be53ce01cbae02b15fbad94 +lib/codeql/rust/elements/internal/PathMetaImpl.qll 052152ec17c827054b1e9fccfc7cd7cb12fc0787e82242fde5724fd7a77b3b39 677460de83898bdfc9f06460ddb5dab2d4d884a88998c879b7eff5018d9b434a lib/codeql/rust/elements/internal/PathPatConstructor.qll 966c4ea22218ef71e000d7ce8dd5b570c39ad96b9239a3aa8a38292e2a9f36d2 8a1f348e9257ffc6e6bedcd70389b8e7ec2a3ed6e7b3733744ddfab284826e57 lib/codeql/rust/elements/internal/PathSegmentConstructor.qll 2d9639e42035dc7e73b7d6ddb8a977beadc6b4492dee4292b2f85b4409344441 c337fc3b9ef56366428772563e3f25f711474d16e860d3e89c1395a95d9e83e7 lib/codeql/rust/elements/internal/PathTypeReprConstructor.qll e05e7be13d48e7f832e735254777692d4be827a745b1fd94b9649d46fe574393 4aa1e6935a4479b61f205265cbbba01ce96d09a680c20d5decf30d1374d484d4 @@ -392,9 +416,11 @@ lib/codeql/rust/elements/internal/StructPatFieldListImpl.qll 046464430ba9cc0a924 lib/codeql/rust/elements/internal/TokenImpl.qll 87629ffee74cacc6e8af5e96e18e62fb0fa4043d3ba1e7360daa880e628f8530 d54e213e39ae2b9bb92ab377dc72d72ba5bca88b72d29032507cdcbef201a215 lib/codeql/rust/elements/internal/TokenTreeConstructor.qll 0be1f838b04ff944560aa477cbe4ab1ad0b3f4ae982de84773faac5902fcae45 254b387adc2e1e3c355651ab958785d0b8babbc0030194234698a1219e9497b3 lib/codeql/rust/elements/internal/TokenTreeImpl.qll 7c16b22a8ff4ad33be25c3d2d43b8f043cab7626538ac5d8938b074dc663b4f4 793e04299d571a8cea2097e6c43136c5e618b31da91ccc68bda334c3d2c3793d -lib/codeql/rust/elements/internal/TraitAliasConstructor.qll d2f159cac53b9d65ec8176b8c8ccb944541cd35c64f0d1ceabb32cd975c000bf 6564981793de762af2775cc729e25054ea788648509d151cbfdbdf99fc9ed364 -lib/codeql/rust/elements/internal/TraitAliasImpl.qll 434cf074a461219ad01ab2f116681213302fc62dabc4131d118b3bc2f2fd1af4 59e6f8893431e563897304e6f22da466c69410cf59206b634b426e8fef93b159 +lib/codeql/rust/elements/internal/TokenTreeMetaConstructor.qll 059903cc9cbc77d753f1e7833bbc6ba42d55d281bdf0a3ec1c79d0224be1613f b387eb1eb56f83ff9b2831552db5f23af9b8b8bd822e277f2c1e95ed88b71c1f +lib/codeql/rust/elements/internal/TokenTreeMetaImpl.qll e0c30c264f05a5b610c6d1c7bdacd804b4188031e3968756e6670d51b9b7ee02 084adcb4898a694a8be217a416b693e8291848f3802d4437a2004384ab079037 lib/codeql/rust/elements/internal/TraitConstructor.qll 1f790e63c32f1a22ae1b039ca585b5fe6ffef6339c1e2bf8bca108febb433035 535cebd676001bfbbb724d8006fa2da94e585951b8fd54c7dc092732214615b5 +lib/codeql/rust/elements/internal/TryBlockModifierConstructor.qll 55a69eced15a1637cb84889e50cf465bbc677baaf4bf3e4e5ab37615018f5803 ee6141225ade44559067474a75b27e3c68dbb149dc9c24dacc1e9d8c791f13f7 +lib/codeql/rust/elements/internal/TryBlockModifierImpl.qll 97ab789b3a0d9f9e851cee967cc92ae28446355e7bfeb7ff598787f18b9fdfa5 6f24a42b5e4c448f3ac447200becbf63b83bf1f26e99fca933f5e4262906d278 lib/codeql/rust/elements/internal/TryExprConstructor.qll 98e3077ebc4d76f687488b344f532b698512af215b66f0a74b5cea8ed180836c b95603c10c262911eeffdf4ccba14849e8443916b360e287963d5f2582d8e434 lib/codeql/rust/elements/internal/TryExprImpl.qll cacf43a49ba518be3f94e4a355f5889861edc41f77601eff27e0ed774eca6651 5f4a6a346ec457d5de89b32419e8b4c2deddc55e2d61dbb59842d7f34aa11c44 lib/codeql/rust/elements/internal/TupleExprConstructor.qll 71c38786723225d3d90399b8a085b2b2664c62256654db9e1288fadd56745b9d 639ad70b49ebadc027127fbdc9de14e5180169a4285908233bc38ccac6f14110 @@ -419,6 +445,8 @@ lib/codeql/rust/elements/internal/UnextractedImpl.qll 5c23df7e448184d76ccab2c227 lib/codeql/rust/elements/internal/UnimplementedConstructor.qll 70b0489fdc75fed389de8203947ed9c8eabb91373a1264eb2c8018ddbb2d9baa 0f2592c1697a2f2f913014ecd73b0e3ff1ec5b038ba1c3a22e7939bf8759e664 lib/codeql/rust/elements/internal/UnimplementedImpl.qll 06771abc088e0a8fc24032c9d2633618e8e40343ef8757a68cc0a70f1617165a 5738f626f1f4f573fdf7dcd5bd57a0948d290ed89342b9160e95ef3c84044f9a lib/codeql/rust/elements/internal/UnionConstructor.qll d650551a1b3ef29c5a770bdad626269cf539ed0c675af954bc847d2c6111f3f6 aca9064ad653a126ab4f03703e96b274587c852dc5e7ff3fea0fec4d45993f10 +lib/codeql/rust/elements/internal/UnsafeMetaConstructor.qll 89c041ebd8ff05137d0244c97b9cd8ea1afffbc1d6d3e6aab906546897d851aa 6da0034021f992ae39977694418a4d8f2fe6b426f54f606a2a089c3896e6eb52 +lib/codeql/rust/elements/internal/UnsafeMetaImpl.qll 38134143aec9d5f48762a1d70330a8899bd3e94265f80b0772e7db3987a7a107 7731646d9a29357c7567a08129d018c4b09982781d8b6cb73d93bcea7f71f0a1 lib/codeql/rust/elements/internal/UseBoundGenericArgImpl.qll 2f90bfd5e43113da1155445bef0334ab84acddef102bd62dfa2ef908717a5d09 dd2fa3c6081d79e1d96360dbdb339128cd944e7b7dc26c449c04f970ee1d7848 lib/codeql/rust/elements/internal/UseBoundGenericArgsConstructor.qll 84d4a959d098fcd1713cb169e15b4945d846121701d2c5709b11e19202c21f2b 93113c92be9bc9f0b8530c308fe482dfeddc7dc827fc44049cecb3eab28df731 lib/codeql/rust/elements/internal/UseBoundGenericArgsImpl.qll 0f98d47c1e09c46dd3da66a4770181a0caae0512b362faaec997af22bb5f4ce7 1919235e50b9d2fee9bd5d407a0bc023a02dbb04b2662349fad5a8d6cfa98069 @@ -470,12 +498,17 @@ lib/codeql/rust/elements/internal/generated/Attr.qll 3f306e301c79f58018f1d5f39b4 lib/codeql/rust/elements/internal/generated/AwaitExpr.qll 1d71af702a1f397fb231fae3e0642b3deeba0cd5a43c1d8fabdff29cac979340 e0bfa007bdecc5a09a266d449d723ae35f5a24fbdfc11e4e48aeea3ec0c5147c lib/codeql/rust/elements/internal/generated/BecomeExpr.qll 7a211b785a4a2f961242d1d73fd031d381aad809f7b600ce7f7f864518bb7242 17a0388680007871748cfdc6621f700a7c2817b9601e1bd817fb48561e7c63ad lib/codeql/rust/elements/internal/generated/BinaryExpr.qll 64e9bd9c571edd6e5f3e7662b956b1d87fa0354ce6fe95da9caf25ac16b66c68 3fca09fdbe879db2ca3293618896a462e96376a2963d15cce3d5b1baac552fcb -lib/codeql/rust/elements/internal/generated/BlockExpr.qll 5a5ddbe34bc478a7bd9b0d07d3b6f017c2d1f20581d859251a963314e6514d1f 9804c30b8b279038b864c52557535f854bd012bacdfe8e5840f1f777c74e52df +lib/codeql/rust/elements/internal/generated/BlockExpr.qll db813fa05eace9769ba2a51bb38c17e58d621cc31cbf88ee8186c23e3734467c 3a2804490c2bdfccfd2b18c2d4c6cd6edefc375a0a7463120a43212d22ce7513 lib/codeql/rust/elements/internal/generated/BoxPat.qll 597bed52f7489e0addce3266f7bee5be7c53d2d1263eceec3a252d041ca0908f b8ccf363ca5f1a988547caf1fd266a55aec7cbf8623578deea99765d264b0151 lib/codeql/rust/elements/internal/generated/BreakExpr.qll 0f428a8b2f4209b134c2ffc3e1c93c30bc6b0e9c9172f140cefa88c1f77d8690 957b39f38ff6befe9061f55bc0b403c2f1c366dd0cf63b874bae6f8216576d76 lib/codeql/rust/elements/internal/generated/CallExpr.qll 6096035ba2ef1ce3e6254d5b8497dcb6cd7570253423c778a9dd7e158f928644 e56caf9ba094ddfc4952ed5072c5f6f139db8029fa6bd6328d1a118e96a1d5fe lib/codeql/rust/elements/internal/generated/Callable.qll 12368b998c771c6b80f54123cea4d3600af7432ab34c9e571bc0bf3894ceb17e 273a9fd9cdae56cf2edbdc9c49b15da49cd5ad04be70acbbe2475c9c50200183 lib/codeql/rust/elements/internal/generated/CastExpr.qll ddc20054b0b339ad4d40298f3461490d25d00af87c876da5ffbc6a11c0832295 f4247307afcd74d80e926f29f8c57e78c50800984483e6b6003a44681e4a71f3 +lib/codeql/rust/elements/internal/generated/CfgAtom.qll 4379fe45c14c3f8d6bdbc2d7879082d1dbcfee00973c91d93a29ed01f9477dad 52488050dddacb84729ddf06cfe1d71c33e052015f1dff544d805ebbf286150d +lib/codeql/rust/elements/internal/generated/CfgAttrMeta.qll 8bbf153628df0e59d5c66bd41788fbbfb83b44e8870b695f5551a8961e7d4464 f605ddb63a1adc2a881e95b6adbbd908e341aca24448cd1441c7021a1eb70ae1 +lib/codeql/rust/elements/internal/generated/CfgComposite.qll 96ea6dc95579b31808d1b6cc10c8a42bb8d2b211fe6092eb62416b225297c15e 37ba82588d34831abf4426b658e1b063044f6093879bc8a704432cb8f99785d8 +lib/codeql/rust/elements/internal/generated/CfgMeta.qll 6e2e5f26a57781af0e46ddcf589f4d33637d304eca28b9c4c4e01108d075c590 015385a2fc33bfb6fbe3d3353861dea36ed00cbcf810e64c36fa46cae140218d +lib/codeql/rust/elements/internal/generated/CfgPredicate.qll 736fe7385e2af5bb86c349bb1b8dd030aef191541f6af24694e3c460b8272f61 4117ee073683eb5fb81bae9e7e49b4ad0991cfcb53e0b7b4160199931a300632 lib/codeql/rust/elements/internal/generated/ClosureExpr.qll 818aff75d86821c670d8ba0720c3270681b3e070140a9c41beab2a811b43eee6 9bf2d1d38f6c4a99d7c058f8ed096141f5ba6a75d2d26a464f0d65ed4e554222 lib/codeql/rust/elements/internal/generated/Comment.qll cd1ef861e3803618f9f78a4ac00516d50ecfecdca1c1d14304dc5327cbe07a3b 8b67345aeb15beb5895212228761ea3496297846c93fd2127b417406ae87c201 lib/codeql/rust/elements/internal/generated/Const.qll 3e606f0198b6461a94964dba7a4d386408f01651d75378eeab251dfceccf49c8 20fe276cded4764bdb1cd50de956bea88d7cd731909c0b84b4abb972b3094959 @@ -501,7 +534,8 @@ lib/codeql/rust/elements/internal/generated/ForBinder.qll 7be6b8e3934db8cd4ac326 lib/codeql/rust/elements/internal/generated/ForExpr.qll 7c497d2c612fd175069037d6d7ff9339e8aec63259757bb56269e9ca8b0114ea dc48c0ad3945868d6bd5e41ca34a41f8ee74d8ba0adc62b440256f59c7f21096 lib/codeql/rust/elements/internal/generated/ForTypeRepr.qll 7daa3b938592b590d604203e7d0fc5c34c2bffe6adcceee5a5e0c681ed16214c f1380179cbdc188ad133c946d9e17e85aed0d77771b319f663d8eada0f7cf17d lib/codeql/rust/elements/internal/generated/Format.qll 934351f8a8ffd914cc3fd88aca8e81bf646236fe34d15e0df7aeeb0b942b203f da9f146e6f52bafd67dcfd3b916692cf8f66031e0b1d5d17fc8dda5eefb99ca0 -lib/codeql/rust/elements/internal/generated/FormatArgsArg.qll c762a4af8609472e285dd1b1aec8251421aec49f8d0e5ce9df2cc5e2722326f8 c8c226b94b32447634b445c62bd9af7e11b93a706f8fa35d2de4fda3ce951926 +lib/codeql/rust/elements/internal/generated/FormatArgsArg.qll e12e470cfe23da78cb82258f7e1e9e263fd11a8ff6b9a31facf130264e1d2f86 31e8419530cff1811937ad24558aa2feaa5198df5eeb9e16b4197e8ce4efdce2 +lib/codeql/rust/elements/internal/generated/FormatArgsArgName.qll 7720d5a024c6487604952bb6a1925fd473d35d959079791acbdd98e5cd1de11e b7b4fa8121aa1f75f9467fb91e87b2a5ced1b1ce65ebe07249b78945433ea3a3 lib/codeql/rust/elements/internal/generated/FormatArgsExpr.qll 8aed8715a27d3af3de56ded4610c6792a25216b1544eb7e57c8b0b37c14bd9c1 590a2b0063d2ecd00bbbd1ce29603c8fd69972e34e6daddf309c915ce4ec1375 lib/codeql/rust/elements/internal/generated/FormatArgument.qll cd05153276e63e689c95d5537fbc7d892615f62e110323759ef02e23a7587407 be2a4531b498f01625effa4c631d51ee8857698b00cfb829074120a0f2696d57 lib/codeql/rust/elements/internal/generated/FormatTemplateVariableAccess.qll a6175214fad445df9234b3ee9bf5147da75baf82473fb8d384b455e3add0dac1 a928db0ff126b2e54a18f5c488232abd1bd6c5eda24591d3c3bb80c6ee71c770 @@ -518,6 +552,7 @@ lib/codeql/rust/elements/internal/generated/IndexExpr.qll cf951fc40f6690e966b4dc lib/codeql/rust/elements/internal/generated/InferTypeRepr.qll 4f101c1cb1278e919f9195cac4aa0c768e304c1881394b500874e7627e62d6c4 dca3f85d0a78ecc8bf030b4324f0d219ffff60784a2ecf565a4257e888dea0ff lib/codeql/rust/elements/internal/generated/Item.qll 03077c9d2f3200ebbc5df5d31f7d9b78a3ae25957ac46899a19a93684b2d7306 6492e341b9d9270c0181da0a5330f588238ced81657041ad1ad343db2bdf210b lib/codeql/rust/elements/internal/generated/ItemList.qll 1571a3ab0f2c7c0d8384549f8eac7f6e6863c42f3ec5d5ea5e01fc26b9f1056f 7b2cade995505f214df9bb2d73143a28b2499f76d88abc56ae8fcc59bf709204 +lib/codeql/rust/elements/internal/generated/KeyValueMeta.qll 0cd628f043ee5d693f602d91cd6d4e3e889beed905d84ae215be2ce0988bd2a9 4fa22e86456df225c14ae10f6c0d2509447efed81ef7bc98a88c61b0f06c1a1c lib/codeql/rust/elements/internal/generated/Label.qll 6630fe16e9d2de6c759ff2684f5b9950bc8566a1525c835c131ebb26f3eea63e 671143775e811fd88ec90961837a6c0ee4db96e54f42efd80c5ae2571661f108 lib/codeql/rust/elements/internal/generated/LabelableExpr.qll 896fd165b438b60d7169e8f30fa2a94946490c4d284e1bbadfec4253b909ee6c 5c6b029ea0b22cf096df2b15fe6f9384ad3e65b50b253cae7f19a2e5ffb04a58 lib/codeql/rust/elements/internal/generated/LetElse.qll 9e6f7057b8cb7d37b0ea79d540520028febe017ed8e9def95927ffa3fcdc1af4 3ee7d344d718898f25eb2a7a646d3c6704e8f1f22b83d0c0ea727cff74161946 @@ -542,7 +577,7 @@ lib/codeql/rust/elements/internal/generated/MatchArm.qll f8c4c955c50f8398159c492 lib/codeql/rust/elements/internal/generated/MatchArmList.qll 12d969ecb267a749918e93beda6ad2e5e5198f1683c7611772a0734a2748b04b 9226ff7cadcab4dc69009f3deeda7320c3cee9f4c5b40d6439a2fe2a9b8e8617 lib/codeql/rust/elements/internal/generated/MatchExpr.qll b686842e7000fd61e3a0598bf245fb4e18167b99eca9162fdfdff0b0963def22 00f1743b1b0f1a92c5a687f5260fda02d80cc5871694cad0d5e7d94bac7fe977 lib/codeql/rust/elements/internal/generated/MatchGuard.qll 58fa1d6979ef22de2bd68574c7ffcf4a021d7543445f68834d879ff8cee3abcb 072f22a7929df3c0e764b2a770b4cdf03504b3053067d9b9008d6655fb5837e1 -lib/codeql/rust/elements/internal/generated/Meta.qll 15e98e8d38f5618b7053057a629b135aae5e105fbf72731833a644fb695244c0 2977b6a0781c89383e87c595b14a39851f27b2508296f3e77466eea44c916188 +lib/codeql/rust/elements/internal/generated/Meta.qll 5c3358c737d504dacfa3227b80ceeead3cdeebbd7498d1d0ac88570cac1d91ec cd04ebdf19cf6710ce43e888211e61b0740aa6298db9a5ec79f29a1301a60b40 lib/codeql/rust/elements/internal/generated/MethodCallExpr.qll ffce98a6a1921822b12ead721cff0878553eb3e049c5d2184a7abce32b6615b4 d1408a0f47ee5764fe7b484494daf6e1f99b1c6a505274c48545b3e650ef8baf lib/codeql/rust/elements/internal/generated/Missing.qll 16735d91df04a4e1ae52fae25db5f59a044e540755734bbab46b5fbb0fe6b0bd 28ca4e49fb7e6b4734be2f2f69e7c224c570344cc160ef80c5a5cd413e750dad lib/codeql/rust/elements/internal/generated/Module.qll ebae5d8963c9fd569c0fbad1d7770abd3fd2479437f236cbce0505ba9f9af52c fa3c382115fed18a26f1a755d8749a201b9489f82c09448a88fb8e9e1435fe5f @@ -558,13 +593,14 @@ lib/codeql/rust/elements/internal/generated/ParamList.qll eaa0cd4402d3665013d47e lib/codeql/rust/elements/internal/generated/ParenExpr.qll 812d2ff65079277f39f15c084657a955a960a7c1c0e96dd60472a58d56b945eb eb8c607f43e1fcbb41f37a10de203a1db806690e10ff4f04d48ed874189cb0eb lib/codeql/rust/elements/internal/generated/ParenPat.qll 24f9dc7fce75827d6fddb856cd48f80168143151b27295c0bab6db5a06567a09 ebadbc6f5498e9ed754b39893ce0763840409a0721036a25b56e1ead7dcc09aa lib/codeql/rust/elements/internal/generated/ParenTypeRepr.qll 03f5c5b96a37adeb845352d7fcea3e098da9050e534972d14ac0f70d60a2d776 ed3d6e5d02086523087adebce4e89e35461eb95f2a66d1d4100fe23fc691b126 -lib/codeql/rust/elements/internal/generated/ParentChild.qll b0e3c13b2ca75faaf0d92b2ca3d70cac7b78b3729aaccf635063cc5836c163af a340e8f34a6d7425f38845e789b4aeb83aec90c11429a68ad6632a5aa132fa57 +lib/codeql/rust/elements/internal/generated/ParentChild.qll 8f1fee0d67dcac880ed20a6bdee5810a85ae752ffc3fb1d5f76d5aa2b9b54d4e 16387ca21c94f237f47b9be9b27589fea090321219c4ab73ab01d03deaea1429 lib/codeql/rust/elements/internal/generated/ParenthesizedArgList.qll d901fdc8142a5b8847cc98fc2afcfd16428b8ace4fbffb457e761b5fd3901a77 5dbb0aea5a13f937da666ccb042494af8f11e776ade1459d16b70a4dd193f9fb lib/codeql/rust/elements/internal/generated/Pat.qll 3605ac062be2f294ee73336e9669027b8b655f4ad55660e1eab35266275154ee 7f9400db2884d336dd1d21df2a8093759c2a110be9bf6482ce8e80ae0fd74ed4 lib/codeql/rust/elements/internal/generated/Path.qll 9b12afb46fc5a9ad3a811b05472621bbecccb900c47504feb7f29d96b28421ca bcacbffc36fb3e0c9b26523b5963af0ffa9fd6b19f00a2a31bdb2316071546bd lib/codeql/rust/elements/internal/generated/PathAstNode.qll b02654422f80e398027069135bb01205358f0ab82ded3408d83d066f300996a3 345e7f92a75bfc71657b223602f60c36f7637d6f2e3798f07e2d2926eea2431b lib/codeql/rust/elements/internal/generated/PathExpr.qll 34ebad4d062ce8b7e517f2ab09d52745fb8455203f4a936df7284ad296638387 ba66781cdbdeb89c27a4bfb2be0f27f85fb34978d699b4e343446fb0d7ad2aa6 lib/codeql/rust/elements/internal/generated/PathExprBase.qll d8218e201b8557fa6d9ca2c30b764e5ad9a04a2e4fb695cc7219bbd7636a6ac2 4ef178426d7095a156f4f8c459b4d16f63abc64336cb50a6cf883a5f7ee09113 +lib/codeql/rust/elements/internal/generated/PathMeta.qll 42cf084a78acb656a86a6a9b3cd893b93176a6ec9fc989a0232f01cfa3cbd228 cccedf3ca1e353d55979354b0baa23d936890ae9581097cfe4b44748ca797f18 lib/codeql/rust/elements/internal/generated/PathPat.qll 003d10a4d18681da67c7b20fcb16b15047cf9cc4b1723e7674ef74e40589cc5a 955e66f6d317ca5562ad1b5b13e1cd230c29e2538b8e86f072795b0fdd8a1c66 lib/codeql/rust/elements/internal/generated/PathSegment.qll 48b452229b644ea323460cd44e258d3ea8482b3e8b4cb14c3b1df581da004fa8 2025badcfab385756009a499e08eecc8ffd7fa590cd2b777adb283eebcc432c6 lib/codeql/rust/elements/internal/generated/PathTypeRepr.qll f12fe234d7fb1a12678b524434fcdd801453d90eb778b9173f7197ff3d957557 a1be605f8937c5bd3a3a9cb277782c24446c9f5ef8363e6f5ee8f6229886b6f6 @@ -573,7 +609,7 @@ lib/codeql/rust/elements/internal/generated/PtrTypeRepr.qll 8d0ea4f6c7f8203340bf lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9 lib/codeql/rust/elements/internal/generated/RangePat.qll 80826a6a6868a803aa2372e31c52a03e1811a3f1f2abdb469f91ca0bfdd9ecb6 34ee1e208c1690cba505dff2c588837c0cd91e185e2a87d1fe673191962276a9 -lib/codeql/rust/elements/internal/generated/Raw.qll 6e32bd7167d3eece2d22f893a92410129b1bd18e59533b1cf82f72f31465b43a bb25c56118df0e2755be2350cf307c19e6c4d85b2a39388c08f2cc1bad303692 +lib/codeql/rust/elements/internal/generated/Raw.qll 3c0155cada06e8b03749b6607abeca93a865f5935a905043ac91c53d417175cd 6ebbd128c0f426155fcbda9a2efd9c890d108b3ed87068830a756664d90a96c2 lib/codeql/rust/elements/internal/generated/RefExpr.qll 7d995884e3dc1c25fc719f5d7253179344d63650e217e9ff6530285fe7a57f64 f2c3c12551deea4964b66553fb9b6423ee16fec53bd63db4796191aa60dc6c66 lib/codeql/rust/elements/internal/generated/RefPat.qll 456ede39837463ee22a630ec7ab6c8630d3664a8ea206fcc6e4f199e92fa564c 5622062765f32930465ba6b170e986706f159f6070f48adee3c20e24e8df4e05 lib/codeql/rust/elements/internal/generated/RefTypeRepr.qll 5b0663a6d234572fb3e467e276d019415caa95ef006438cc59b7af4e1783161e 0e27c8a8f0e323c0e4d6db01fca821bf07c0864d293cdf96fa891b10820c1e4b @@ -593,17 +629,18 @@ lib/codeql/rust/elements/internal/generated/Struct.qll 56775b98f793c108bd0eb8f35 lib/codeql/rust/elements/internal/generated/StructExpr.qll e77702890561102af38f52d836729e82569c964f8d4c7e680b27992c1ff0f141 23dc51f68107ab0e5c9dd88a6bcc85bb66e8e0f4064cb4d416f50f2ba5db698c lib/codeql/rust/elements/internal/generated/StructExprField.qll 6bdc52ed325fd014495410c619536079b8c404e2247bd2435aa7685dd56c3833 501a30650cf813176ff325a1553da6030f78d14be3f84fea6d38032f4262c6b0 lib/codeql/rust/elements/internal/generated/StructExprFieldList.qll 298d33442d1054922d2f97133a436ee559f1f35b7708523284d1f7eee7ebf443 7febe38a79fadf3dcb53fb8f8caf4c2780f5df55a1f8336269c7b674d53c6272 -lib/codeql/rust/elements/internal/generated/StructField.qll 0ccd678b64b82fdab7ffe9eb74f0d393b22da4459fe72248828896b5204c009c 0faf5a517eccc43141a48809ed35b864341a35764de2dba7442daa899ff4ff69 +lib/codeql/rust/elements/internal/generated/StructField.qll 23c5a0b26936582f43b8bb567825257aab29ee8a3d4ff646ca1dff2e3063bf41 163c446ae52519fd77c1108719e014c41caad205b303848782c45fa50b37b254 lib/codeql/rust/elements/internal/generated/StructFieldList.qll 5da528a51a6a5db9d245772aec462d1767bcc7341e5bedd1dc1bbedd3e4ab920 dac4cee3280eef1136ffc7fbc11b84b754eb6290fc159c6397a39ae91ceeaa13 lib/codeql/rust/elements/internal/generated/StructPat.qll c76fa005c2fd0448a8803233e1e8818c4123301eb66ac5cf69d0b9eaafc61e98 6e0dffccdce24bca20e87d5ba0f0995c9a1ae8983283e71e7dbfcf6fffc67a58 lib/codeql/rust/elements/internal/generated/StructPatField.qll 5b5c7302dbc4a902ca8e69ff31875c867e295a16a626ba3cef29cd0aa248f179 4e192a0df79947f5cb0d47fdbbba7986137a6a40a1be92ae119873e2fad67edf lib/codeql/rust/elements/internal/generated/StructPatFieldList.qll 1a95a1bd9f64fb18e9571657cf2d02a8b13c747048a1f0f74baf31b91f0392ad fc274e414ff4ed54386046505920de92755ad0b4d39a7523cdffa4830bd53b37 -lib/codeql/rust/elements/internal/generated/Synth.qll 3b9f71b9b6b9952c967e1ba74175b74dd563492d5adc00a27e19ab735bf37918 3ef3e4fe71ab08f772ebd68036cba7b2ec4109d706cfb03747aa05835f376628 -lib/codeql/rust/elements/internal/generated/SynthConstructors.qll ec935bac4f775b64c76cd15ab975d885f544e77bf4833fd0f47acd40438fe66f ec935bac4f775b64c76cd15ab975d885f544e77bf4833fd0f47acd40438fe66f +lib/codeql/rust/elements/internal/generated/Synth.qll f3914d3d346fe9dad959b7c7fa88a791860284c848aaa339b800e521195dde08 87a338c138bc8322ddc34b7a265232be294cf7b0a07944b478b8ee9531841e6a +lib/codeql/rust/elements/internal/generated/SynthConstructors.qll aea619227c640e27d715bf57c00bfde840a31d28addc8baee3b38aeb16bdf721 aea619227c640e27d715bf57c00bfde840a31d28addc8baee3b38aeb16bdf721 lib/codeql/rust/elements/internal/generated/Token.qll 77a91a25ca5669703cf3a4353b591cef4d72caa6b0b9db07bb9e005d69c848d1 2fdffc4882ed3a6ca9ac6d1fb5f1ac5a471ca703e2ffdc642885fa558d6e373b lib/codeql/rust/elements/internal/generated/TokenTree.qll 1a3c4f5f30659738641abdd28cb793dab3cfde484196b59656fc0a2767e53511 de2ebb210c7759ef7a6f7ee9f805e1cac879221287281775fc80ba34a5492edf +lib/codeql/rust/elements/internal/generated/TokenTreeMeta.qll 6952cd186e38c4a41131f93754010c8af3c210324d5a8ce3831694aa6be9f2aa 7a23c380fc8aa02c53370e0c68536a7e9fed8aad58185cb0f6110093c3067543 lib/codeql/rust/elements/internal/generated/Trait.qll 8fa41b50fa0f68333534f2b66bb4ec8e103ff09ac8fa5c2cc64bc04beafec205 ce1c9aa6d0e2f05d28aab8e1165c3b9fb8e24681ade0cf6a9df2e8617abeae7e -lib/codeql/rust/elements/internal/generated/TraitAlias.qll 40a296cf89eceaf02a32db90acb42bdc90df10e717bae3ab95bc09d842360a5b af85cf1f8fa46a8b04b763cdcacc6643b83c074c58c1344e485157d2ceb26306 +lib/codeql/rust/elements/internal/generated/TryBlockModifier.qll 812cc73a945abaa51054e7261daf4dc10912f1e331f202186001ed087a962696 a76457699f3f6bc1373276a0de2f14365e573d34e82fd292c6c9261612c0f17e lib/codeql/rust/elements/internal/generated/TryExpr.qll 73052d7d309427a30019ad962ee332d22e7e48b9cc98ee60261ca2df2f433f93 d9dd70bf69eaa22475acd78bea504341e3574742a51ad9118566f39038a02d85 lib/codeql/rust/elements/internal/generated/TupleExpr.qll 98f10bc72d09f98e3be87f41b1a3cbf037f4a7e3d3560dfa6d5759905a8177a5 6a9eb5568c518876b2912371e2b7b774cf5245097c5a0206eda35b749995f00b lib/codeql/rust/elements/internal/generated/TupleField.qll 121f7b35e28b86592f83e00993f9041acbe7ab636db894d03055149c7f15fd32 b1ba9e1182307a44bb5afc11e92d62e7eb2c819ccdfb28ef54943b6fec676827 @@ -622,12 +659,13 @@ lib/codeql/rust/elements/internal/generated/UnderscoreExpr.qll b3780c99c5d57159b lib/codeql/rust/elements/internal/generated/Unextracted.qll 01563dfd769d6dc3c6b8a40d9a4dc0d99a3b6a0c6725c180d2bf4d7633929a17 a93ce90f8c03f4305e59de9c63f089fc7935298fc9a73d091d76933cf63e790c lib/codeql/rust/elements/internal/generated/Unimplemented.qll a3eb304781991bff1227de1e4422b68bf91e7b344e4f6c9e874b324e82a35e60 6bc4839fda3850a56dc993b79ef9ba921008395c8432b184e14438fba4566f21 lib/codeql/rust/elements/internal/generated/Union.qll 4df8fc632f7bcc0cbd564cd1c148c1a2438f26e6a83cd6470e15870120f677fe c74dea0a4ddfd581b9208d7907ea134219cafd217294315acf5c595de38a61f3 +lib/codeql/rust/elements/internal/generated/UnsafeMeta.qll ec5515798be2395a1256460d9272fe023bc604d952eba5d18e13d3e43fc801ff 3ece9a326a7c91d49395e3dc6687a38e2e2736cc20e4b7c534eb7a4e73613264 lib/codeql/rust/elements/internal/generated/Use.qll cf95b5c4756b25bee74113207786e37464ffbc0fb5f776a04c651300afc53753 1fe26b3904db510184cb688cb0eeb0a8dbac7ac15e27a3b572d839743c738393 lib/codeql/rust/elements/internal/generated/UseBoundGenericArg.qll 69162794e871291545ea04f61259b2d000671a96f7ca129f7dd9ed6e984067c4 31de9ebc0634b38e2347e0608b4ea888892f1f2732a2892464078cd8a07b4ee8 lib/codeql/rust/elements/internal/generated/UseBoundGenericArgs.qll cedde7ccf689e3a2a246113be94544c206c56fb1c01b83b074e1f6edd3acfced f022ea4c653d1b5f311917efde8e59be27394ce7f6abf2561bb1e42f93f74adf lib/codeql/rust/elements/internal/generated/UseTree.qll 3d7cbcc8ae76068b8f660c7d5b81b05595026043015cd6b4d42a60ed4c165811 b9f0bcf82feb31f31406e787670fee93e1aa0966bcc0e4cc285c342e88793e4e lib/codeql/rust/elements/internal/generated/UseTreeList.qll 38efaa569b76ca79be047703279388e8f64583a126b98078fbbb6586e0c6eb56 1623a50fd2d3b1e4b85323ad73dd655172f7cbc658d3506aaa6b409e9ebe576e -lib/codeql/rust/elements/internal/generated/Variant.qll fa6909715133049b3dba4622e6262fa30c4a9478b6219ec4fd12e07c58750709 71fc2ddac97fc4c4e6b92a13ee217cccc81dffc7c12295b6bc97c56ad25a92cc +lib/codeql/rust/elements/internal/generated/Variant.qll 7a1aedf6518780d1534147d5a52d14542698befe1d8eb8b78eb10d2664c3a69b 180d6de0826b1a75bf8b1853d539f605bff2eb3794ccb57ff23e5b3ee3171956 lib/codeql/rust/elements/internal/generated/VariantList.qll 3f70bfde982e5c5e8ee45da6ebe149286214f8d40377d5bc5e25df6ae8f3e2d1 22e5f428bf64fd3fd21c537bfa69a46089aad7c363d72c6566474fbe1d75859e lib/codeql/rust/elements/internal/generated/Visibility.qll af1069733c0120fae8610b3ebbcdcebe4b4c9ce4c3e3d9be3f82a93541873625 266106bdff4d7041d017871d755c011e7dd396c5999803d9e46725b6a03a2458 lib/codeql/rust/elements/internal/generated/WhereClause.qll aec72d358689d99741c769b6e8e72b92c1458138c097ec2380e917aa68119ff0 81bb9d303bc0c8d2513dc7a2b8802ec15345b364e6c1e8b300f7860aac219c36 @@ -636,7 +674,7 @@ lib/codeql/rust/elements/internal/generated/WhileExpr.qll 0353aab87c49569e1fbf58 lib/codeql/rust/elements/internal/generated/WildcardPat.qll d74b70b57a0a66bfae017a329352a5b27a6b9e73dd5521d627f680e810c6c59e 4b913b548ba27ff3c82fcd32cf996ff329cb57d176d3bebd0fcef394486ea499 lib/codeql/rust/elements/internal/generated/YeetExpr.qll cac328200872a35337b4bcb15c851afb4743f82c080f9738d295571eb01d7392 94af734eea08129b587fed849b643e7572800e8330c0b57d727d41abda47930b lib/codeql/rust/elements/internal/generated/YieldExpr.qll 37e5f0c1e373a22bbc53d8b7f2c0e1f476e5be5080b8437c5e964f4e83fad79a 4a9a68643401637bf48e5c2b2f74a6bf0ddcb4ff76f6bffb61d436b685621e85 -lib/codeql/rust/elements.qll be9c7606d429b62fcb8686285e8eeff41f45f0dd22feb5b4fd3ea2f3cdfb39be be9c7606d429b62fcb8686285e8eeff41f45f0dd22feb5b4fd3ea2f3cdfb39be +lib/codeql/rust/elements.qll 55ccf59deeb718517703e2aa9e90452736de118032d3bdad4b4ab7295cbb795a 55ccf59deeb718517703e2aa9e90452736de118032d3bdad4b4ab7295cbb795a test/extractor-tests/generated/Abi/Abi.ql 086ed104ab1a7e7fe5c1ed29e03f1719a797c7096c738868bf6ebe872ab8fdaa fe23fe67ab0d9201e1177ea3f844b18ed428e13e3ce77381bf2b6910adfa3a0e test/extractor-tests/generated/ArgList/ArgList.ql da97b5b25418b2aa8cb8df793f48870c89fa00759cdade8ddba60d7f1f4bbc01 acfd5d2caf67282ad2d57b961068472100482d0f770a52a3c00214c647d18c75 test/extractor-tests/generated/ArrayListExpr/ArrayListExpr.ql 42b365276aa43e2cad588338463542d3ce1dd0db3a428621554584b07a1431d5 08a66a8b69af35ee3bc64c35c453a19a6c9881cc6cc7e65275d1fff056121270 @@ -659,11 +697,15 @@ test/extractor-tests/generated/Attr/Attr.ql 88f9a524b557e81006a5079ac6d703c42df0 test/extractor-tests/generated/AwaitExpr/AwaitExpr.ql 93ccb34e00b37deecd6d3019bb47948daffe55a2d5d031c60b4f6fa7a61412a4 5502459743efd8346ab943ff3334545407b21aaf0771bf422be58a5df5d27381 test/extractor-tests/generated/BecomeExpr/BecomeExpr.ql 7076b3f965c680e8f03bccd9ecb4495d03d35a4f460ec43628c19314eae8b49e 961e6e656e467ba389bbc6db39f345d9a8afaae4584d357dfe47484c6afadb99 test/extractor-tests/generated/BinaryExpr/BinaryExpr.ql 4e849e6eaae581f487aa74d09d1106e441c876b06474389687a04df446690a4d 6cd36dfdb0af25396d2219fe2789f898e2393cc3f10a25410b2ede5d216707cd -test/extractor-tests/generated/BlockExpr/BlockExpr.ql cd6ef66de9e56ebb74964e59617d47999fb8c9081e885acece17a3b747a35ae1 6766844c1b87e518688565f2469575af5ca4e0ff4eb0c0b620df73a451d86a0b +test/extractor-tests/generated/BlockExpr/BlockExpr.ql d2917477f9cf09e1548fdbf9a5d835a1c0cec14705b3cbd16831c6a169050339 85937baa90543dc63407c53d69090d16134591f5f0baaf32c927105fb3bab865 test/extractor-tests/generated/BoxPat/BoxPat.ql 854c9ba4e045dbe7ea1666866c1c443a92597df0ce02f4ca5993142925941c39 a22c17cce0bff7d1df51b817d2cb1a61045357f91be14465166971efa5f5daad test/extractor-tests/generated/BreakExpr/BreakExpr.ql c2181211da3dfe983cfca93ead32d5d211e91181899b9477152c58124eaa846d 57e57b926e14db2efb2e88e04699608b2ba9797ee4f6c4f710135b6858982256 test/extractor-tests/generated/CallExpr/CallExpr.ql 16d85d6e5cb68384d0b932fb4506c1855019b819f2c5faa39a4472f39427623a 14df8383948cedaff88f514f7239c1ec8c424720d24e3546cbcd0b689acecdb1 test/extractor-tests/generated/CastExpr/CastExpr.ql 3480ec51072399409b7553ab6139c832db6ed4ca991f3a7a2282a39afe07c6f2 614c8ea7a2fe30d57583dbf84ed7a12743c2aba49d8c6252d31af3ed10853a39 +test/extractor-tests/generated/CfgAtom/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 +test/extractor-tests/generated/CfgAttrMeta/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 +test/extractor-tests/generated/CfgComposite/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 +test/extractor-tests/generated/CfgMeta/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/ClosureExpr/ClosureExpr.ql 675ae07193241fbd710ece4f74f86e9b00f47841299b1c5934f55dbf13a4b4af 21fb0664619c9c889e9491bfd651c2814dcf0f158dd6269937bd0acc18be6b0e test/extractor-tests/generated/Comment/Comment.ql 0e0454911d2cf2e7ef5c6d860b84c57b9d490090914ebcf4fa0e8a70f777f066 cbd1c195276ef163f8d3c122344738c884dc9fb70eb2f9b7067829d735d48c4c test/extractor-tests/generated/Const/Const.ql 97797a56743b519c1990682ccb22af6d997ed5eea1e280b52ad31b16a5836f9e e5289ebcb71a25b7ac0a7e1aa0111e4f3ec83d26b7f83e819509c9b9d756921d @@ -683,8 +725,9 @@ test/extractor-tests/generated/FnPtrTypeRepr/FnPtrTypeRepr.ql 1501730f1e02e9d22b test/extractor-tests/generated/ForBinder/ForBinder.ql c95fd006eaddb9535eda0d527d71cdd5d3745fe464fd809a8d58b8c4dfc8790e 1d8b38059b8a25965eab9a8a1286384aa994d7cac7414b70b63c6a3d6bcf3c39 test/extractor-tests/generated/ForExpr/ForExpr.ql 3bac38bf33e140ae9f88371ec90409f7de867e39cdea46f02b15519b236b57cb aade1baf6e6081b3b9bce5b7e95fe4b7ffe00ea9450fd6e1d6692ad97cf93fe9 test/extractor-tests/generated/ForTypeRepr/ForTypeRepr.ql 5961055988b3a7749fb80e24d924bf1b67b0c52a6c895379beedd66a34bad04f d8ab72fac742314ead1aa0e1fed2535cc6597d278f3eef017bc9f8fd8cde83e7 +test/extractor-tests/generated/FormatArgsArgName/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/FormatArgsExpr/Format.ql 237ed2e01d9a75ee8521d6578333a7b1d566f09ef2102c4efcbb34ea58f2f9e8 09007ce4de701c0d1c0967f4f728ea9e627d9db19431bd9caebbf28ee51a1f36 -test/extractor-tests/generated/FormatArgsExpr/FormatArgsArg.ql 5abcb565dcd2822e2ea142d19b8c92194ee17c71c3db7595248690034559d174 1ffa743fc678701ffeefff6c14c1414bb9158e6756f32380dd590ff44b19ca5a +test/extractor-tests/generated/FormatArgsExpr/FormatArgsArg.ql 30e57945c51bfde4c0cf69e404741548c899450e5dd6622b8caabd1394b10eaf d6d38db1e2ea20ce5f0cd858817fe306397a9ba50eb9be08e132eaf897cb5592 test/extractor-tests/generated/FormatArgsExpr/FormatArgsExpr.ql 243c2f9d830f1eae915749e81ac78d3c140280385b0002d10fcc4d2feaf14711 72b90a99a8b1c16baf1e254e1e3463c3ce5409624a2a90829122717d4e5a2b74 test/extractor-tests/generated/FormatArgsExpr/FormatArgument.ql 0a345eb48dba8e535d12a00e88008e71b3ce692fbf8f9686c8885e158635dffe eab1f230fd572474a3f304f97d05bbf4a004c52773aaf2d34f999192244c0b80 test/extractor-tests/generated/FormatArgsExpr/FormatTemplateVariableAccess.ql 24108cdc54feb77c24bb7894744e36e374f0c03d46d6e6c3fcb2012b1ad117f6 05a6b6f51029ee1a15039aa9d738bb1fd7145148f1aad790198fba832572c719 @@ -698,6 +741,7 @@ test/extractor-tests/generated/ImplTraitTypeRepr/ImplTraitTypeRepr.ql 311c6c1e18 test/extractor-tests/generated/IndexExpr/IndexExpr.ql ecfca80175a78b633bf41684a0f8f5eebe0b8a23f8de9ff27142936687711263 27d4832911f7272376a199550d57d8488e75e0eeeeb7abbfb3b135350a30d277 test/extractor-tests/generated/InferTypeRepr/InferTypeRepr.ql 6ba01a9e229e7dfdb2878a0bdbeb6c0888c4a068984b820e7a48d4b84995daa2 7120cafd267e956dbb4af5e19d57237275d334ffe5ff0fb635d65d309381aa46 test/extractor-tests/generated/ItemList/ItemList.ql e29302a9212b07fdaf93618852be30adfac64b292e9a0ddbf63addb803daaa98 7e69a78b0f58ef9344892113799092149024c1352b0965a6326d8a45cd44771a +test/extractor-tests/generated/KeyValueMeta/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/Label/Label.ql da1f302da6cb31e6ccb73c722d9d5cfaad6a26d9869b3fa09fe50b03e26f3d9b 5fbfabfef6567ec6609be1af7859eba8ecb1f7f1878b8fac426e0d7098c17ba1 test/extractor-tests/generated/LetElse/LetElse.ql ec8e7362ce9f903731ed6bfc190fc18a6f60abf150f5cee878a0fb9adaa20b94 2e019b6e246caabe4800ab940bc150bd8e466d59dde87bd614bf064adb703c8f test/extractor-tests/generated/LetExpr/LetExpr.ql 59f70af49ba496559a7ccfe30e737597fb473794d677627d344a9285f85dad33 b59d1f665c600055666a422c4008878cecf17d9ff847cd02b6e0e82ca73073bc @@ -719,7 +763,6 @@ test/extractor-tests/generated/MatchArm/MatchArm.ql 704976bd48e56a0a2fce7c2d9454 test/extractor-tests/generated/MatchArmList/MatchArmList.ql bbc679fe6d8dedf9131d0fa5faa7b44c138c5f56b9cf3cb209fd3ccd614b689c 916c53a2b68646b52f2d28eca2a19218ba9d12eb8edf7c6cc4140dace1bf4e0d test/extractor-tests/generated/MatchExpr/MatchExpr.ql b75a5936401bb5ca38686f1413f5c8267ad685722560a2e9041dacf2f8d54abc 7da57118fe5b1f7f5cbe8d6b5f3ae70816fd4837b1c2e6401b98175b36ca233f test/extractor-tests/generated/MatchGuard/MatchGuard.ql 91de18a0a18d120db568b2c329e5cb26f83e327cf22c5825c555ea17249d7d23 0bcdb25895362128517227c860b9dad76851215c2cdf9b2d0e5cc3534278f4ec -test/extractor-tests/generated/Meta/Meta.ql 43dd1cd669099b38396b316616992af6d84b0c1cee953b19235a00ab3d3bb43c 80b1885809aa074357e21707d1f8c6dca19f0b968ccff43229bb0d5c6fffb2b2 test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql 9d5af6b4771a8725fa5b56ccb3e2a33158b18c876546b88e6dc63da1f887910a 494c8c2fe5584aac45c828b38d8bb20c113927a1e909773d4a2dbd3965d26170 test/extractor-tests/generated/Module/Module.ql d7c442fd1b1f4f00da87e2228fc1aeeab0bb86648b2aa06a9dd6f40dbae1ee28 3229388727d14048e87238bcda5fde1bed503e5cac088922381e5833cfc32fa9 test/extractor-tests/generated/Name/Name.ql b2fe417f7c816f71d12622b4f84ece74eba3c128c806266a55b53f8120fa4fb3 8bc65bbf3f2909637485f5db7830d6fc110a94c9b12eefe12d7627f41eae2256 @@ -738,6 +781,7 @@ test/extractor-tests/generated/Path/PathExpr.ql caa2a41b5cc3af837fcf52b49abc5f45 test/extractor-tests/generated/Path/PathPat.ql 8a6a759f4bbf4fa9c23fd235ce4d63f04bd715a86a6e71bba0a324fe1231d947 be23d83e4f6ac209f3f7c382fce6b9bc57db17a26b236bdf8215848285e345ff test/extractor-tests/generated/Path/PathSegment.ql 87774cc2e9d1be7aaf8748d418b151d7ec03fb20fda9430ebabd86ddaebf5538 699545d8eb2d6325bcd2c253d56339bd71170b34e80efe5155189fbbdde9fbbc test/extractor-tests/generated/Path/PathTypeRepr.ql 32023340cb9aa1fbf52a1a3e330c6f3206e1c64c9dce2f795d9e434aa5a1533b f451de0d4941ab79014d2883b46291f9f05f79d479fcdcab387020ab3ed68703 +test/extractor-tests/generated/PathMeta/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/PrefixExpr/PrefixExpr.ql 63e9dbae0d0b46d5e9d60c313e408c4c7ee1a93c5a26fe4c01a632911de961d0 09fcc28bb22553356aebf9ea93811703e5404b88022be8dab61ac81d3b187b75 test/extractor-tests/generated/PtrTypeRepr/PtrTypeRepr.ql d9289bfe1e72d9560b3878e4557f8cfda578ef7bce67eb29d7320921c0ba46a5 f3ea108aa25635bffa7673bb66b2581ce246d3aae86edf878c6f1abca2493c16 test/extractor-tests/generated/RangeExpr/RangeExpr.ql c9776706d933606d1463bb08ed76457ac03a9558f6dac0218ef2012bc5e8e48f 77cafee86abc2680e1f9c925fbe664c05ba1b9a2533b1873242ef01dde1ce308 @@ -760,15 +804,16 @@ test/extractor-tests/generated/Struct/Struct.ql 57e837e3c665d24870d99492c8874441 test/extractor-tests/generated/StructExpr/StructExpr.ql 3b98205260e750cc7adc42b318deef2854cc3b4f921cbcfffc6d701553af3903 368bccf01db2fa069dca30d9fb0878f8e6a88d4ce58b333b24a18620933e4c91 test/extractor-tests/generated/StructExprField/StructExprField.ql b65375963aa24f0d1dd4c10784e32ab8c337ad431462ea1d081a0e456fbb1362 7f5a49e8df03ed0890b51c2e941d636fbbf70445a53d3af2c0f34a04f26bc6ef test/extractor-tests/generated/StructExprFieldList/StructExprFieldList.ql 01dc3ef66d79836a3d372464f05454015648ab093f9547c5d9c5d55271acb718 83625301c097fa38d4e6021ea28b8adc6338076c8c2aa88a86a22aac412839f6 -test/extractor-tests/generated/StructField/StructField.ql dbdb627202975a0ca07ed441449ecc95d9d0764084a49a18e7849164b2e65ce2 8e7f32f28d15104575eaa985e892c162ec775adf3481c227ef618b5668168de7 +test/extractor-tests/generated/StructField/StructField.ql 322229f824f2e2e2c4fb76ff35e343559bbe986982d40ca8739a071ee9778de4 535c3958f316c7106de50aa507f159b99b58cef4707e1f6b0a5ea48913d9c49c test/extractor-tests/generated/StructFieldList/StructFieldList.ql 292170b20f3a55c0cd6a8d78ce99474ca68daf6fb380cffe00b2bd7074e1b73a 404bab780f290ae04d1d71d3c6d4e0092bb3d8c55e956168d2a445cbd6d1f06d test/extractor-tests/generated/StructPat/StructPat.ql 894babd64d3def35717cbeed6eb4799cf9f52e73992822b72fc521c93efb4935 5bd1502b69014d70464b4b76795e1732ac2a6db5d028bea52929cf1998af5f07 test/extractor-tests/generated/StructPatField/StructPatField.ql 92cb6a4b5234359c02d66085b10d41f37b77370491ed478ad6d4d9b12b943ecf 14bc2079763b53bc6ab11356f3bb21820ae9e4dd1b2a42a78665c32181c4ef92 test/extractor-tests/generated/StructPatFieldList/StructPatFieldList.ql a3ba3e99d3c87d5e0ae0ad82cbea3600ac1745e9364d54d8d51224b51a5a09a5 5942ed2722c006bae99de9174249110bfc79594c5ef9a6dfc098ae2be269b8f3 test/extractor-tests/generated/TokenTree/TokenTree.ql 55592f43a6fe99045d0b0b1e2323211d3a3fd64a8c7d2b083f2518d4c3e2e4b0 8eeef2060c80b0918857ba9b3a8543a4b866ca04be3d5ca18aae8a26cbdb836e +test/extractor-tests/generated/TokenTreeMeta/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/Trait/AssocItemList.ql 065c4903992500423d796800e7dc9a5835a07cbada595108f3af6efa72517782 aa797bf5ddefb800d5ca7f49c19c5124b1007e1658129b27c8c3de34427c7f08 test/extractor-tests/generated/Trait/Trait.ql e59d9d97baedc5691f9fb837e3600b1b33808c598971d8abe28121a9c70292b4 0da2808421a1e1acbc61076d4b50c559f2abf02cbd5f69ba15a65457887ff435 -test/extractor-tests/generated/TraitAlias/TraitAlias.ql 9a4bcbf850afd833606f9447493b848e9a5df593198e5fc7a3a5bfb1c4c0782c 1f738eaf245220142d9fe5b88718980494b1e3c5b68609f5ee591056f23ea765 +test/extractor-tests/generated/TryBlockModifier/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/TryExpr/TryExpr.ql 4e3c224a7d5fb8f01654c7d3c79414daa575897cfa6f351fcd5b5832f53a151f d961a497c304c1c5aa1d94e04aed2bf17a2c422e315f05986e1a9027e69dbd2a test/extractor-tests/generated/TupleExpr/TupleExpr.ql 4011d94438903e96fa321285558f5791bee7e1d1fb26be0381586511cf439d1b c6bc8d08a8d5d98d7a52b72d5c597b63754fe12cec653c520833e4b71a9dcea4 test/extractor-tests/generated/TupleField/TupleField.ql ed681b7fee5e68d24db4999389727b2589e5af793d3c2ddc8b1e245713c0e1f8 4f867b29adf91b4bfa5052e16d392c16bf260e858aad11b60c42f1eddb476e61 @@ -783,11 +828,12 @@ test/extractor-tests/generated/TypeBoundList/TypeBoundList.ql 6827529eca62f5e7be test/extractor-tests/generated/TypeParam/TypeParam.ql c5f8f62f2877c719c3cf069f9d0ca83cebc14f7611c6c2dce86c85114ea2635c 751c630986f35a8d0d32fbeb61ca6ff801c96cd1829dbccc874fbf5f5158e98d test/extractor-tests/generated/UnderscoreExpr/UnderscoreExpr.ql a7b7a93104fff28515154cf8e79045d3eea2494b5c46f1caf36639c53b1c64a7 070ee2e1664e3291646ea56681b5c93331f94dcc519deb28622beca3e26e16f3 test/extractor-tests/generated/Union/Union.ql 427757ef5aa4e95fde8f5047263cbbbc7e2614f9efabc51c9a5f9ba8d9b68310 d1d8840a4324e5727e1ecf6e696741e902b807b39ec82686b94211803eb2d0ba +test/extractor-tests/generated/UnsafeMeta/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/Use/Use.ql 1f084f3b49c910c6e01d2a81be2443e84c2836a5855b89874965efaf25d17511 d5bf37ba65f4d280312ca798bae22d2735c00cf91ff05ed6321f69b76b4551bc test/extractor-tests/generated/UseBoundGenericArgs/UseBoundGenericArgs.ql 46ff2cf0fc8b561b21f8dff3230550f2feafbe52a7ea8b28bf183abef94ff241 92646f3bd15a8cf4c23ee9de4d857ac5c147e570ef0eb223423a109b4b79aedf test/extractor-tests/generated/UseTree/UseTree.ql 3c2bc924b54b9af5c95784023d4098924571ba464c5982124acea712c3ce0e93 8d9f963b61a9a8a83efd93438ce8b43d4aa763493338ad9afd2a3dc7a440892d test/extractor-tests/generated/UseTreeList/UseTreeList.ql faff7bfc060d5b0a922f38b37bf586596566186f704c9921651785580e86d684 81e5b90edeef0d3883547844a030e72b555d714de1ed8dded1c22a3772b4449a -test/extractor-tests/generated/Variant/Variant.ql 6b1936698cec413f1645d52e3f4d6d995968d432466241eb823c1ae635c852dd 0b5b0248f09ae01b683ea835299d51fa26f6b5a584e889c538b0f0cf13106d0f +test/extractor-tests/generated/Variant/Variant.ql 0de458e2d04e40e9a0c036e423d05af3617f4423b967e287f0800ccffd345633 921a8ca71390812f174c5220d54dfcfc7105e57ba3c301f5c86301a19d089bda test/extractor-tests/generated/VariantList/VariantList.ql 1c1d82ce3ecfa7daaae1920662510e81892ed899a3c2f785e2ff3670245a03cd 29d4c5ab2b737a92c7525789e10a4aa9848f1a327e34f4e9543018021106b303 test/extractor-tests/generated/Visibility/Visibility.ql 725d47d7444332133df603f9b06592dc40b0f83bf5e21ad4781c5658e001a3aa 2d65a30702a8bb5bc91caf6ae2d0e4c769b3eeb0d72ffbd9cdb81048be4061ad test/extractor-tests/generated/WhereClause/WhereClause.ql a6f0e69ffa6b997cac04d4da442eb8bde517a576840c953abcc40863b9099ba1 7ce888fffc3038d5b18f8c94d3b045815cd45500e1bb3849c05fc874edbeb695 diff --git a/rust/ql/.gitattributes b/rust/ql/.gitattributes index d8004cb5b35e..d4feb85fc476 100644 --- a/rust/ql/.gitattributes +++ b/rust/ql/.gitattributes @@ -36,6 +36,11 @@ /lib/codeql/rust/elements/CallExpr.qll linguist-generated /lib/codeql/rust/elements/Callable.qll linguist-generated /lib/codeql/rust/elements/CastExpr.qll linguist-generated +/lib/codeql/rust/elements/CfgAtom.qll linguist-generated +/lib/codeql/rust/elements/CfgAttrMeta.qll linguist-generated +/lib/codeql/rust/elements/CfgComposite.qll linguist-generated +/lib/codeql/rust/elements/CfgMeta.qll linguist-generated +/lib/codeql/rust/elements/CfgPredicate.qll linguist-generated /lib/codeql/rust/elements/ClosureExpr.qll linguist-generated /lib/codeql/rust/elements/Comment.qll linguist-generated /lib/codeql/rust/elements/Const.qll linguist-generated @@ -61,6 +66,7 @@ /lib/codeql/rust/elements/ForTypeRepr.qll linguist-generated /lib/codeql/rust/elements/Format.qll linguist-generated /lib/codeql/rust/elements/FormatArgsArg.qll linguist-generated +/lib/codeql/rust/elements/FormatArgsArgName.qll linguist-generated /lib/codeql/rust/elements/FormatArgsExpr.qll linguist-generated /lib/codeql/rust/elements/FormatArgument.qll linguist-generated /lib/codeql/rust/elements/FormatTemplateVariableAccess.qll linguist-generated @@ -77,6 +83,7 @@ /lib/codeql/rust/elements/InferTypeRepr.qll linguist-generated /lib/codeql/rust/elements/Item.qll linguist-generated /lib/codeql/rust/elements/ItemList.qll linguist-generated +/lib/codeql/rust/elements/KeyValueMeta.qll linguist-generated /lib/codeql/rust/elements/Label.qll linguist-generated /lib/codeql/rust/elements/LabelableExpr.qll linguist-generated /lib/codeql/rust/elements/LetElse.qll linguist-generated @@ -122,6 +129,7 @@ /lib/codeql/rust/elements/PathAstNode.qll linguist-generated /lib/codeql/rust/elements/PathExpr.qll linguist-generated /lib/codeql/rust/elements/PathExprBase.qll linguist-generated +/lib/codeql/rust/elements/PathMeta.qll linguist-generated /lib/codeql/rust/elements/PathPat.qll linguist-generated /lib/codeql/rust/elements/PathSegment.qll linguist-generated /lib/codeql/rust/elements/PathTypeRepr.qll linguist-generated @@ -155,8 +163,9 @@ /lib/codeql/rust/elements/StructPatFieldList.qll linguist-generated /lib/codeql/rust/elements/Token.qll linguist-generated /lib/codeql/rust/elements/TokenTree.qll linguist-generated +/lib/codeql/rust/elements/TokenTreeMeta.qll linguist-generated /lib/codeql/rust/elements/Trait.qll linguist-generated -/lib/codeql/rust/elements/TraitAlias.qll linguist-generated +/lib/codeql/rust/elements/TryBlockModifier.qll linguist-generated /lib/codeql/rust/elements/TryExpr.qll linguist-generated /lib/codeql/rust/elements/TupleExpr.qll linguist-generated /lib/codeql/rust/elements/TupleField.qll linguist-generated @@ -175,6 +184,7 @@ /lib/codeql/rust/elements/Unextracted.qll linguist-generated /lib/codeql/rust/elements/Unimplemented.qll linguist-generated /lib/codeql/rust/elements/Union.qll linguist-generated +/lib/codeql/rust/elements/UnsafeMeta.qll linguist-generated /lib/codeql/rust/elements/Use.qll linguist-generated /lib/codeql/rust/elements/UseBoundGenericArg.qll linguist-generated /lib/codeql/rust/elements/UseBoundGenericArgs.qll linguist-generated @@ -238,6 +248,15 @@ /lib/codeql/rust/elements/internal/BreakExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/CallExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/CastExprConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/CfgAtomConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/CfgAtomImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/CfgAttrMetaConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/CfgAttrMetaImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/CfgCompositeConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/CfgCompositeImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/CfgMetaConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/CfgMetaImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/CfgPredicateImpl.qll linguist-generated /lib/codeql/rust/elements/internal/ClosureExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/CommentConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/ConstArgConstructor.qll linguist-generated @@ -273,6 +292,8 @@ /lib/codeql/rust/elements/internal/ForTypeReprImpl.qll linguist-generated /lib/codeql/rust/elements/internal/FormatArgsArgConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/FormatArgsArgImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/FormatArgsArgNameConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/FormatArgsArgNameImpl.qll linguist-generated /lib/codeql/rust/elements/internal/FormatArgsExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/FunctionConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/GenericArgImpl.qll linguist-generated @@ -287,6 +308,8 @@ /lib/codeql/rust/elements/internal/InferTypeReprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/ItemListConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/ItemListImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/KeyValueMetaConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/KeyValueMetaImpl.qll linguist-generated /lib/codeql/rust/elements/internal/LabelConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/LetElseConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/LetExprConstructor.qll linguist-generated @@ -319,7 +342,6 @@ /lib/codeql/rust/elements/internal/MatchExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MatchGuardConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MatchGuardImpl.qll linguist-generated -/lib/codeql/rust/elements/internal/MetaConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MetaImpl.qll linguist-generated /lib/codeql/rust/elements/internal/MethodCallExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MissingConstructor.qll linguist-generated @@ -346,6 +368,8 @@ /lib/codeql/rust/elements/internal/PathConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PathExprBaseImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PathExprConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/PathMetaConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/PathMetaImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PathPatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PathSegmentConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PathTypeReprConstructor.qll linguist-generated @@ -394,9 +418,11 @@ /lib/codeql/rust/elements/internal/TokenImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TokenTreeConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/TokenTreeImpl.qll linguist-generated -/lib/codeql/rust/elements/internal/TraitAliasConstructor.qll linguist-generated -/lib/codeql/rust/elements/internal/TraitAliasImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/TokenTreeMetaConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/TokenTreeMetaImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TraitConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/TryBlockModifierConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/TryBlockModifierImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TryExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/TryExprImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TupleExprConstructor.qll linguist-generated @@ -421,6 +447,8 @@ /lib/codeql/rust/elements/internal/UnimplementedConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/UnimplementedImpl.qll linguist-generated /lib/codeql/rust/elements/internal/UnionConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/UnsafeMetaConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/UnsafeMetaImpl.qll linguist-generated /lib/codeql/rust/elements/internal/UseBoundGenericArgImpl.qll linguist-generated /lib/codeql/rust/elements/internal/UseBoundGenericArgsConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/UseBoundGenericArgsImpl.qll linguist-generated @@ -478,6 +506,11 @@ /lib/codeql/rust/elements/internal/generated/CallExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Callable.qll linguist-generated /lib/codeql/rust/elements/internal/generated/CastExpr.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/CfgAtom.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/CfgAttrMeta.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/CfgComposite.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/CfgMeta.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/CfgPredicate.qll linguist-generated /lib/codeql/rust/elements/internal/generated/ClosureExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Comment.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Const.qll linguist-generated @@ -504,6 +537,7 @@ /lib/codeql/rust/elements/internal/generated/ForTypeRepr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Format.qll linguist-generated /lib/codeql/rust/elements/internal/generated/FormatArgsArg.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/FormatArgsArgName.qll linguist-generated /lib/codeql/rust/elements/internal/generated/FormatArgsExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/FormatArgument.qll linguist-generated /lib/codeql/rust/elements/internal/generated/FormatTemplateVariableAccess.qll linguist-generated @@ -520,6 +554,7 @@ /lib/codeql/rust/elements/internal/generated/InferTypeRepr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Item.qll linguist-generated /lib/codeql/rust/elements/internal/generated/ItemList.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/KeyValueMeta.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Label.qll linguist-generated /lib/codeql/rust/elements/internal/generated/LabelableExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/LetElse.qll linguist-generated @@ -567,6 +602,7 @@ /lib/codeql/rust/elements/internal/generated/PathAstNode.qll linguist-generated /lib/codeql/rust/elements/internal/generated/PathExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/PathExprBase.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/PathMeta.qll linguist-generated /lib/codeql/rust/elements/internal/generated/PathPat.qll linguist-generated /lib/codeql/rust/elements/internal/generated/PathSegment.qll linguist-generated /lib/codeql/rust/elements/internal/generated/PathTypeRepr.qll linguist-generated @@ -604,8 +640,9 @@ /lib/codeql/rust/elements/internal/generated/SynthConstructors.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Token.qll linguist-generated /lib/codeql/rust/elements/internal/generated/TokenTree.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/TokenTreeMeta.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Trait.qll linguist-generated -/lib/codeql/rust/elements/internal/generated/TraitAlias.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/TryBlockModifier.qll linguist-generated /lib/codeql/rust/elements/internal/generated/TryExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/TupleExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/TupleField.qll linguist-generated @@ -624,6 +661,7 @@ /lib/codeql/rust/elements/internal/generated/Unextracted.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Unimplemented.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Union.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/UnsafeMeta.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Use.qll linguist-generated /lib/codeql/rust/elements/internal/generated/UseBoundGenericArg.qll linguist-generated /lib/codeql/rust/elements/internal/generated/UseBoundGenericArgs.qll linguist-generated @@ -666,6 +704,10 @@ /test/extractor-tests/generated/BreakExpr/BreakExpr.ql linguist-generated /test/extractor-tests/generated/CallExpr/CallExpr.ql linguist-generated /test/extractor-tests/generated/CastExpr/CastExpr.ql linguist-generated +/test/extractor-tests/generated/CfgAtom/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CfgAttrMeta/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CfgComposite/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/CfgMeta/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/ClosureExpr/ClosureExpr.ql linguist-generated /test/extractor-tests/generated/Comment/Comment.ql linguist-generated /test/extractor-tests/generated/Const/Const.ql linguist-generated @@ -685,6 +727,7 @@ /test/extractor-tests/generated/ForBinder/ForBinder.ql linguist-generated /test/extractor-tests/generated/ForExpr/ForExpr.ql linguist-generated /test/extractor-tests/generated/ForTypeRepr/ForTypeRepr.ql linguist-generated +/test/extractor-tests/generated/FormatArgsArgName/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/FormatArgsExpr/Format.ql linguist-generated /test/extractor-tests/generated/FormatArgsExpr/FormatArgsArg.ql linguist-generated /test/extractor-tests/generated/FormatArgsExpr/FormatArgsExpr.ql linguist-generated @@ -700,6 +743,7 @@ /test/extractor-tests/generated/IndexExpr/IndexExpr.ql linguist-generated /test/extractor-tests/generated/InferTypeRepr/InferTypeRepr.ql linguist-generated /test/extractor-tests/generated/ItemList/ItemList.ql linguist-generated +/test/extractor-tests/generated/KeyValueMeta/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/Label/Label.ql linguist-generated /test/extractor-tests/generated/LetElse/LetElse.ql linguist-generated /test/extractor-tests/generated/LetExpr/LetExpr.ql linguist-generated @@ -721,7 +765,6 @@ /test/extractor-tests/generated/MatchArmList/MatchArmList.ql linguist-generated /test/extractor-tests/generated/MatchExpr/MatchExpr.ql linguist-generated /test/extractor-tests/generated/MatchGuard/MatchGuard.ql linguist-generated -/test/extractor-tests/generated/Meta/Meta.ql linguist-generated /test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.ql linguist-generated /test/extractor-tests/generated/Module/Module.ql linguist-generated /test/extractor-tests/generated/Name/Name.ql linguist-generated @@ -740,6 +783,7 @@ /test/extractor-tests/generated/Path/PathPat.ql linguist-generated /test/extractor-tests/generated/Path/PathSegment.ql linguist-generated /test/extractor-tests/generated/Path/PathTypeRepr.ql linguist-generated +/test/extractor-tests/generated/PathMeta/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/PrefixExpr/PrefixExpr.ql linguist-generated /test/extractor-tests/generated/PtrTypeRepr/PtrTypeRepr.ql linguist-generated /test/extractor-tests/generated/RangeExpr/RangeExpr.ql linguist-generated @@ -768,9 +812,10 @@ /test/extractor-tests/generated/StructPatField/StructPatField.ql linguist-generated /test/extractor-tests/generated/StructPatFieldList/StructPatFieldList.ql linguist-generated /test/extractor-tests/generated/TokenTree/TokenTree.ql linguist-generated +/test/extractor-tests/generated/TokenTreeMeta/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/Trait/AssocItemList.ql linguist-generated /test/extractor-tests/generated/Trait/Trait.ql linguist-generated -/test/extractor-tests/generated/TraitAlias/TraitAlias.ql linguist-generated +/test/extractor-tests/generated/TryBlockModifier/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/TryExpr/TryExpr.ql linguist-generated /test/extractor-tests/generated/TupleExpr/TupleExpr.ql linguist-generated /test/extractor-tests/generated/TupleField/TupleField.ql linguist-generated @@ -785,6 +830,7 @@ /test/extractor-tests/generated/TypeParam/TypeParam.ql linguist-generated /test/extractor-tests/generated/UnderscoreExpr/UnderscoreExpr.ql linguist-generated /test/extractor-tests/generated/Union/Union.ql linguist-generated +/test/extractor-tests/generated/UnsafeMeta/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/Use/Use.ql linguist-generated /test/extractor-tests/generated/UseBoundGenericArgs/UseBoundGenericArgs.ql linguist-generated /test/extractor-tests/generated/UseTree/UseTree.ql linguist-generated diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll index 6aeaa3dd4f4b..c8b4117a9abb 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll @@ -507,11 +507,6 @@ module MakeCfgNodes Input> { */ predicate isMove() { node.isMove() } - /** - * Holds if this block expression is try. - */ - predicate isTry() { node.isTry() } - /** * Holds if this block expression is unsafe. */ @@ -526,6 +521,16 @@ module MakeCfgNodes Input> { * Holds if `getStmtList()` exists. */ predicate hasStmtList() { exists(this.getStmtList()) } + + /** + * Gets the try block modifier of this block expression, if it exists. + */ + TryBlockModifier getTryBlockModifier() { result = node.getTryBlockModifier() } + + /** + * Holds if `getTryBlockModifier()` exists. + */ + predicate hasTryBlockModifier() { exists(this.getTryBlockModifier()) } } final private class ParentBoxPat extends ParentAstNode, BoxPat { @@ -1018,8 +1023,6 @@ module MakeCfgNodes Input> { none() or child = this.getExpr() - or - child = this.getName() } } @@ -1038,28 +1041,26 @@ module MakeCfgNodes Input> { FormatArgsArg getFormatArgsArg() { result = node } /** - * Gets the expression of this format arguments argument, if it exists. + * Gets the argument name of this format arguments argument, if it exists. */ - ExprCfgNode getExpr() { - any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) - } + FormatArgsArgName getArgName() { result = node.getArgName() } /** - * Holds if `getExpr()` exists. + * Holds if `getArgName()` exists. */ - predicate hasExpr() { exists(this.getExpr()) } + predicate hasArgName() { exists(this.getArgName()) } /** - * Gets the name of this format arguments argument, if it exists. + * Gets the expression of this format arguments argument, if it exists. */ - NameCfgNode getName() { - any(ChildMapping mapping).hasCfgChild(node, node.getName(), this, result) + ExprCfgNode getExpr() { + any(ChildMapping mapping).hasCfgChild(node, node.getExpr(), this, result) } /** - * Holds if `getName()` exists. + * Holds if `getExpr()` exists. */ - predicate hasName() { exists(this.getName()) } + predicate hasExpr() { exists(this.getExpr()) } } final private class ParentFormatArgsExpr extends ParentAstNode, FormatArgsExpr { @@ -3558,18 +3559,6 @@ module MakeCfgNodes Input> { cfgNode ) or - pred = "getName" and - parent = - any(Nodes::FormatArgsArgCfgNode cfgNode, FormatArgsArg astNode | - astNode = cfgNode.getFormatArgsArg() and - child = getDesugared(astNode.getName()) and - i = -1 and - hasCfgNode(child) and - not child = cfgNode.getName().getAstNode() - | - cfgNode - ) - or pred = "getArg" and parent = any(Nodes::FormatArgsExprCfgNode cfgNode, FormatArgsExpr astNode | diff --git a/rust/ql/lib/codeql/rust/elements.qll b/rust/ql/lib/codeql/rust/elements.qll index b7ca8fe1ca5c..fdfe2c0cacf0 100644 --- a/rust/ql/lib/codeql/rust/elements.qll +++ b/rust/ql/lib/codeql/rust/elements.qll @@ -39,6 +39,11 @@ import codeql.rust.elements.BreakExpr import codeql.rust.elements.CallExpr import codeql.rust.elements.Callable import codeql.rust.elements.CastExpr +import codeql.rust.elements.CfgAtom +import codeql.rust.elements.CfgAttrMeta +import codeql.rust.elements.CfgComposite +import codeql.rust.elements.CfgMeta +import codeql.rust.elements.CfgPredicate import codeql.rust.elements.ClosureExpr import codeql.rust.elements.Comment import codeql.rust.elements.Const @@ -64,6 +69,7 @@ import codeql.rust.elements.ForExpr import codeql.rust.elements.ForTypeRepr import codeql.rust.elements.Format import codeql.rust.elements.FormatArgsArg +import codeql.rust.elements.FormatArgsArgName import codeql.rust.elements.FormatArgsExpr import codeql.rust.elements.FormatArgument import codeql.rust.elements.FormatTemplateVariableAccess @@ -80,6 +86,7 @@ import codeql.rust.elements.IndexExpr import codeql.rust.elements.InferTypeRepr import codeql.rust.elements.Item import codeql.rust.elements.ItemList +import codeql.rust.elements.KeyValueMeta import codeql.rust.elements.Label import codeql.rust.elements.LabelableExpr import codeql.rust.elements.LetElse @@ -125,6 +132,7 @@ import codeql.rust.elements.Path import codeql.rust.elements.PathAstNode import codeql.rust.elements.PathExpr import codeql.rust.elements.PathExprBase +import codeql.rust.elements.PathMeta import codeql.rust.elements.PathPat import codeql.rust.elements.PathSegment import codeql.rust.elements.PathTypeRepr @@ -158,8 +166,9 @@ import codeql.rust.elements.StructPatField import codeql.rust.elements.StructPatFieldList import codeql.rust.elements.Token import codeql.rust.elements.TokenTree +import codeql.rust.elements.TokenTreeMeta import codeql.rust.elements.Trait -import codeql.rust.elements.TraitAlias +import codeql.rust.elements.TryBlockModifier import codeql.rust.elements.TryExpr import codeql.rust.elements.TupleExpr import codeql.rust.elements.TupleField @@ -178,6 +187,7 @@ import codeql.rust.elements.UnderscoreExpr import codeql.rust.elements.Unextracted import codeql.rust.elements.Unimplemented import codeql.rust.elements.Union +import codeql.rust.elements.UnsafeMeta import codeql.rust.elements.Use import codeql.rust.elements.UseBoundGenericArg import codeql.rust.elements.UseBoundGenericArgs diff --git a/rust/ql/lib/codeql/rust/elements/BlockExpr.qll b/rust/ql/lib/codeql/rust/elements/BlockExpr.qll index 9e87d381525d..8a85ca21310f 100644 --- a/rust/ql/lib/codeql/rust/elements/BlockExpr.qll +++ b/rust/ql/lib/codeql/rust/elements/BlockExpr.qll @@ -7,6 +7,7 @@ private import internal.BlockExprImpl import codeql.rust.elements.Attr import codeql.rust.elements.LabelableExpr import codeql.rust.elements.StmtList +import codeql.rust.elements.TryBlockModifier /** * A block expression. For example: diff --git a/rust/ql/lib/codeql/rust/elements/CfgAtom.qll b/rust/ql/lib/codeql/rust/elements/CfgAtom.qll new file mode 100644 index 000000000000..6aecca369fe9 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/CfgAtom.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `CfgAtom`. + */ + +private import internal.CfgAtomImpl +import codeql.rust.elements.CfgPredicate + +final class CfgAtom = Impl::CfgAtom; diff --git a/rust/ql/lib/codeql/rust/elements/CfgAttrMeta.qll b/rust/ql/lib/codeql/rust/elements/CfgAttrMeta.qll new file mode 100644 index 000000000000..b8c3364f4874 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/CfgAttrMeta.qll @@ -0,0 +1,10 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `CfgAttrMeta`. + */ + +private import internal.CfgAttrMetaImpl +import codeql.rust.elements.CfgPredicate +import codeql.rust.elements.Meta + +final class CfgAttrMeta = Impl::CfgAttrMeta; diff --git a/rust/ql/lib/codeql/rust/elements/CfgComposite.qll b/rust/ql/lib/codeql/rust/elements/CfgComposite.qll new file mode 100644 index 000000000000..61aac82a2709 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/CfgComposite.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `CfgComposite`. + */ + +private import internal.CfgCompositeImpl +import codeql.rust.elements.CfgPredicate + +final class CfgComposite = Impl::CfgComposite; diff --git a/rust/ql/lib/codeql/rust/elements/CfgMeta.qll b/rust/ql/lib/codeql/rust/elements/CfgMeta.qll new file mode 100644 index 000000000000..f32ade7e63c7 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/CfgMeta.qll @@ -0,0 +1,10 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `CfgMeta`. + */ + +private import internal.CfgMetaImpl +import codeql.rust.elements.CfgPredicate +import codeql.rust.elements.Meta + +final class CfgMeta = Impl::CfgMeta; diff --git a/rust/ql/lib/codeql/rust/elements/CfgPredicate.qll b/rust/ql/lib/codeql/rust/elements/CfgPredicate.qll new file mode 100644 index 000000000000..399705fb4a7d --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/CfgPredicate.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `CfgPredicate`. + */ + +private import internal.CfgPredicateImpl +import codeql.rust.elements.AstNode + +final class CfgPredicate = Impl::CfgPredicate; diff --git a/rust/ql/lib/codeql/rust/elements/FormatArgsArg.qll b/rust/ql/lib/codeql/rust/elements/FormatArgsArg.qll index 4946f9789304..2cb12d291fb1 100644 --- a/rust/ql/lib/codeql/rust/elements/FormatArgsArg.qll +++ b/rust/ql/lib/codeql/rust/elements/FormatArgsArg.qll @@ -6,7 +6,7 @@ private import internal.FormatArgsArgImpl import codeql.rust.elements.AstNode import codeql.rust.elements.Expr -import codeql.rust.elements.Name +import codeql.rust.elements.FormatArgsArgName /** * A FormatArgsArg. For example the `"world"` in: diff --git a/rust/ql/lib/codeql/rust/elements/FormatArgsArgName.qll b/rust/ql/lib/codeql/rust/elements/FormatArgsArgName.qll new file mode 100644 index 000000000000..93c5b2185701 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/FormatArgsArgName.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `FormatArgsArgName`. + */ + +private import internal.FormatArgsArgNameImpl +import codeql.rust.elements.AstNode + +final class FormatArgsArgName = Impl::FormatArgsArgName; diff --git a/rust/ql/lib/codeql/rust/elements/KeyValueMeta.qll b/rust/ql/lib/codeql/rust/elements/KeyValueMeta.qll new file mode 100644 index 000000000000..87b2bec9f045 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/KeyValueMeta.qll @@ -0,0 +1,11 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `KeyValueMeta`. + */ + +private import internal.KeyValueMetaImpl +import codeql.rust.elements.Expr +import codeql.rust.elements.Meta +import codeql.rust.elements.Path + +final class KeyValueMeta = Impl::KeyValueMeta; diff --git a/rust/ql/lib/codeql/rust/elements/Meta.qll b/rust/ql/lib/codeql/rust/elements/Meta.qll index 46fcafb43c2f..8086286cd7e4 100644 --- a/rust/ql/lib/codeql/rust/elements/Meta.qll +++ b/rust/ql/lib/codeql/rust/elements/Meta.qll @@ -5,9 +5,6 @@ private import internal.MetaImpl import codeql.rust.elements.AstNode -import codeql.rust.elements.Expr -import codeql.rust.elements.Path -import codeql.rust.elements.TokenTree /** * A meta item in an attribute. diff --git a/rust/ql/lib/codeql/rust/elements/PathMeta.qll b/rust/ql/lib/codeql/rust/elements/PathMeta.qll new file mode 100644 index 000000000000..53fd0ed669e6 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/PathMeta.qll @@ -0,0 +1,10 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `PathMeta`. + */ + +private import internal.PathMetaImpl +import codeql.rust.elements.Meta +import codeql.rust.elements.Path + +final class PathMeta = Impl::PathMeta; diff --git a/rust/ql/lib/codeql/rust/elements/StructField.qll b/rust/ql/lib/codeql/rust/elements/StructField.qll index 6d363a17b12d..d02d9418049c 100644 --- a/rust/ql/lib/codeql/rust/elements/StructField.qll +++ b/rust/ql/lib/codeql/rust/elements/StructField.qll @@ -6,7 +6,7 @@ private import internal.StructFieldImpl import codeql.rust.elements.AstNode import codeql.rust.elements.Attr -import codeql.rust.elements.Expr +import codeql.rust.elements.ConstArg import codeql.rust.elements.Name import codeql.rust.elements.TypeRepr import codeql.rust.elements.Visibility diff --git a/rust/ql/lib/codeql/rust/elements/TokenTreeMeta.qll b/rust/ql/lib/codeql/rust/elements/TokenTreeMeta.qll new file mode 100644 index 000000000000..1299a44550b0 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/TokenTreeMeta.qll @@ -0,0 +1,11 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `TokenTreeMeta`. + */ + +private import internal.TokenTreeMetaImpl +import codeql.rust.elements.Meta +import codeql.rust.elements.Path +import codeql.rust.elements.TokenTree + +final class TokenTreeMeta = Impl::TokenTreeMeta; diff --git a/rust/ql/lib/codeql/rust/elements/TraitAlias.qll b/rust/ql/lib/codeql/rust/elements/TraitAlias.qll deleted file mode 100644 index 956fa76ab212..000000000000 --- a/rust/ql/lib/codeql/rust/elements/TraitAlias.qll +++ /dev/null @@ -1,23 +0,0 @@ -// generated by codegen, do not edit -/** - * This module provides the public class `TraitAlias`. - */ - -private import internal.TraitAliasImpl -import codeql.rust.elements.Attr -import codeql.rust.elements.GenericParamList -import codeql.rust.elements.Item -import codeql.rust.elements.Name -import codeql.rust.elements.TypeBoundList -import codeql.rust.elements.Visibility -import codeql.rust.elements.WhereClause - -/** - * A trait alias. - * - * For example: - * ```rust - * trait Foo = Bar + Baz; - * ``` - */ -final class TraitAlias = Impl::TraitAlias; diff --git a/rust/ql/lib/codeql/rust/elements/TryBlockModifier.qll b/rust/ql/lib/codeql/rust/elements/TryBlockModifier.qll new file mode 100644 index 000000000000..b7265e12f26a --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/TryBlockModifier.qll @@ -0,0 +1,10 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `TryBlockModifier`. + */ + +private import internal.TryBlockModifierImpl +import codeql.rust.elements.AstNode +import codeql.rust.elements.TypeRepr + +final class TryBlockModifier = Impl::TryBlockModifier; diff --git a/rust/ql/lib/codeql/rust/elements/UnsafeMeta.qll b/rust/ql/lib/codeql/rust/elements/UnsafeMeta.qll new file mode 100644 index 000000000000..ec1bec4e7743 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/UnsafeMeta.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `UnsafeMeta`. + */ + +private import internal.UnsafeMetaImpl +import codeql.rust.elements.Meta + +final class UnsafeMeta = Impl::UnsafeMeta; diff --git a/rust/ql/lib/codeql/rust/elements/Variant.qll b/rust/ql/lib/codeql/rust/elements/Variant.qll index dfe5199f1592..983488da4032 100644 --- a/rust/ql/lib/codeql/rust/elements/Variant.qll +++ b/rust/ql/lib/codeql/rust/elements/Variant.qll @@ -6,7 +6,7 @@ private import internal.VariantImpl import codeql.rust.elements.Addressable import codeql.rust.elements.Attr -import codeql.rust.elements.Expr +import codeql.rust.elements.ConstArg import codeql.rust.elements.FieldList import codeql.rust.elements.Name import codeql.rust.elements.Visibility diff --git a/rust/ql/lib/codeql/rust/elements/internal/MetaConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/CfgAtomConstructor.qll similarity index 64% rename from rust/ql/lib/codeql/rust/elements/internal/MetaConstructor.qll rename to rust/ql/lib/codeql/rust/elements/internal/CfgAtomConstructor.qll index 0cd1ca6bbe9f..7e1b8e962853 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/MetaConstructor.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/CfgAtomConstructor.qll @@ -1,14 +1,14 @@ // generated by codegen, remove this comment if you wish to edit this file /** * This module defines the hook used internally to tweak the characteristic predicate of - * `Meta` synthesized instances. + * `CfgAtom` synthesized instances. * INTERNAL: Do not use. */ private import codeql.rust.elements.internal.generated.Raw /** - * The characteristic predicate of `Meta` synthesized instances. + * The characteristic predicate of `CfgAtom` synthesized instances. * INTERNAL: Do not use. */ -predicate constructMeta(Raw::Meta id) { any() } +predicate constructCfgAtom(Raw::CfgAtom id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/TraitAliasImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/CfgAtomImpl.qll similarity index 51% rename from rust/ql/lib/codeql/rust/elements/internal/TraitAliasImpl.qll rename to rust/ql/lib/codeql/rust/elements/internal/CfgAtomImpl.qll index c11516896b47..6f1515cb7d1b 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/TraitAliasImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/CfgAtomImpl.qll @@ -1,24 +1,16 @@ // generated by codegen, remove this comment if you wish to edit this file /** - * This module provides a hand-modifiable wrapper around the generated class `TraitAlias`. + * This module provides a hand-modifiable wrapper around the generated class `CfgAtom`. * * INTERNAL: Do not use. */ -private import codeql.rust.elements.internal.generated.TraitAlias +private import codeql.rust.elements.internal.generated.CfgAtom /** - * INTERNAL: This module contains the customizable definition of `TraitAlias` and should not + * INTERNAL: This module contains the customizable definition of `CfgAtom` and should not * be referenced directly. */ module Impl { - /** - * A trait alias. - * - * For example: - * ```rust - * trait Foo = Bar + Baz; - * ``` - */ - class TraitAlias extends Generated::TraitAlias { } + class CfgAtom extends Generated::CfgAtom { } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/CfgAttrMetaConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/CfgAttrMetaConstructor.qll new file mode 100644 index 000000000000..585a8c07e3c9 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/CfgAttrMetaConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CfgAttrMeta` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CfgAttrMeta` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCfgAttrMeta(Raw::CfgAttrMeta id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/CfgAttrMetaImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/CfgAttrMetaImpl.qll new file mode 100644 index 000000000000..5e189d4126de --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/CfgAttrMetaImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CfgAttrMeta`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.CfgAttrMeta + +/** + * INTERNAL: This module contains the customizable definition of `CfgAttrMeta` and should not + * be referenced directly. + */ +module Impl { + class CfgAttrMeta extends Generated::CfgAttrMeta { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/CfgCompositeConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/CfgCompositeConstructor.qll new file mode 100644 index 000000000000..ad4c42ec5729 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/CfgCompositeConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CfgComposite` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CfgComposite` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCfgComposite(Raw::CfgComposite id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/CfgCompositeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/CfgCompositeImpl.qll new file mode 100644 index 000000000000..58c9a10af763 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/CfgCompositeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CfgComposite`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.CfgComposite + +/** + * INTERNAL: This module contains the customizable definition of `CfgComposite` and should not + * be referenced directly. + */ +module Impl { + class CfgComposite extends Generated::CfgComposite { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/CfgMetaConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/CfgMetaConstructor.qll new file mode 100644 index 000000000000..3f374993ccd7 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/CfgMetaConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `CfgMeta` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `CfgMeta` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructCfgMeta(Raw::CfgMeta id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/CfgMetaImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/CfgMetaImpl.qll new file mode 100644 index 000000000000..f3c75352121e --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/CfgMetaImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CfgMeta`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.CfgMeta + +/** + * INTERNAL: This module contains the customizable definition of `CfgMeta` and should not + * be referenced directly. + */ +module Impl { + class CfgMeta extends Generated::CfgMeta { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/CfgPredicateImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/CfgPredicateImpl.qll new file mode 100644 index 000000000000..eda245d0777f --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/CfgPredicateImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `CfgPredicate`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.CfgPredicate + +/** + * INTERNAL: This module contains the customizable definition of `CfgPredicate` and should not + * be referenced directly. + */ +module Impl { + class CfgPredicate extends Generated::CfgPredicate { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/FormatArgsArgNameConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/FormatArgsArgNameConstructor.qll new file mode 100644 index 000000000000..fbed7006a8aa --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/FormatArgsArgNameConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FormatArgsArgName` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FormatArgsArgName` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFormatArgsArgName(Raw::FormatArgsArgName id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/FormatArgsArgNameImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/FormatArgsArgNameImpl.qll new file mode 100644 index 000000000000..31ead66d0ac2 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/FormatArgsArgNameImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FormatArgsArgName`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.FormatArgsArgName + +/** + * INTERNAL: This module contains the customizable definition of `FormatArgsArgName` and should not + * be referenced directly. + */ +module Impl { + class FormatArgsArgName extends Generated::FormatArgsArgName { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/KeyValueMetaConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/KeyValueMetaConstructor.qll new file mode 100644 index 000000000000..b9a506a485cc --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/KeyValueMetaConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `KeyValueMeta` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `KeyValueMeta` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructKeyValueMeta(Raw::KeyValueMeta id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/KeyValueMetaImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/KeyValueMetaImpl.qll new file mode 100644 index 000000000000..ac3befd85b60 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/KeyValueMetaImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `KeyValueMeta`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.KeyValueMeta + +/** + * INTERNAL: This module contains the customizable definition of `KeyValueMeta` and should not + * be referenced directly. + */ +module Impl { + class KeyValueMeta extends Generated::KeyValueMeta { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/PathMetaConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/PathMetaConstructor.qll new file mode 100644 index 000000000000..5d8fd0da4f62 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/PathMetaConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `PathMeta` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `PathMeta` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructPathMeta(Raw::PathMeta id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/PathMetaImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/PathMetaImpl.qll new file mode 100644 index 000000000000..fd58653419e7 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/PathMetaImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `PathMeta`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.PathMeta + +/** + * INTERNAL: This module contains the customizable definition of `PathMeta` and should not + * be referenced directly. + */ +module Impl { + class PathMeta extends Generated::PathMeta { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/TokenTreeMetaConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/TokenTreeMetaConstructor.qll new file mode 100644 index 000000000000..8cb49c13e668 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/TokenTreeMetaConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `TokenTreeMeta` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `TokenTreeMeta` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructTokenTreeMeta(Raw::TokenTreeMeta id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/TokenTreeMetaImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/TokenTreeMetaImpl.qll new file mode 100644 index 000000000000..b61b222879d8 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/TokenTreeMetaImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TokenTreeMeta`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.TokenTreeMeta + +/** + * INTERNAL: This module contains the customizable definition of `TokenTreeMeta` and should not + * be referenced directly. + */ +module Impl { + class TokenTreeMeta extends Generated::TokenTreeMeta { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/TryBlockModifierConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/TryBlockModifierConstructor.qll new file mode 100644 index 000000000000..1da4a8262b07 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/TryBlockModifierConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `TryBlockModifier` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `TryBlockModifier` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructTryBlockModifier(Raw::TryBlockModifier id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/TryBlockModifierImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/TryBlockModifierImpl.qll new file mode 100644 index 000000000000..8be62790eeeb --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/TryBlockModifierImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TryBlockModifier`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.TryBlockModifier + +/** + * INTERNAL: This module contains the customizable definition of `TryBlockModifier` and should not + * be referenced directly. + */ +module Impl { + class TryBlockModifier extends Generated::TryBlockModifier { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/TraitAliasConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/UnsafeMetaConstructor.qll similarity index 64% rename from rust/ql/lib/codeql/rust/elements/internal/TraitAliasConstructor.qll rename to rust/ql/lib/codeql/rust/elements/internal/UnsafeMetaConstructor.qll index ee417d726513..3ffc0efcac72 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/TraitAliasConstructor.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/UnsafeMetaConstructor.qll @@ -1,14 +1,14 @@ // generated by codegen, remove this comment if you wish to edit this file /** * This module defines the hook used internally to tweak the characteristic predicate of - * `TraitAlias` synthesized instances. + * `UnsafeMeta` synthesized instances. * INTERNAL: Do not use. */ private import codeql.rust.elements.internal.generated.Raw /** - * The characteristic predicate of `TraitAlias` synthesized instances. + * The characteristic predicate of `UnsafeMeta` synthesized instances. * INTERNAL: Do not use. */ -predicate constructTraitAlias(Raw::TraitAlias id) { any() } +predicate constructUnsafeMeta(Raw::UnsafeMeta id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/UnsafeMetaImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/UnsafeMetaImpl.qll new file mode 100644 index 000000000000..7da4ed5ace29 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/UnsafeMetaImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `UnsafeMeta`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.UnsafeMeta + +/** + * INTERNAL: This module contains the customizable definition of `UnsafeMeta` and should not + * be referenced directly. + */ +module Impl { + class UnsafeMeta extends Generated::UnsafeMeta { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/BlockExpr.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/BlockExpr.qll index 6a01a0c45880..e448e321e646 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/BlockExpr.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/BlockExpr.qll @@ -9,6 +9,7 @@ private import codeql.rust.elements.internal.generated.Raw import codeql.rust.elements.Attr import codeql.rust.elements.internal.LabelableExprImpl::Impl as LabelableExprImpl import codeql.rust.elements.StmtList +import codeql.rust.elements.TryBlockModifier /** * INTERNAL: This module contains the fully generated definition of `BlockExpr` and should not @@ -72,11 +73,6 @@ module Generated { */ predicate isMove() { Synth::convertBlockExprToRaw(this).(Raw::BlockExpr).isMove() } - /** - * Holds if this block expression is try. - */ - predicate isTry() { Synth::convertBlockExprToRaw(this).(Raw::BlockExpr).isTry() } - /** * Holds if this block expression is unsafe. */ @@ -96,5 +92,20 @@ module Generated { * Holds if `getStmtList()` exists. */ final predicate hasStmtList() { exists(this.getStmtList()) } + + /** + * Gets the try block modifier of this block expression, if it exists. + */ + TryBlockModifier getTryBlockModifier() { + result = + Synth::convertTryBlockModifierFromRaw(Synth::convertBlockExprToRaw(this) + .(Raw::BlockExpr) + .getTryBlockModifier()) + } + + /** + * Holds if `getTryBlockModifier()` exists. + */ + final predicate hasTryBlockModifier() { exists(this.getTryBlockModifier()) } } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/CfgAtom.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/CfgAtom.qll new file mode 100644 index 000000000000..8243d5ba14a7 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/CfgAtom.qll @@ -0,0 +1,23 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `CfgAtom`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.CfgPredicateImpl::Impl as CfgPredicateImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CfgAtom` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CfgAtom` class directly. + * Use the subclass `CfgAtom`, where the following predicates are available. + */ + class CfgAtom extends Synth::TCfgAtom, CfgPredicateImpl::CfgPredicate { + override string getAPrimaryQlClass() { result = "CfgAtom" } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/CfgAttrMeta.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/CfgAttrMeta.qll new file mode 100644 index 000000000000..0b972b413c53 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/CfgAttrMeta.qll @@ -0,0 +1,60 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `CfgAttrMeta`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.CfgPredicate +import codeql.rust.elements.Meta +import codeql.rust.elements.internal.MetaImpl::Impl as MetaImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CfgAttrMeta` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CfgAttrMeta` class directly. + * Use the subclass `CfgAttrMeta`, where the following predicates are available. + */ + class CfgAttrMeta extends Synth::TCfgAttrMeta, MetaImpl::Meta { + override string getAPrimaryQlClass() { result = "CfgAttrMeta" } + + /** + * Gets the cfg predicate of this cfg attr meta, if it exists. + */ + CfgPredicate getCfgPredicate() { + result = + Synth::convertCfgPredicateFromRaw(Synth::convertCfgAttrMetaToRaw(this) + .(Raw::CfgAttrMeta) + .getCfgPredicate()) + } + + /** + * Holds if `getCfgPredicate()` exists. + */ + final predicate hasCfgPredicate() { exists(this.getCfgPredicate()) } + + /** + * Gets the `index`th meta of this cfg attr meta (0-based). + */ + Meta getMeta(int index) { + result = + Synth::convertMetaFromRaw(Synth::convertCfgAttrMetaToRaw(this) + .(Raw::CfgAttrMeta) + .getMeta(index)) + } + + /** + * Gets any of the metas of this cfg attr meta. + */ + final Meta getAMeta() { result = this.getMeta(_) } + + /** + * Gets the number of metas of this cfg attr meta. + */ + final int getNumberOfMetas() { result = count(int i | exists(this.getMeta(i))) } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/CfgComposite.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/CfgComposite.qll new file mode 100644 index 000000000000..65a5a672baf9 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/CfgComposite.qll @@ -0,0 +1,44 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `CfgComposite`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.CfgPredicate +import codeql.rust.elements.internal.CfgPredicateImpl::Impl as CfgPredicateImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CfgComposite` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CfgComposite` class directly. + * Use the subclass `CfgComposite`, where the following predicates are available. + */ + class CfgComposite extends Synth::TCfgComposite, CfgPredicateImpl::CfgPredicate { + override string getAPrimaryQlClass() { result = "CfgComposite" } + + /** + * Gets the `index`th cfg predicate of this cfg composite (0-based). + */ + CfgPredicate getCfgPredicate(int index) { + result = + Synth::convertCfgPredicateFromRaw(Synth::convertCfgCompositeToRaw(this) + .(Raw::CfgComposite) + .getCfgPredicate(index)) + } + + /** + * Gets any of the cfg predicates of this cfg composite. + */ + final CfgPredicate getACfgPredicate() { result = this.getCfgPredicate(_) } + + /** + * Gets the number of cfg predicates of this cfg composite. + */ + final int getNumberOfCfgPredicates() { result = count(int i | exists(this.getCfgPredicate(i))) } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/CfgMeta.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/CfgMeta.qll new file mode 100644 index 000000000000..d65162b85dda --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/CfgMeta.qll @@ -0,0 +1,39 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `CfgMeta`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.CfgPredicate +import codeql.rust.elements.internal.MetaImpl::Impl as MetaImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CfgMeta` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CfgMeta` class directly. + * Use the subclass `CfgMeta`, where the following predicates are available. + */ + class CfgMeta extends Synth::TCfgMeta, MetaImpl::Meta { + override string getAPrimaryQlClass() { result = "CfgMeta" } + + /** + * Gets the cfg predicate of this cfg meta, if it exists. + */ + CfgPredicate getCfgPredicate() { + result = + Synth::convertCfgPredicateFromRaw(Synth::convertCfgMetaToRaw(this) + .(Raw::CfgMeta) + .getCfgPredicate()) + } + + /** + * Holds if `getCfgPredicate()` exists. + */ + final predicate hasCfgPredicate() { exists(this.getCfgPredicate()) } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/CfgPredicate.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/CfgPredicate.qll new file mode 100644 index 000000000000..f5187ecf1e05 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/CfgPredicate.qll @@ -0,0 +1,21 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `CfgPredicate`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.AstNodeImpl::Impl as AstNodeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `CfgPredicate` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::CfgPredicate` class directly. + * Use the subclass `CfgPredicate`, where the following predicates are available. + */ + class CfgPredicate extends Synth::TCfgPredicate, AstNodeImpl::AstNode { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/FormatArgsArg.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/FormatArgsArg.qll index 80ca340284fa..2c5ab6fe693c 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/FormatArgsArg.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/FormatArgsArg.qll @@ -8,7 +8,7 @@ private import codeql.rust.elements.internal.generated.Synth private import codeql.rust.elements.internal.generated.Raw import codeql.rust.elements.internal.AstNodeImpl::Impl as AstNodeImpl import codeql.rust.elements.Expr -import codeql.rust.elements.Name +import codeql.rust.elements.FormatArgsArgName /** * INTERNAL: This module contains the fully generated definition of `FormatArgsArg` and should not @@ -27,33 +27,33 @@ module Generated { override string getAPrimaryQlClass() { result = "FormatArgsArg" } /** - * Gets the expression of this format arguments argument, if it exists. + * Gets the argument name of this format arguments argument, if it exists. */ - Expr getExpr() { + FormatArgsArgName getArgName() { result = - Synth::convertExprFromRaw(Synth::convertFormatArgsArgToRaw(this) + Synth::convertFormatArgsArgNameFromRaw(Synth::convertFormatArgsArgToRaw(this) .(Raw::FormatArgsArg) - .getExpr()) + .getArgName()) } /** - * Holds if `getExpr()` exists. + * Holds if `getArgName()` exists. */ - final predicate hasExpr() { exists(this.getExpr()) } + final predicate hasArgName() { exists(this.getArgName()) } /** - * Gets the name of this format arguments argument, if it exists. + * Gets the expression of this format arguments argument, if it exists. */ - Name getName() { + Expr getExpr() { result = - Synth::convertNameFromRaw(Synth::convertFormatArgsArgToRaw(this) + Synth::convertExprFromRaw(Synth::convertFormatArgsArgToRaw(this) .(Raw::FormatArgsArg) - .getName()) + .getExpr()) } /** - * Holds if `getName()` exists. + * Holds if `getExpr()` exists. */ - final predicate hasName() { exists(this.getName()) } + final predicate hasExpr() { exists(this.getExpr()) } } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/FormatArgsArgName.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/FormatArgsArgName.qll new file mode 100644 index 000000000000..ce83c40e161a --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/FormatArgsArgName.qll @@ -0,0 +1,23 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `FormatArgsArgName`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.AstNodeImpl::Impl as AstNodeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FormatArgsArgName` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FormatArgsArgName` class directly. + * Use the subclass `FormatArgsArgName`, where the following predicates are available. + */ + class FormatArgsArgName extends Synth::TFormatArgsArgName, AstNodeImpl::AstNode { + override string getAPrimaryQlClass() { result = "FormatArgsArgName" } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/KeyValueMeta.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/KeyValueMeta.qll new file mode 100644 index 000000000000..fba14fb3fc4d --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/KeyValueMeta.qll @@ -0,0 +1,55 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `KeyValueMeta`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.Expr +import codeql.rust.elements.internal.MetaImpl::Impl as MetaImpl +import codeql.rust.elements.Path + +/** + * INTERNAL: This module contains the fully generated definition of `KeyValueMeta` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::KeyValueMeta` class directly. + * Use the subclass `KeyValueMeta`, where the following predicates are available. + */ + class KeyValueMeta extends Synth::TKeyValueMeta, MetaImpl::Meta { + override string getAPrimaryQlClass() { result = "KeyValueMeta" } + + /** + * Gets the expression of this key value meta, if it exists. + */ + Expr getExpr() { + result = + Synth::convertExprFromRaw(Synth::convertKeyValueMetaToRaw(this) + .(Raw::KeyValueMeta) + .getExpr()) + } + + /** + * Holds if `getExpr()` exists. + */ + final predicate hasExpr() { exists(this.getExpr()) } + + /** + * Gets the path of this key value meta, if it exists. + */ + Path getPath() { + result = + Synth::convertPathFromRaw(Synth::convertKeyValueMetaToRaw(this) + .(Raw::KeyValueMeta) + .getPath()) + } + + /** + * Holds if `getPath()` exists. + */ + final predicate hasPath() { exists(this.getPath()) } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Meta.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Meta.qll index 27e6c03a3287..aa5181ee326a 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Meta.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Meta.qll @@ -7,9 +7,6 @@ private import codeql.rust.elements.internal.generated.Synth private import codeql.rust.elements.internal.generated.Raw import codeql.rust.elements.internal.AstNodeImpl::Impl as AstNodeImpl -import codeql.rust.elements.Expr -import codeql.rust.elements.Path -import codeql.rust.elements.TokenTree /** * INTERNAL: This module contains the fully generated definition of `Meta` and should not @@ -32,49 +29,5 @@ module Generated { * INTERNAL: Do not reference the `Generated::Meta` class directly. * Use the subclass `Meta`, where the following predicates are available. */ - class Meta extends Synth::TMeta, AstNodeImpl::AstNode { - override string getAPrimaryQlClass() { result = "Meta" } - - /** - * Gets the expression of this meta, if it exists. - */ - Expr getExpr() { - result = Synth::convertExprFromRaw(Synth::convertMetaToRaw(this).(Raw::Meta).getExpr()) - } - - /** - * Holds if `getExpr()` exists. - */ - final predicate hasExpr() { exists(this.getExpr()) } - - /** - * Holds if this meta is unsafe. - */ - predicate isUnsafe() { Synth::convertMetaToRaw(this).(Raw::Meta).isUnsafe() } - - /** - * Gets the path of this meta, if it exists. - */ - Path getPath() { - result = Synth::convertPathFromRaw(Synth::convertMetaToRaw(this).(Raw::Meta).getPath()) - } - - /** - * Holds if `getPath()` exists. - */ - final predicate hasPath() { exists(this.getPath()) } - - /** - * Gets the token tree of this meta, if it exists. - */ - TokenTree getTokenTree() { - result = - Synth::convertTokenTreeFromRaw(Synth::convertMetaToRaw(this).(Raw::Meta).getTokenTree()) - } - - /** - * Holds if `getTokenTree()` exists. - */ - final predicate hasTokenTree() { exists(this.getTokenTree()) } - } + class Meta extends Synth::TMeta, AstNodeImpl::AstNode { } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll index c593451b9937..f3c1ee591ab6 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll @@ -188,20 +188,26 @@ private module Impl { private Element getImmediateChildOfFormatArgsArg( FormatArgsArg e, int index, string partialPredicateCall ) { - exists(int n, int nExpr, int nName | + exists(int n, int nArgName, int nExpr | n = 0 and - nExpr = n + 1 and - nName = nExpr + 1 and + nArgName = n + 1 and + nExpr = nArgName + 1 and ( none() or - index = n and result = e.getExpr() and partialPredicateCall = "Expr()" + index = n and result = e.getArgName() and partialPredicateCall = "ArgName()" or - index = nExpr and result = e.getName() and partialPredicateCall = "Name()" + index = nArgName and result = e.getExpr() and partialPredicateCall = "Expr()" ) ) } + private Element getImmediateChildOfFormatArgsArgName( + FormatArgsArgName e, int index, string partialPredicateCall + ) { + none() + } + private Element getImmediateChildOfGenericArgList( GenericArgList e, int index, string partialPredicateCall ) { @@ -339,24 +345,6 @@ private module Impl { ) } - private Element getImmediateChildOfMeta(Meta e, int index, string partialPredicateCall) { - exists(int n, int nExpr, int nPath, int nTokenTree | - n = 0 and - nExpr = n + 1 and - nPath = nExpr + 1 and - nTokenTree = nPath + 1 and - ( - none() - or - index = n and result = e.getExpr() and partialPredicateCall = "Expr()" - or - index = nExpr and result = e.getPath() and partialPredicateCall = "Path()" - or - index = nPath and result = e.getTokenTree() and partialPredicateCall = "TokenTree()" - ) - ) - } - private Element getImmediateChildOfName(Name e, int index, string partialPredicateCall) { none() } private Element getImmediateChildOfParamList(ParamList e, int index, string partialPredicateCall) { @@ -567,11 +555,11 @@ private module Impl { private Element getImmediateChildOfStructField( StructField e, int index, string partialPredicateCall ) { - exists(int n, int nAttr, int nDefault, int nName, int nTypeRepr, int nVisibility | + exists(int n, int nAttr, int nDefaultVal, int nName, int nTypeRepr, int nVisibility | n = 0 and nAttr = n + e.getNumberOfAttrs() and - nDefault = nAttr + 1 and - nName = nDefault + 1 and + nDefaultVal = nAttr + 1 and + nName = nDefaultVal + 1 and nTypeRepr = nName + 1 and nVisibility = nTypeRepr + 1 and ( @@ -580,9 +568,9 @@ private module Impl { result = e.getAttr(index - n) and partialPredicateCall = "Attr(" + (index - n).toString() + ")" or - index = nAttr and result = e.getDefault() and partialPredicateCall = "Default()" + index = nAttr and result = e.getDefaultVal() and partialPredicateCall = "DefaultVal()" or - index = nDefault and result = e.getName() and partialPredicateCall = "Name()" + index = nDefaultVal and result = e.getName() and partialPredicateCall = "Name()" or index = nName and result = e.getTypeRepr() and partialPredicateCall = "TypeRepr()" or @@ -634,6 +622,20 @@ private module Impl { none() } + private Element getImmediateChildOfTryBlockModifier( + TryBlockModifier e, int index, string partialPredicateCall + ) { + exists(int n, int nTypeRepr | + n = 0 and + nTypeRepr = n + 1 and + ( + none() + or + index = n and result = e.getTypeRepr() and partialPredicateCall = "TypeRepr()" + ) + ) + } + private Element getImmediateChildOfTupleField(TupleField e, int index, string partialPredicateCall) { exists(int n, int nAttr, int nTypeRepr, int nVisibility | n = 0 and @@ -1108,6 +1110,55 @@ private module Impl { ) } + private Element getImmediateChildOfCfgAtom(CfgAtom e, int index, string partialPredicateCall) { + none() + } + + private Element getImmediateChildOfCfgAttrMeta( + CfgAttrMeta e, int index, string partialPredicateCall + ) { + exists(int n, int nCfgPredicate, int nMeta | + n = 0 and + nCfgPredicate = n + 1 and + nMeta = nCfgPredicate + e.getNumberOfMetas() and + ( + none() + or + index = n and result = e.getCfgPredicate() and partialPredicateCall = "CfgPredicate()" + or + result = e.getMeta(index - nCfgPredicate) and + partialPredicateCall = "Meta(" + (index - nCfgPredicate).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfCfgComposite( + CfgComposite e, int index, string partialPredicateCall + ) { + exists(int n, int nCfgPredicate | + n = 0 and + nCfgPredicate = n + e.getNumberOfCfgPredicates() and + ( + none() + or + result = e.getCfgPredicate(index - n) and + partialPredicateCall = "CfgPredicate(" + (index - n).toString() + ")" + ) + ) + } + + private Element getImmediateChildOfCfgMeta(CfgMeta e, int index, string partialPredicateCall) { + exists(int n, int nCfgPredicate | + n = 0 and + nCfgPredicate = n + 1 and + ( + none() + or + index = n and result = e.getCfgPredicate() and partialPredicateCall = "CfgPredicate()" + ) + ) + } + private Element getImmediateChildOfClosureExpr( ClosureExpr e, int index, string partialPredicateCall ) { @@ -1393,6 +1444,23 @@ private module Impl { none() } + private Element getImmediateChildOfKeyValueMeta( + KeyValueMeta e, int index, string partialPredicateCall + ) { + exists(int n, int nExpr, int nPath | + n = 0 and + nExpr = n + 1 and + nPath = nExpr + 1 and + ( + none() + or + index = n and result = e.getExpr() and partialPredicateCall = "Expr()" + or + index = nExpr and result = e.getPath() and partialPredicateCall = "Path()" + ) + ) + } + private Element getImmediateChildOfLetExpr(LetExpr e, int index, string partialPredicateCall) { exists(int n, int nAttr, int nScrutinee, int nPat | n = 0 and @@ -1701,6 +1769,18 @@ private module Impl { ) } + private Element getImmediateChildOfPathMeta(PathMeta e, int index, string partialPredicateCall) { + exists(int n, int nPath | + n = 0 and + nPath = n + 1 and + ( + none() + or + index = n and result = e.getPath() and partialPredicateCall = "Path()" + ) + ) + } + private Element getImmediateChildOfPathPat(PathPat e, int index, string partialPredicateCall) { exists(int n, int nPath | n = 0 and @@ -1963,6 +2043,23 @@ private module Impl { ) } + private Element getImmediateChildOfTokenTreeMeta( + TokenTreeMeta e, int index, string partialPredicateCall + ) { + exists(int n, int nPath, int nTokenTree | + n = 0 and + nPath = n + 1 and + nTokenTree = nPath + 1 and + ( + none() + or + index = n and result = e.getPath() and partialPredicateCall = "Path()" + or + index = nPath and result = e.getTokenTree() and partialPredicateCall = "TokenTree()" + ) + ) + } + private Element getImmediateChildOfTryExpr(TryExpr e, int index, string partialPredicateCall) { exists(int n, int nAttr, int nExpr | n = 0 and @@ -2106,12 +2203,24 @@ private module Impl { ) } + private Element getImmediateChildOfUnsafeMeta(UnsafeMeta e, int index, string partialPredicateCall) { + exists(int n, int nMeta | + n = 0 and + nMeta = n + 1 and + ( + none() + or + index = n and result = e.getMeta() and partialPredicateCall = "Meta()" + ) + ) + } + private Element getImmediateChildOfVariant(Variant e, int index, string partialPredicateCall) { - exists(int n, int nAttr, int nDiscriminant, int nFieldList, int nName, int nVisibility | + exists(int n, int nAttr, int nConstArg, int nFieldList, int nName, int nVisibility | n = 0 and nAttr = n + e.getNumberOfAttrs() and - nDiscriminant = nAttr + 1 and - nFieldList = nDiscriminant + 1 and + nConstArg = nAttr + 1 and + nFieldList = nConstArg + 1 and nName = nFieldList + 1 and nVisibility = nName + 1 and ( @@ -2120,9 +2229,9 @@ private module Impl { result = e.getAttr(index - n) and partialPredicateCall = "Attr(" + (index - n).toString() + ")" or - index = nAttr and result = e.getDiscriminant() and partialPredicateCall = "Discriminant()" + index = nAttr and result = e.getConstArg() and partialPredicateCall = "ConstArg()" or - index = nDiscriminant and result = e.getFieldList() and partialPredicateCall = "FieldList()" + index = nConstArg and result = e.getFieldList() and partialPredicateCall = "FieldList()" or index = nFieldList and result = e.getName() and partialPredicateCall = "Name()" or @@ -2242,11 +2351,12 @@ private module Impl { } private Element getImmediateChildOfBlockExpr(BlockExpr e, int index, string partialPredicateCall) { - exists(int n, int nLabel, int nAttr, int nStmtList | + exists(int n, int nLabel, int nAttr, int nStmtList, int nTryBlockModifier | n = 0 and nLabel = n + 1 and nAttr = nLabel + e.getNumberOfAttrs() and nStmtList = nAttr + 1 and + nTryBlockModifier = nStmtList + 1 and ( none() or @@ -2256,6 +2366,10 @@ private module Impl { partialPredicateCall = "Attr(" + (index - nLabel).toString() + ")" or index = nAttr and result = e.getStmtList() and partialPredicateCall = "StmtList()" + or + index = nStmtList and + result = e.getTryBlockModifier() and + partialPredicateCall = "TryBlockModifier()" ) ) } @@ -2526,48 +2640,6 @@ private module Impl { ) } - private Element getImmediateChildOfTraitAlias(TraitAlias e, int index, string partialPredicateCall) { - exists( - int n, int nAttributeMacroExpansion, int nAttr, int nGenericParamList, int nName, - int nTypeBoundList, int nVisibility, int nWhereClause - | - n = 0 and - nAttributeMacroExpansion = n + 1 and - nAttr = nAttributeMacroExpansion + e.getNumberOfAttrs() and - nGenericParamList = nAttr + 1 and - nName = nGenericParamList + 1 and - nTypeBoundList = nName + 1 and - nVisibility = nTypeBoundList + 1 and - nWhereClause = nVisibility + 1 and - ( - none() - or - index = n and - result = e.getAttributeMacroExpansion() and - partialPredicateCall = "AttributeMacroExpansion()" - or - result = e.getAttr(index - nAttributeMacroExpansion) and - partialPredicateCall = "Attr(" + (index - nAttributeMacroExpansion).toString() + ")" - or - index = nAttr and - result = e.getGenericParamList() and - partialPredicateCall = "GenericParamList()" - or - index = nGenericParamList and result = e.getName() and partialPredicateCall = "Name()" - or - index = nName and result = e.getTypeBoundList() and partialPredicateCall = "TypeBoundList()" - or - index = nTypeBoundList and - result = e.getVisibility() and - partialPredicateCall = "Visibility()" - or - index = nVisibility and - result = e.getWhereClause() and - partialPredicateCall = "WhereClause()" - ) - ) - } - private Element getImmediateChildOfUse(Use e, int index, string partialPredicateCall) { exists(int n, int nAttributeMacroExpansion, int nAttr, int nUseTree, int nVisibility | n = 0 and @@ -3045,6 +3117,8 @@ private module Impl { or result = getImmediateChildOfFormatArgsArg(e, index, partialAccessor) or + result = getImmediateChildOfFormatArgsArgName(e, index, partialAccessor) + or result = getImmediateChildOfGenericArgList(e, index, partialAccessor) or result = getImmediateChildOfGenericParamList(e, index, partialAccessor) @@ -3063,8 +3137,6 @@ private module Impl { or result = getImmediateChildOfMatchGuard(e, index, partialAccessor) or - result = getImmediateChildOfMeta(e, index, partialAccessor) - or result = getImmediateChildOfName(e, index, partialAccessor) or result = getImmediateChildOfParamList(e, index, partialAccessor) @@ -3097,6 +3169,8 @@ private module Impl { or result = getImmediateChildOfTokenTree(e, index, partialAccessor) or + result = getImmediateChildOfTryBlockModifier(e, index, partialAccessor) + or result = getImmediateChildOfTupleField(e, index, partialAccessor) or result = getImmediateChildOfTypeBound(e, index, partialAccessor) @@ -3151,6 +3225,14 @@ private module Impl { or result = getImmediateChildOfCastExpr(e, index, partialAccessor) or + result = getImmediateChildOfCfgAtom(e, index, partialAccessor) + or + result = getImmediateChildOfCfgAttrMeta(e, index, partialAccessor) + or + result = getImmediateChildOfCfgComposite(e, index, partialAccessor) + or + result = getImmediateChildOfCfgMeta(e, index, partialAccessor) + or result = getImmediateChildOfClosureExpr(e, index, partialAccessor) or result = getImmediateChildOfComment(e, index, partialAccessor) @@ -3185,6 +3267,8 @@ private module Impl { or result = getImmediateChildOfInferTypeRepr(e, index, partialAccessor) or + result = getImmediateChildOfKeyValueMeta(e, index, partialAccessor) + or result = getImmediateChildOfLetExpr(e, index, partialAccessor) or result = getImmediateChildOfLetStmt(e, index, partialAccessor) @@ -3225,6 +3309,8 @@ private module Impl { or result = getImmediateChildOfParenTypeRepr(e, index, partialAccessor) or + result = getImmediateChildOfPathMeta(e, index, partialAccessor) + or result = getImmediateChildOfPathPat(e, index, partialAccessor) or result = getImmediateChildOfPathTypeRepr(e, index, partialAccessor) @@ -3259,6 +3345,8 @@ private module Impl { or result = getImmediateChildOfStructPat(e, index, partialAccessor) or + result = getImmediateChildOfTokenTreeMeta(e, index, partialAccessor) + or result = getImmediateChildOfTryExpr(e, index, partialAccessor) or result = getImmediateChildOfTupleExpr(e, index, partialAccessor) @@ -3277,6 +3365,8 @@ private module Impl { or result = getImmediateChildOfUnderscoreExpr(e, index, partialAccessor) or + result = getImmediateChildOfUnsafeMeta(e, index, partialAccessor) + or result = getImmediateChildOfVariant(e, index, partialAccessor) or result = getImmediateChildOfWildcardPat(e, index, partialAccessor) @@ -3311,8 +3401,6 @@ private module Impl { or result = getImmediateChildOfTrait(e, index, partialAccessor) or - result = getImmediateChildOfTraitAlias(e, index, partialAccessor) - or result = getImmediateChildOfUse(e, index, partialAccessor) or result = getImmediateChildOfConst(e, index, partialAccessor) diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/PathMeta.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/PathMeta.qll new file mode 100644 index 000000000000..f568d2407e13 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/PathMeta.qll @@ -0,0 +1,37 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `PathMeta`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.MetaImpl::Impl as MetaImpl +import codeql.rust.elements.Path + +/** + * INTERNAL: This module contains the fully generated definition of `PathMeta` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::PathMeta` class directly. + * Use the subclass `PathMeta`, where the following predicates are available. + */ + class PathMeta extends Synth::TPathMeta, MetaImpl::Meta { + override string getAPrimaryQlClass() { result = "PathMeta" } + + /** + * Gets the path of this path meta, if it exists. + */ + Path getPath() { + result = + Synth::convertPathFromRaw(Synth::convertPathMetaToRaw(this).(Raw::PathMeta).getPath()) + } + + /** + * Holds if `getPath()` exists. + */ + final predicate hasPath() { exists(this.getPath()) } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll index 01f54e7ab608..c0ab16aa8277 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll @@ -418,6 +418,11 @@ module Raw { int getNumberOfAttrs() { result = count(int i | callable_attrs(this, i, _)) } } + /** + * INTERNAL: Do not use. + */ + class CfgPredicate extends @cfg_predicate, AstNode { } + /** * INTERNAL: Do not use. * The base class for expressions. @@ -538,31 +543,40 @@ module Raw { override string toString() { result = "FormatArgsArg" } /** - * Gets the expression of this format arguments argument, if it exists. + * Gets the argument name of this format arguments argument, if it exists. */ - Expr getExpr() { format_args_arg_exprs(this, result) } + FormatArgsArgName getArgName() { format_args_arg_arg_names(this, result) } /** - * Gets the name of this format arguments argument, if it exists. + * Gets the expression of this format arguments argument, if it exists. */ - Name getName() { format_args_arg_names(this, result) } + Expr getExpr() { format_args_arg_exprs(this, result) } } private Element getImmediateChildOfFormatArgsArg(FormatArgsArg e, int index) { - exists(int n, int nExpr, int nName | + exists(int n, int nArgName, int nExpr | n = 0 and - nExpr = n + 1 and - nName = nExpr + 1 and + nArgName = n + 1 and + nExpr = nArgName + 1 and ( none() or - index = n and result = e.getExpr() + index = n and result = e.getArgName() or - index = nExpr and result = e.getName() + index = nArgName and result = e.getExpr() ) ) } + /** + * INTERNAL: Do not use. + */ + class FormatArgsArgName extends @format_args_arg_name, AstNode { + override string toString() { result = "FormatArgsArgName" } + } + + private Element getImmediateChildOfFormatArgsArgName(FormatArgsArgName e, int index) { none() } + /** * INTERNAL: Do not use. * A generic argument in a generic argument list. @@ -988,47 +1002,7 @@ module Raw { * } * ``` */ - class Meta extends @meta, AstNode { - override string toString() { result = "Meta" } - - /** - * Gets the expression of this meta, if it exists. - */ - Expr getExpr() { meta_exprs(this, result) } - - /** - * Holds if this meta is unsafe. - */ - predicate isUnsafe() { meta_is_unsafe(this) } - - /** - * Gets the path of this meta, if it exists. - */ - Path getPath() { meta_paths(this, result) } - - /** - * Gets the token tree of this meta, if it exists. - */ - TokenTree getTokenTree() { meta_token_trees(this, result) } - } - - private Element getImmediateChildOfMeta(Meta e, int index) { - exists(int n, int nExpr, int nPath, int nTokenTree | - n = 0 and - nExpr = n + 1 and - nPath = nExpr + 1 and - nTokenTree = nPath + 1 and - ( - none() - or - index = n and result = e.getExpr() - or - index = nExpr and result = e.getPath() - or - index = nPath and result = e.getTokenTree() - ) - ) - } + class Meta extends @meta, AstNode { } /** * INTERNAL: Do not use. @@ -1638,9 +1612,9 @@ module Raw { int getNumberOfAttrs() { result = count(int i | struct_field_attrs(this, i, _)) } /** - * Gets the default of this struct field, if it exists. + * Gets the default val of this struct field, if it exists. */ - Expr getDefault() { struct_field_defaults(this, result) } + ConstArg getDefaultVal() { struct_field_default_vals(this, result) } /** * Holds if this struct field is unsafe. @@ -1664,11 +1638,11 @@ module Raw { } private Element getImmediateChildOfStructField(StructField e, int index) { - exists(int n, int nAttr, int nDefault, int nName, int nTypeRepr, int nVisibility | + exists(int n, int nAttr, int nDefaultVal, int nName, int nTypeRepr, int nVisibility | n = 0 and nAttr = n + e.getNumberOfAttrs() and - nDefault = nAttr + 1 and - nName = nDefault + 1 and + nDefaultVal = nAttr + 1 and + nName = nDefaultVal + 1 and nTypeRepr = nName + 1 and nVisibility = nTypeRepr + 1 and ( @@ -1676,9 +1650,9 @@ module Raw { or result = e.getAttr(index - n) or - index = nAttr and result = e.getDefault() + index = nAttr and result = e.getDefaultVal() or - index = nDefault and result = e.getName() + index = nDefaultVal and result = e.getName() or index = nName and result = e.getTypeRepr() or @@ -1806,6 +1780,35 @@ module Raw { private Element getImmediateChildOfTokenTree(TokenTree e, int index) { none() } + /** + * INTERNAL: Do not use. + */ + class TryBlockModifier extends @try_block_modifier, AstNode { + override string toString() { result = "TryBlockModifier" } + + /** + * Holds if this try block modifier is try. + */ + predicate isTry() { try_block_modifier_is_try(this) } + + /** + * Gets the type representation of this try block modifier, if it exists. + */ + TypeRepr getTypeRepr() { try_block_modifier_type_reprs(this, result) } + } + + private Element getImmediateChildOfTryBlockModifier(TryBlockModifier e, int index) { + exists(int n, int nTypeRepr | + n = 0 and + nTypeRepr = n + 1 and + ( + none() + or + index = n and result = e.getTypeRepr() + ) + ) + } + /** * INTERNAL: Do not use. * A field in a tuple struct or tuple variant. @@ -3044,6 +3047,107 @@ module Raw { ) } + /** + * INTERNAL: Do not use. + */ + class CfgAtom extends @cfg_atom, CfgPredicate { + override string toString() { result = "CfgAtom" } + } + + private Element getImmediateChildOfCfgAtom(CfgAtom e, int index) { none() } + + /** + * INTERNAL: Do not use. + */ + class CfgAttrMeta extends @cfg_attr_meta, Meta { + override string toString() { result = "CfgAttrMeta" } + + /** + * Gets the cfg predicate of this cfg attr meta, if it exists. + */ + CfgPredicate getCfgPredicate() { cfg_attr_meta_cfg_predicates(this, result) } + + /** + * Gets the `index`th meta of this cfg attr meta (0-based). + */ + Meta getMeta(int index) { cfg_attr_meta_metas(this, index, result) } + + /** + * Gets the number of metas of this cfg attr meta. + */ + int getNumberOfMetas() { result = count(int i | cfg_attr_meta_metas(this, i, _)) } + } + + private Element getImmediateChildOfCfgAttrMeta(CfgAttrMeta e, int index) { + exists(int n, int nCfgPredicate, int nMeta | + n = 0 and + nCfgPredicate = n + 1 and + nMeta = nCfgPredicate + e.getNumberOfMetas() and + ( + none() + or + index = n and result = e.getCfgPredicate() + or + result = e.getMeta(index - nCfgPredicate) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class CfgComposite extends @cfg_composite, CfgPredicate { + override string toString() { result = "CfgComposite" } + + /** + * Gets the `index`th cfg predicate of this cfg composite (0-based). + */ + CfgPredicate getCfgPredicate(int index) { cfg_composite_cfg_predicates(this, index, result) } + + /** + * Gets the number of cfg predicates of this cfg composite. + */ + int getNumberOfCfgPredicates() { + result = count(int i | cfg_composite_cfg_predicates(this, i, _)) + } + } + + private Element getImmediateChildOfCfgComposite(CfgComposite e, int index) { + exists(int n, int nCfgPredicate | + n = 0 and + nCfgPredicate = n + e.getNumberOfCfgPredicates() and + ( + none() + or + result = e.getCfgPredicate(index - n) + ) + ) + } + + /** + * INTERNAL: Do not use. + */ + class CfgMeta extends @cfg_meta, Meta { + override string toString() { result = "CfgMeta" } + + /** + * Gets the cfg predicate of this cfg meta, if it exists. + */ + CfgPredicate getCfgPredicate() { cfg_meta_cfg_predicates(this, result) } + } + + private Element getImmediateChildOfCfgMeta(CfgMeta e, int index) { + exists(int n, int nCfgPredicate | + n = 0 and + nCfgPredicate = n + 1 and + ( + none() + or + index = n and result = e.getCfgPredicate() + ) + ) + } + /** * INTERNAL: Do not use. * A closure expression. For example: @@ -3855,6 +3959,38 @@ module Raw { MacroItems getAttributeMacroExpansion() { item_attribute_macro_expansions(this, result) } } + /** + * INTERNAL: Do not use. + */ + class KeyValueMeta extends @key_value_meta, Meta { + override string toString() { result = "KeyValueMeta" } + + /** + * Gets the expression of this key value meta, if it exists. + */ + Expr getExpr() { key_value_meta_exprs(this, result) } + + /** + * Gets the path of this key value meta, if it exists. + */ + Path getPath() { key_value_meta_paths(this, result) } + } + + private Element getImmediateChildOfKeyValueMeta(KeyValueMeta e, int index) { + exists(int n, int nExpr, int nPath | + n = 0 and + nExpr = n + 1 and + nPath = nExpr + 1 and + ( + none() + or + index = n and result = e.getExpr() + or + index = nExpr and result = e.getPath() + ) + ) + } + /** * INTERNAL: Do not use. * The base class for expressions that can be labeled (`LoopExpr`, `ForExpr`, `WhileExpr` or `BlockExpr`). @@ -4673,6 +4809,30 @@ module Raw { */ class PathExprBase extends @path_expr_base, Expr { } + /** + * INTERNAL: Do not use. + */ + class PathMeta extends @path_meta, Meta { + override string toString() { result = "PathMeta" } + + /** + * Gets the path of this path meta, if it exists. + */ + Path getPath() { path_meta_paths(this, result) } + } + + private Element getImmediateChildOfPathMeta(PathMeta e, int index) { + exists(int n, int nPath | + n = 0 and + nPath = n + 1 and + ( + none() + or + index = n and result = e.getPath() + ) + ) + } + /** * INTERNAL: Do not use. * A path pattern. For example: @@ -5379,6 +5539,38 @@ module Raw { ) } + /** + * INTERNAL: Do not use. + */ + class TokenTreeMeta extends @token_tree_meta, Meta { + override string toString() { result = "TokenTreeMeta" } + + /** + * Gets the path of this token tree meta, if it exists. + */ + Path getPath() { token_tree_meta_paths(this, result) } + + /** + * Gets the token tree of this token tree meta, if it exists. + */ + TokenTree getTokenTree() { token_tree_meta_token_trees(this, result) } + } + + private Element getImmediateChildOfTokenTreeMeta(TokenTreeMeta e, int index) { + exists(int n, int nPath, int nTokenTree | + n = 0 and + nPath = n + 1 and + nTokenTree = nPath + 1 and + ( + none() + or + index = n and result = e.getPath() + or + index = nPath and result = e.getTokenTree() + ) + ) + } + /** * INTERNAL: Do not use. * A try expression using the `?` operator. @@ -5741,6 +5933,35 @@ module Raw { ) } + /** + * INTERNAL: Do not use. + */ + class UnsafeMeta extends @unsafe_meta, Meta { + override string toString() { result = "UnsafeMeta" } + + /** + * Holds if this unsafe meta is unsafe. + */ + predicate isUnsafe() { unsafe_meta_is_unsafe(this) } + + /** + * Gets the meta of this unsafe meta, if it exists. + */ + Meta getMeta() { unsafe_meta_meta(this, result) } + } + + private Element getImmediateChildOfUnsafeMeta(UnsafeMeta e, int index) { + exists(int n, int nMeta | + n = 0 and + nMeta = n + 1 and + ( + none() + or + index = n and result = e.getMeta() + ) + ) + } + /** * INTERNAL: Do not use. * A variant in an enum declaration. @@ -5765,9 +5986,9 @@ module Raw { int getNumberOfAttrs() { result = count(int i | variant_attrs(this, i, _)) } /** - * Gets the discriminant of this variant, if it exists. + * Gets the const argument of this variant, if it exists. */ - Expr getDiscriminant() { variant_discriminants(this, result) } + ConstArg getConstArg() { variant_const_args(this, result) } /** * Gets the field list of this variant, if it exists. @@ -5786,11 +6007,11 @@ module Raw { } private Element getImmediateChildOfVariant(Variant e, int index) { - exists(int n, int nAttr, int nDiscriminant, int nFieldList, int nName, int nVisibility | + exists(int n, int nAttr, int nConstArg, int nFieldList, int nName, int nVisibility | n = 0 and nAttr = n + e.getNumberOfAttrs() and - nDiscriminant = nAttr + 1 and - nFieldList = nDiscriminant + 1 and + nConstArg = nAttr + 1 and + nFieldList = nConstArg + 1 and nName = nFieldList + 1 and nVisibility = nName + 1 and ( @@ -5798,9 +6019,9 @@ module Raw { or result = e.getAttr(index - n) or - index = nAttr and result = e.getDiscriminant() + index = nAttr and result = e.getConstArg() or - index = nDiscriminant and result = e.getFieldList() + index = nConstArg and result = e.getFieldList() or index = nFieldList and result = e.getName() or @@ -6034,11 +6255,6 @@ module Raw { */ predicate isMove() { block_expr_is_move(this) } - /** - * Holds if this block expression is try. - */ - predicate isTry() { block_expr_is_try(this) } - /** * Holds if this block expression is unsafe. */ @@ -6048,14 +6264,20 @@ module Raw { * Gets the statement list of this block expression, if it exists. */ StmtList getStmtList() { block_expr_stmt_lists(this, result) } + + /** + * Gets the try block modifier of this block expression, if it exists. + */ + TryBlockModifier getTryBlockModifier() { block_expr_try_block_modifiers(this, result) } } private Element getImmediateChildOfBlockExpr(BlockExpr e, int index) { - exists(int n, int nLabel, int nAttr, int nStmtList | + exists(int n, int nLabel, int nAttr, int nStmtList, int nTryBlockModifier | n = 0 and nLabel = n + 1 and nAttr = nLabel + e.getNumberOfAttrs() and nStmtList = nAttr + 1 and + nTryBlockModifier = nStmtList + 1 and ( none() or @@ -6064,6 +6286,8 @@ module Raw { result = e.getAttr(index - nLabel) or index = nAttr and result = e.getStmtList() + or + index = nStmtList and result = e.getTryBlockModifier() ) ) } @@ -6674,87 +6898,6 @@ module Raw { ) } - /** - * INTERNAL: Do not use. - * A trait alias. - * - * For example: - * ```rust - * trait Foo = Bar + Baz; - * ``` - */ - class TraitAlias extends @trait_alias, Item { - override string toString() { result = "TraitAlias" } - - /** - * Gets the `index`th attr of this trait alias (0-based). - */ - Attr getAttr(int index) { trait_alias_attrs(this, index, result) } - - /** - * Gets the number of attrs of this trait alias. - */ - int getNumberOfAttrs() { result = count(int i | trait_alias_attrs(this, i, _)) } - - /** - * Gets the generic parameter list of this trait alias, if it exists. - */ - GenericParamList getGenericParamList() { trait_alias_generic_param_lists(this, result) } - - /** - * Gets the name of this trait alias, if it exists. - */ - Name getName() { trait_alias_names(this, result) } - - /** - * Gets the type bound list of this trait alias, if it exists. - */ - TypeBoundList getTypeBoundList() { trait_alias_type_bound_lists(this, result) } - - /** - * Gets the visibility of this trait alias, if it exists. - */ - Visibility getVisibility() { trait_alias_visibilities(this, result) } - - /** - * Gets the where clause of this trait alias, if it exists. - */ - WhereClause getWhereClause() { trait_alias_where_clauses(this, result) } - } - - private Element getImmediateChildOfTraitAlias(TraitAlias e, int index) { - exists( - int n, int nAttributeMacroExpansion, int nAttr, int nGenericParamList, int nName, - int nTypeBoundList, int nVisibility, int nWhereClause - | - n = 0 and - nAttributeMacroExpansion = n + 1 and - nAttr = nAttributeMacroExpansion + e.getNumberOfAttrs() and - nGenericParamList = nAttr + 1 and - nName = nGenericParamList + 1 and - nTypeBoundList = nName + 1 and - nVisibility = nTypeBoundList + 1 and - nWhereClause = nVisibility + 1 and - ( - none() - or - index = n and result = e.getAttributeMacroExpansion() - or - result = e.getAttr(index - nAttributeMacroExpansion) - or - index = nAttr and result = e.getGenericParamList() - or - index = nGenericParamList and result = e.getName() - or - index = nName and result = e.getTypeBoundList() - or - index = nTypeBoundList and result = e.getVisibility() - or - index = nVisibility and result = e.getWhereClause() - ) - ) - } - /** * INTERNAL: Do not use. * An item that defines a type. Either a `Struct`, `Enum`, or `Union`. @@ -7712,6 +7855,8 @@ module Raw { or result = getImmediateChildOfFormatArgsArg(e, index) or + result = getImmediateChildOfFormatArgsArgName(e, index) + or result = getImmediateChildOfGenericArgList(e, index) or result = getImmediateChildOfGenericParamList(e, index) @@ -7730,8 +7875,6 @@ module Raw { or result = getImmediateChildOfMatchGuard(e, index) or - result = getImmediateChildOfMeta(e, index) - or result = getImmediateChildOfName(e, index) or result = getImmediateChildOfParamList(e, index) @@ -7764,6 +7907,8 @@ module Raw { or result = getImmediateChildOfTokenTree(e, index) or + result = getImmediateChildOfTryBlockModifier(e, index) + or result = getImmediateChildOfTupleField(e, index) or result = getImmediateChildOfTypeBound(e, index) @@ -7818,6 +7963,14 @@ module Raw { or result = getImmediateChildOfCastExpr(e, index) or + result = getImmediateChildOfCfgAtom(e, index) + or + result = getImmediateChildOfCfgAttrMeta(e, index) + or + result = getImmediateChildOfCfgComposite(e, index) + or + result = getImmediateChildOfCfgMeta(e, index) + or result = getImmediateChildOfClosureExpr(e, index) or result = getImmediateChildOfComment(e, index) @@ -7852,6 +8005,8 @@ module Raw { or result = getImmediateChildOfInferTypeRepr(e, index) or + result = getImmediateChildOfKeyValueMeta(e, index) + or result = getImmediateChildOfLetExpr(e, index) or result = getImmediateChildOfLetStmt(e, index) @@ -7892,6 +8047,8 @@ module Raw { or result = getImmediateChildOfParenTypeRepr(e, index) or + result = getImmediateChildOfPathMeta(e, index) + or result = getImmediateChildOfPathPat(e, index) or result = getImmediateChildOfPathTypeRepr(e, index) @@ -7926,6 +8083,8 @@ module Raw { or result = getImmediateChildOfStructPat(e, index) or + result = getImmediateChildOfTokenTreeMeta(e, index) + or result = getImmediateChildOfTryExpr(e, index) or result = getImmediateChildOfTupleExpr(e, index) @@ -7944,6 +8103,8 @@ module Raw { or result = getImmediateChildOfUnderscoreExpr(e, index) or + result = getImmediateChildOfUnsafeMeta(e, index) + or result = getImmediateChildOfVariant(e, index) or result = getImmediateChildOfWildcardPat(e, index) @@ -7972,8 +8133,6 @@ module Raw { or result = getImmediateChildOfTrait(e, index) or - result = getImmediateChildOfTraitAlias(e, index) - or result = getImmediateChildOfUse(e, index) or result = getImmediateChildOfConst(e, index) diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/StructField.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/StructField.qll index 9650d4fd2c12..bbad0ec97fc7 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/StructField.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/StructField.qll @@ -8,7 +8,7 @@ private import codeql.rust.elements.internal.generated.Synth private import codeql.rust.elements.internal.generated.Raw import codeql.rust.elements.internal.AstNodeImpl::Impl as AstNodeImpl import codeql.rust.elements.Attr -import codeql.rust.elements.Expr +import codeql.rust.elements.ConstArg import codeql.rust.elements.Name import codeql.rust.elements.TypeRepr import codeql.rust.elements.Visibility @@ -53,19 +53,19 @@ module Generated { final int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } /** - * Gets the default of this struct field, if it exists. + * Gets the default val of this struct field, if it exists. */ - Expr getDefault() { + ConstArg getDefaultVal() { result = - Synth::convertExprFromRaw(Synth::convertStructFieldToRaw(this) + Synth::convertConstArgFromRaw(Synth::convertStructFieldToRaw(this) .(Raw::StructField) - .getDefault()) + .getDefaultVal()) } /** - * Holds if `getDefault()` exists. + * Holds if `getDefaultVal()` exists. */ - final predicate hasDefault() { exists(this.getDefault()) } + final predicate hasDefaultVal() { exists(this.getDefaultVal()) } /** * Holds if this struct field is unsafe. diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll index eebd86348e0c..bff6809686f8 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll @@ -130,6 +130,22 @@ module Synth { * INTERNAL: Do not use. */ TCastExpr(Raw::CastExpr id) { constructCastExpr(id) } or + /** + * INTERNAL: Do not use. + */ + TCfgAtom(Raw::CfgAtom id) { constructCfgAtom(id) } or + /** + * INTERNAL: Do not use. + */ + TCfgAttrMeta(Raw::CfgAttrMeta id) { constructCfgAttrMeta(id) } or + /** + * INTERNAL: Do not use. + */ + TCfgComposite(Raw::CfgComposite id) { constructCfgComposite(id) } or + /** + * INTERNAL: Do not use. + */ + TCfgMeta(Raw::CfgMeta id) { constructCfgMeta(id) } or /** * INTERNAL: Do not use. */ @@ -220,6 +236,10 @@ module Synth { * INTERNAL: Do not use. */ TFormatArgsArg(Raw::FormatArgsArg id) { constructFormatArgsArg(id) } or + /** + * INTERNAL: Do not use. + */ + TFormatArgsArgName(Raw::FormatArgsArgName id) { constructFormatArgsArgName(id) } or /** * INTERNAL: Do not use. */ @@ -278,6 +298,10 @@ module Synth { * INTERNAL: Do not use. */ TItemList(Raw::ItemList id) { constructItemList(id) } or + /** + * INTERNAL: Do not use. + */ + TKeyValueMeta(Raw::KeyValueMeta id) { constructKeyValueMeta(id) } or /** * INTERNAL: Do not use. */ @@ -362,10 +386,6 @@ module Synth { * INTERNAL: Do not use. */ TMatchGuard(Raw::MatchGuard id) { constructMatchGuard(id) } or - /** - * INTERNAL: Do not use. - */ - TMeta(Raw::Meta id) { constructMeta(id) } or /** * INTERNAL: Do not use. */ @@ -434,6 +454,10 @@ module Synth { * INTERNAL: Do not use. */ TPathExpr(Raw::PathExpr id) { constructPathExpr(id) } or + /** + * INTERNAL: Do not use. + */ + TPathMeta(Raw::PathMeta id) { constructPathMeta(id) } or /** * INTERNAL: Do not use. */ @@ -558,6 +582,10 @@ module Synth { * INTERNAL: Do not use. */ TTokenTree(Raw::TokenTree id) { constructTokenTree(id) } or + /** + * INTERNAL: Do not use. + */ + TTokenTreeMeta(Raw::TokenTreeMeta id) { constructTokenTreeMeta(id) } or /** * INTERNAL: Do not use. */ @@ -565,7 +593,7 @@ module Synth { /** * INTERNAL: Do not use. */ - TTraitAlias(Raw::TraitAlias id) { constructTraitAlias(id) } or + TTryBlockModifier(Raw::TryBlockModifier id) { constructTryBlockModifier(id) } or /** * INTERNAL: Do not use. */ @@ -626,6 +654,10 @@ module Synth { * INTERNAL: Do not use. */ TUnion(Raw::Union id) { constructUnion(id) } or + /** + * INTERNAL: Do not use. + */ + TUnsafeMeta(Raw::UnsafeMeta id) { constructUnsafeMeta(id) } or /** * INTERNAL: Do not use. */ @@ -709,22 +741,28 @@ module Synth { */ class TAstNode = TAbi or TAddressable or TArgList or TAsmDirSpec or TAsmOperand or TAsmOperandExpr or - TAsmOption or TAsmPiece or TAsmRegSpec or TAssocItemList or TAttr or TCallable or TExpr or - TExternItemList or TFieldList or TForBinder or TFormatArgsArg or TGenericArg or - TGenericArgList or TGenericParam or TGenericParamList or TItemList or TLabel or TLetElse or - TMacroItems or TMatchArm or TMatchArmList or TMatchGuard or TMeta or TName or TParamBase or - TParamList or TParenthesizedArgList or TPat or TPath or TPathAstNode or TPathSegment or - TRename or TRetTypeRepr or TReturnTypeSyntax or TSourceFile or TStmt or TStmtList or + TAsmOption or TAsmPiece or TAsmRegSpec or TAssocItemList or TAttr or TCallable or + TCfgPredicate or TExpr or TExternItemList or TFieldList or TForBinder or TFormatArgsArg or + TFormatArgsArgName or TGenericArg or TGenericArgList or TGenericParam or + TGenericParamList or TItemList or TLabel or TLetElse or TMacroItems or TMatchArm or + TMatchArmList or TMatchGuard or TMeta or TName or TParamBase or TParamList or + TParenthesizedArgList or TPat or TPath or TPathAstNode or TPathSegment or TRename or + TRetTypeRepr or TReturnTypeSyntax or TSourceFile or TStmt or TStmtList or TStructExprField or TStructExprFieldList or TStructField or TStructPatField or - TStructPatFieldList or TToken or TTokenTree or TTupleField or TTypeBound or - TTypeBoundList or TTypeRepr or TUseBoundGenericArg or TUseBoundGenericArgs or TUseTree or - TUseTreeList or TVariantList or TVisibility or TWhereClause or TWherePred; + TStructPatFieldList or TToken or TTokenTree or TTryBlockModifier or TTupleField or + TTypeBound or TTypeBoundList or TTypeRepr or TUseBoundGenericArg or TUseBoundGenericArgs or + TUseTree or TUseTreeList or TVariantList or TVisibility or TWhereClause or TWherePred; /** * INTERNAL: Do not use. */ class TCallable = TClosureExpr or TFunction; + /** + * INTERNAL: Do not use. + */ + class TCfgPredicate = TCfgAtom or TCfgComposite; + /** * INTERNAL: Do not use. */ @@ -761,7 +799,7 @@ module Synth { */ class TItem = TAsmExpr or TAssocItem or TExternBlock or TExternCrate or TExternItem or TImpl or TMacroDef or - TMacroRules or TModule or TTrait or TTraitAlias or TTypeItem or TUse; + TMacroRules or TModule or TTrait or TTypeItem or TUse; /** * INTERNAL: Do not use. @@ -778,6 +816,12 @@ module Synth { */ class TLoopingExpr = TForExpr or TLoopExpr or TWhileExpr; + /** + * INTERNAL: Do not use. + */ + class TMeta = + TCfgAttrMeta or TCfgMeta or TKeyValueMeta or TPathMeta or TTokenTreeMeta or TUnsafeMeta; + /** * INTERNAL: Do not use. */ @@ -1054,6 +1098,34 @@ module Synth { */ TCastExpr convertCastExprFromRaw(Raw::Element e) { result = TCastExpr(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCfgAtom`, if possible. + */ + TCfgAtom convertCfgAtomFromRaw(Raw::Element e) { result = TCfgAtom(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCfgAttrMeta`, if possible. + */ + TCfgAttrMeta convertCfgAttrMetaFromRaw(Raw::Element e) { result = TCfgAttrMeta(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCfgComposite`, if possible. + */ + TCfgComposite convertCfgCompositeFromRaw(Raw::Element e) { result = TCfgComposite(e) } + + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TCfgMeta`, if possible. + */ + TCfgMeta convertCfgMetaFromRaw(Raw::Element e) { result = TCfgMeta(e) } + /** * INTERNAL: Do not use. * @@ -1208,6 +1280,15 @@ module Synth { */ TFormatArgsArg convertFormatArgsArgFromRaw(Raw::Element e) { result = TFormatArgsArg(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TFormatArgsArgName`, if possible. + */ + TFormatArgsArgName convertFormatArgsArgNameFromRaw(Raw::Element e) { + result = TFormatArgsArgName(e) + } + /** * INTERNAL: Do not use. * @@ -1303,6 +1384,13 @@ module Synth { */ TItemList convertItemListFromRaw(Raw::Element e) { result = TItemList(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TKeyValueMeta`, if possible. + */ + TKeyValueMeta convertKeyValueMetaFromRaw(Raw::Element e) { result = TKeyValueMeta(e) } + /** * INTERNAL: Do not use. * @@ -1450,13 +1538,6 @@ module Synth { */ TMatchGuard convertMatchGuardFromRaw(Raw::Element e) { result = TMatchGuard(e) } - /** - * INTERNAL: Do not use. - * - * Converts a raw element to a synthesized `TMeta`, if possible. - */ - TMeta convertMetaFromRaw(Raw::Element e) { result = TMeta(e) } - /** * INTERNAL: Do not use. * @@ -1578,6 +1659,13 @@ module Synth { */ TPathExpr convertPathExprFromRaw(Raw::Element e) { result = TPathExpr(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TPathMeta`, if possible. + */ + TPathMeta convertPathMetaFromRaw(Raw::Element e) { result = TPathMeta(e) } + /** * INTERNAL: Do not use. * @@ -1799,6 +1887,13 @@ module Synth { */ TTokenTree convertTokenTreeFromRaw(Raw::Element e) { result = TTokenTree(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TTokenTreeMeta`, if possible. + */ + TTokenTreeMeta convertTokenTreeMetaFromRaw(Raw::Element e) { result = TTokenTreeMeta(e) } + /** * INTERNAL: Do not use. * @@ -1809,9 +1904,9 @@ module Synth { /** * INTERNAL: Do not use. * - * Converts a raw element to a synthesized `TTraitAlias`, if possible. + * Converts a raw element to a synthesized `TTryBlockModifier`, if possible. */ - TTraitAlias convertTraitAliasFromRaw(Raw::Element e) { result = TTraitAlias(e) } + TTryBlockModifier convertTryBlockModifierFromRaw(Raw::Element e) { result = TTryBlockModifier(e) } /** * INTERNAL: Do not use. @@ -1918,6 +2013,13 @@ module Synth { */ TUnion convertUnionFromRaw(Raw::Element e) { result = TUnion(e) } + /** + * INTERNAL: Do not use. + * + * Converts a raw element to a synthesized `TUnsafeMeta`, if possible. + */ + TUnsafeMeta convertUnsafeMetaFromRaw(Raw::Element e) { result = TUnsafeMeta(e) } + /** * INTERNAL: Do not use. * @@ -2100,6 +2202,8 @@ module Synth { or result = convertCallableFromRaw(e) or + result = convertCfgPredicateFromRaw(e) + or result = convertExprFromRaw(e) or result = convertExternItemListFromRaw(e) @@ -2110,6 +2214,8 @@ module Synth { or result = convertFormatArgsArgFromRaw(e) or + result = convertFormatArgsArgNameFromRaw(e) + or result = convertGenericArgFromRaw(e) or result = convertGenericArgListFromRaw(e) @@ -2176,6 +2282,8 @@ module Synth { or result = convertTokenTreeFromRaw(e) or + result = convertTryBlockModifierFromRaw(e) + or result = convertTupleFieldFromRaw(e) or result = convertTypeBoundFromRaw(e) @@ -2211,6 +2319,16 @@ module Synth { result = convertFunctionFromRaw(e) } + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TCfgPredicate`, if possible. + */ + TCfgPredicate convertCfgPredicateFromRaw(Raw::Element e) { + result = convertCfgAtomFromRaw(e) + or + result = convertCfgCompositeFromRaw(e) + } + /** * INTERNAL: Do not use. * Converts a raw DB element to a synthesized `TElement`, if possible. @@ -2374,8 +2492,6 @@ module Synth { or result = convertTraitFromRaw(e) or - result = convertTraitAliasFromRaw(e) - or result = convertTypeItemFromRaw(e) or result = convertUseFromRaw(e) @@ -2417,6 +2533,24 @@ module Synth { result = convertWhileExprFromRaw(e) } + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TMeta`, if possible. + */ + TMeta convertMetaFromRaw(Raw::Element e) { + result = convertCfgAttrMetaFromRaw(e) + or + result = convertCfgMetaFromRaw(e) + or + result = convertKeyValueMetaFromRaw(e) + or + result = convertPathMetaFromRaw(e) + or + result = convertTokenTreeMetaFromRaw(e) + or + result = convertUnsafeMetaFromRaw(e) + } + /** * INTERNAL: Do not use. * Converts a raw DB element to a synthesized `TParamBase`, if possible. @@ -2751,6 +2885,30 @@ module Synth { */ Raw::Element convertCastExprToRaw(TCastExpr e) { e = TCastExpr(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCfgAtom` to a raw DB element, if possible. + */ + Raw::Element convertCfgAtomToRaw(TCfgAtom e) { e = TCfgAtom(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCfgAttrMeta` to a raw DB element, if possible. + */ + Raw::Element convertCfgAttrMetaToRaw(TCfgAttrMeta e) { e = TCfgAttrMeta(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCfgComposite` to a raw DB element, if possible. + */ + Raw::Element convertCfgCompositeToRaw(TCfgComposite e) { e = TCfgComposite(result) } + + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCfgMeta` to a raw DB element, if possible. + */ + Raw::Element convertCfgMetaToRaw(TCfgMeta e) { e = TCfgMeta(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TClosureExpr` to a raw DB element, if possible. @@ -2883,6 +3041,14 @@ module Synth { */ Raw::Element convertFormatArgsArgToRaw(TFormatArgsArg e) { e = TFormatArgsArg(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFormatArgsArgName` to a raw DB element, if possible. + */ + Raw::Element convertFormatArgsArgNameToRaw(TFormatArgsArgName e) { + e = TFormatArgsArgName(result) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TFormatArgsExpr` to a raw DB element, if possible. @@ -2963,6 +3129,12 @@ module Synth { */ Raw::Element convertItemListToRaw(TItemList e) { e = TItemList(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TKeyValueMeta` to a raw DB element, if possible. + */ + Raw::Element convertKeyValueMetaToRaw(TKeyValueMeta e) { e = TKeyValueMeta(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TLabel` to a raw DB element, if possible. @@ -3089,12 +3261,6 @@ module Synth { */ Raw::Element convertMatchGuardToRaw(TMatchGuard e) { e = TMatchGuard(result) } - /** - * INTERNAL: Do not use. - * Converts a synthesized `TMeta` to a raw DB element, if possible. - */ - Raw::Element convertMetaToRaw(TMeta e) { e = TMeta(result) } - /** * INTERNAL: Do not use. * Converts a synthesized `TMethodCallExpr` to a raw DB element, if possible. @@ -3199,6 +3365,12 @@ module Synth { */ Raw::Element convertPathExprToRaw(TPathExpr e) { e = TPathExpr(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TPathMeta` to a raw DB element, if possible. + */ + Raw::Element convertPathMetaToRaw(TPathMeta e) { e = TPathMeta(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TPathPat` to a raw DB element, if possible. @@ -3389,6 +3561,12 @@ module Synth { */ Raw::Element convertTokenTreeToRaw(TTokenTree e) { e = TTokenTree(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTokenTreeMeta` to a raw DB element, if possible. + */ + Raw::Element convertTokenTreeMetaToRaw(TTokenTreeMeta e) { e = TTokenTreeMeta(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TTrait` to a raw DB element, if possible. @@ -3397,9 +3575,9 @@ module Synth { /** * INTERNAL: Do not use. - * Converts a synthesized `TTraitAlias` to a raw DB element, if possible. + * Converts a synthesized `TTryBlockModifier` to a raw DB element, if possible. */ - Raw::Element convertTraitAliasToRaw(TTraitAlias e) { e = TTraitAlias(result) } + Raw::Element convertTryBlockModifierToRaw(TTryBlockModifier e) { e = TTryBlockModifier(result) } /** * INTERNAL: Do not use. @@ -3491,6 +3669,12 @@ module Synth { */ Raw::Element convertUnionToRaw(TUnion e) { e = TUnion(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TUnsafeMeta` to a raw DB element, if possible. + */ + Raw::Element convertUnsafeMetaToRaw(TUnsafeMeta e) { e = TUnsafeMeta(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TUse` to a raw DB element, if possible. @@ -3660,6 +3844,8 @@ module Synth { or result = convertCallableToRaw(e) or + result = convertCfgPredicateToRaw(e) + or result = convertExprToRaw(e) or result = convertExternItemListToRaw(e) @@ -3670,6 +3856,8 @@ module Synth { or result = convertFormatArgsArgToRaw(e) or + result = convertFormatArgsArgNameToRaw(e) + or result = convertGenericArgToRaw(e) or result = convertGenericArgListToRaw(e) @@ -3736,6 +3924,8 @@ module Synth { or result = convertTokenTreeToRaw(e) or + result = convertTryBlockModifierToRaw(e) + or result = convertTupleFieldToRaw(e) or result = convertTypeBoundToRaw(e) @@ -3771,6 +3961,16 @@ module Synth { result = convertFunctionToRaw(e) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TCfgPredicate` to a raw DB element, if possible. + */ + Raw::Element convertCfgPredicateToRaw(TCfgPredicate e) { + result = convertCfgAtomToRaw(e) + or + result = convertCfgCompositeToRaw(e) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TElement` to a raw DB element, if possible. @@ -3934,8 +4134,6 @@ module Synth { or result = convertTraitToRaw(e) or - result = convertTraitAliasToRaw(e) - or result = convertTypeItemToRaw(e) or result = convertUseToRaw(e) @@ -3977,6 +4175,24 @@ module Synth { result = convertWhileExprToRaw(e) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TMeta` to a raw DB element, if possible. + */ + Raw::Element convertMetaToRaw(TMeta e) { + result = convertCfgAttrMetaToRaw(e) + or + result = convertCfgMetaToRaw(e) + or + result = convertKeyValueMetaToRaw(e) + or + result = convertPathMetaToRaw(e) + or + result = convertTokenTreeMetaToRaw(e) + or + result = convertUnsafeMetaToRaw(e) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TParamBase` to a raw DB element, if possible. diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll index 613af726ba4e..40d7f1c5acd7 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll @@ -32,6 +32,10 @@ import codeql.rust.elements.internal.BoxPatConstructor import codeql.rust.elements.internal.BreakExprConstructor import codeql.rust.elements.internal.CallExprConstructor import codeql.rust.elements.internal.CastExprConstructor +import codeql.rust.elements.internal.CfgAtomConstructor +import codeql.rust.elements.internal.CfgAttrMetaConstructor +import codeql.rust.elements.internal.CfgCompositeConstructor +import codeql.rust.elements.internal.CfgMetaConstructor import codeql.rust.elements.internal.ClosureExprConstructor import codeql.rust.elements.internal.CommentConstructor import codeql.rust.elements.internal.ConstConstructor @@ -54,6 +58,7 @@ import codeql.rust.elements.internal.ForExprConstructor import codeql.rust.elements.internal.ForTypeReprConstructor import codeql.rust.elements.internal.FormatConstructor import codeql.rust.elements.internal.FormatArgsArgConstructor +import codeql.rust.elements.internal.FormatArgsArgNameConstructor import codeql.rust.elements.internal.FormatArgsExprConstructor import codeql.rust.elements.internal.FormatArgumentConstructor import codeql.rust.elements.internal.FormatTemplateVariableAccessConstructor @@ -67,6 +72,7 @@ import codeql.rust.elements.internal.ImplTraitTypeReprConstructor import codeql.rust.elements.internal.IndexExprConstructor import codeql.rust.elements.internal.InferTypeReprConstructor import codeql.rust.elements.internal.ItemListConstructor +import codeql.rust.elements.internal.KeyValueMetaConstructor import codeql.rust.elements.internal.LabelConstructor import codeql.rust.elements.internal.LetElseConstructor import codeql.rust.elements.internal.LetExprConstructor @@ -88,7 +94,6 @@ import codeql.rust.elements.internal.MatchArmConstructor import codeql.rust.elements.internal.MatchArmListConstructor import codeql.rust.elements.internal.MatchExprConstructor import codeql.rust.elements.internal.MatchGuardConstructor -import codeql.rust.elements.internal.MetaConstructor import codeql.rust.elements.internal.MethodCallExprConstructor import codeql.rust.elements.internal.MissingConstructor import codeql.rust.elements.internal.ModuleConstructor @@ -106,6 +111,7 @@ import codeql.rust.elements.internal.ParenTypeReprConstructor import codeql.rust.elements.internal.ParenthesizedArgListConstructor import codeql.rust.elements.internal.PathConstructor import codeql.rust.elements.internal.PathExprConstructor +import codeql.rust.elements.internal.PathMetaConstructor import codeql.rust.elements.internal.PathPatConstructor import codeql.rust.elements.internal.PathSegmentConstructor import codeql.rust.elements.internal.PathTypeReprConstructor @@ -137,8 +143,9 @@ import codeql.rust.elements.internal.StructPatConstructor import codeql.rust.elements.internal.StructPatFieldConstructor import codeql.rust.elements.internal.StructPatFieldListConstructor import codeql.rust.elements.internal.TokenTreeConstructor +import codeql.rust.elements.internal.TokenTreeMetaConstructor import codeql.rust.elements.internal.TraitConstructor -import codeql.rust.elements.internal.TraitAliasConstructor +import codeql.rust.elements.internal.TryBlockModifierConstructor import codeql.rust.elements.internal.TryExprConstructor import codeql.rust.elements.internal.TupleExprConstructor import codeql.rust.elements.internal.TupleFieldConstructor @@ -154,6 +161,7 @@ import codeql.rust.elements.internal.TypeParamConstructor import codeql.rust.elements.internal.UnderscoreExprConstructor import codeql.rust.elements.internal.UnimplementedConstructor import codeql.rust.elements.internal.UnionConstructor +import codeql.rust.elements.internal.UnsafeMetaConstructor import codeql.rust.elements.internal.UseConstructor import codeql.rust.elements.internal.UseBoundGenericArgsConstructor import codeql.rust.elements.internal.UseTreeConstructor diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/TokenTreeMeta.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/TokenTreeMeta.qll new file mode 100644 index 000000000000..b6d7d0a676a3 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/TokenTreeMeta.qll @@ -0,0 +1,55 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `TokenTreeMeta`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.MetaImpl::Impl as MetaImpl +import codeql.rust.elements.Path +import codeql.rust.elements.TokenTree + +/** + * INTERNAL: This module contains the fully generated definition of `TokenTreeMeta` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TokenTreeMeta` class directly. + * Use the subclass `TokenTreeMeta`, where the following predicates are available. + */ + class TokenTreeMeta extends Synth::TTokenTreeMeta, MetaImpl::Meta { + override string getAPrimaryQlClass() { result = "TokenTreeMeta" } + + /** + * Gets the path of this token tree meta, if it exists. + */ + Path getPath() { + result = + Synth::convertPathFromRaw(Synth::convertTokenTreeMetaToRaw(this) + .(Raw::TokenTreeMeta) + .getPath()) + } + + /** + * Holds if `getPath()` exists. + */ + final predicate hasPath() { exists(this.getPath()) } + + /** + * Gets the token tree of this token tree meta, if it exists. + */ + TokenTree getTokenTree() { + result = + Synth::convertTokenTreeFromRaw(Synth::convertTokenTreeMetaToRaw(this) + .(Raw::TokenTreeMeta) + .getTokenTree()) + } + + /** + * Holds if `getTokenTree()` exists. + */ + final predicate hasTokenTree() { exists(this.getTokenTree()) } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/TraitAlias.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/TraitAlias.qll deleted file mode 100644 index 0ca44b1f577d..000000000000 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/TraitAlias.qll +++ /dev/null @@ -1,128 +0,0 @@ -// generated by codegen, do not edit -/** - * This module provides the generated definition of `TraitAlias`. - * INTERNAL: Do not import directly. - */ - -private import codeql.rust.elements.internal.generated.Synth -private import codeql.rust.elements.internal.generated.Raw -import codeql.rust.elements.Attr -import codeql.rust.elements.GenericParamList -import codeql.rust.elements.internal.ItemImpl::Impl as ItemImpl -import codeql.rust.elements.Name -import codeql.rust.elements.TypeBoundList -import codeql.rust.elements.Visibility -import codeql.rust.elements.WhereClause - -/** - * INTERNAL: This module contains the fully generated definition of `TraitAlias` and should not - * be referenced directly. - */ -module Generated { - /** - * A trait alias. - * - * For example: - * ```rust - * trait Foo = Bar + Baz; - * ``` - * INTERNAL: Do not reference the `Generated::TraitAlias` class directly. - * Use the subclass `TraitAlias`, where the following predicates are available. - */ - class TraitAlias extends Synth::TTraitAlias, ItemImpl::Item { - override string getAPrimaryQlClass() { result = "TraitAlias" } - - /** - * Gets the `index`th attr of this trait alias (0-based). - */ - Attr getAttr(int index) { - result = - Synth::convertAttrFromRaw(Synth::convertTraitAliasToRaw(this) - .(Raw::TraitAlias) - .getAttr(index)) - } - - /** - * Gets any of the attrs of this trait alias. - */ - final Attr getAnAttr() { result = this.getAttr(_) } - - /** - * Gets the number of attrs of this trait alias. - */ - final int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } - - /** - * Gets the generic parameter list of this trait alias, if it exists. - */ - GenericParamList getGenericParamList() { - result = - Synth::convertGenericParamListFromRaw(Synth::convertTraitAliasToRaw(this) - .(Raw::TraitAlias) - .getGenericParamList()) - } - - /** - * Holds if `getGenericParamList()` exists. - */ - final predicate hasGenericParamList() { exists(this.getGenericParamList()) } - - /** - * Gets the name of this trait alias, if it exists. - */ - Name getName() { - result = - Synth::convertNameFromRaw(Synth::convertTraitAliasToRaw(this).(Raw::TraitAlias).getName()) - } - - /** - * Holds if `getName()` exists. - */ - final predicate hasName() { exists(this.getName()) } - - /** - * Gets the type bound list of this trait alias, if it exists. - */ - TypeBoundList getTypeBoundList() { - result = - Synth::convertTypeBoundListFromRaw(Synth::convertTraitAliasToRaw(this) - .(Raw::TraitAlias) - .getTypeBoundList()) - } - - /** - * Holds if `getTypeBoundList()` exists. - */ - final predicate hasTypeBoundList() { exists(this.getTypeBoundList()) } - - /** - * Gets the visibility of this trait alias, if it exists. - */ - Visibility getVisibility() { - result = - Synth::convertVisibilityFromRaw(Synth::convertTraitAliasToRaw(this) - .(Raw::TraitAlias) - .getVisibility()) - } - - /** - * Holds if `getVisibility()` exists. - */ - final predicate hasVisibility() { exists(this.getVisibility()) } - - /** - * Gets the where clause of this trait alias, if it exists. - */ - WhereClause getWhereClause() { - result = - Synth::convertWhereClauseFromRaw(Synth::convertTraitAliasToRaw(this) - .(Raw::TraitAlias) - .getWhereClause()) - } - - /** - * Holds if `getWhereClause()` exists. - */ - final predicate hasWhereClause() { exists(this.getWhereClause()) } - } -} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/TryBlockModifier.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/TryBlockModifier.qll new file mode 100644 index 000000000000..e058784736b8 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/TryBlockModifier.qll @@ -0,0 +1,44 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `TryBlockModifier`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.AstNodeImpl::Impl as AstNodeImpl +import codeql.rust.elements.TypeRepr + +/** + * INTERNAL: This module contains the fully generated definition of `TryBlockModifier` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TryBlockModifier` class directly. + * Use the subclass `TryBlockModifier`, where the following predicates are available. + */ + class TryBlockModifier extends Synth::TTryBlockModifier, AstNodeImpl::AstNode { + override string getAPrimaryQlClass() { result = "TryBlockModifier" } + + /** + * Holds if this try block modifier is try. + */ + predicate isTry() { Synth::convertTryBlockModifierToRaw(this).(Raw::TryBlockModifier).isTry() } + + /** + * Gets the type representation of this try block modifier, if it exists. + */ + TypeRepr getTypeRepr() { + result = + Synth::convertTypeReprFromRaw(Synth::convertTryBlockModifierToRaw(this) + .(Raw::TryBlockModifier) + .getTypeRepr()) + } + + /** + * Holds if `getTypeRepr()` exists. + */ + final predicate hasTypeRepr() { exists(this.getTypeRepr()) } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/UnsafeMeta.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/UnsafeMeta.qll new file mode 100644 index 000000000000..e701e6bb1fb8 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/UnsafeMeta.qll @@ -0,0 +1,42 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `UnsafeMeta`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.Meta +import codeql.rust.elements.internal.MetaImpl::Impl as MetaImpl + +/** + * INTERNAL: This module contains the fully generated definition of `UnsafeMeta` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::UnsafeMeta` class directly. + * Use the subclass `UnsafeMeta`, where the following predicates are available. + */ + class UnsafeMeta extends Synth::TUnsafeMeta, MetaImpl::Meta { + override string getAPrimaryQlClass() { result = "UnsafeMeta" } + + /** + * Holds if this unsafe meta is unsafe. + */ + predicate isUnsafe() { Synth::convertUnsafeMetaToRaw(this).(Raw::UnsafeMeta).isUnsafe() } + + /** + * Gets the meta of this unsafe meta, if it exists. + */ + Meta getMeta() { + result = + Synth::convertMetaFromRaw(Synth::convertUnsafeMetaToRaw(this).(Raw::UnsafeMeta).getMeta()) + } + + /** + * Holds if `getMeta()` exists. + */ + final predicate hasMeta() { exists(this.getMeta()) } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Variant.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Variant.qll index 7da69072953c..c37995f77a0f 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Variant.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Variant.qll @@ -8,7 +8,7 @@ private import codeql.rust.elements.internal.generated.Synth private import codeql.rust.elements.internal.generated.Raw import codeql.rust.elements.internal.AddressableImpl::Impl as AddressableImpl import codeql.rust.elements.Attr -import codeql.rust.elements.Expr +import codeql.rust.elements.ConstArg import codeql.rust.elements.FieldList import codeql.rust.elements.Name import codeql.rust.elements.Visibility @@ -51,17 +51,17 @@ module Generated { final int getNumberOfAttrs() { result = count(int i | exists(this.getAttr(i))) } /** - * Gets the discriminant of this variant, if it exists. + * Gets the const argument of this variant, if it exists. */ - Expr getDiscriminant() { + ConstArg getConstArg() { result = - Synth::convertExprFromRaw(Synth::convertVariantToRaw(this).(Raw::Variant).getDiscriminant()) + Synth::convertConstArgFromRaw(Synth::convertVariantToRaw(this).(Raw::Variant).getConstArg()) } /** - * Holds if `getDiscriminant()` exists. + * Holds if `getConstArg()` exists. */ - final predicate hasDiscriminant() { exists(this.getDiscriminant()) } + final predicate hasConstArg() { exists(this.getConstArg()) } /** * Gets the field list of this variant, if it exists. diff --git a/rust/ql/lib/rust.dbscheme b/rust/ql/lib/rust.dbscheme index 66a489863649..109496fd2f20 100644 --- a/rust/ql/lib/rust.dbscheme +++ b/rust/ql/lib/rust.dbscheme @@ -189,11 +189,13 @@ named_crates( | @assoc_item_list | @attr | @callable +| @cfg_predicate | @expr | @extern_item_list | @field_list | @for_binder | @format_args_arg +| @format_args_arg_name | @generic_arg | @generic_arg_list | @generic_param @@ -227,6 +229,7 @@ named_crates( | @struct_pat_field_list | @token | @token_tree +| @try_block_modifier | @tuple_field | @type_bound | @type_bound_list @@ -403,6 +406,11 @@ callable_attrs( int attr: @attr ref ); +@cfg_predicate = + @cfg_atom +| @cfg_composite +; + @expr = @array_expr_internal | @asm_expr @@ -476,16 +484,20 @@ format_args_args( unique int id: @format_args_arg ); +#keyset[id] +format_args_arg_arg_names( + int id: @format_args_arg ref, + int arg_name: @format_args_arg_name ref +); + #keyset[id] format_args_arg_exprs( int id: @format_args_arg ref, int expr: @expr ref ); -#keyset[id] format_args_arg_names( - int id: @format_args_arg ref, - int name: @name ref + unique int id: @format_args_arg_name ); @generic_arg = @@ -629,32 +641,14 @@ match_guard_conditions( int condition: @expr ref ); -meta( - unique int id: @meta -); - -#keyset[id] -meta_exprs( - int id: @meta ref, - int expr: @expr ref -); - -#keyset[id] -meta_is_unsafe( - int id: @meta ref -); - -#keyset[id] -meta_paths( - int id: @meta ref, - int path: @path ref -); - -#keyset[id] -meta_token_trees( - int id: @meta ref, - int token_tree: @token_tree ref -); +@meta = + @cfg_attr_meta +| @cfg_meta +| @key_value_meta +| @path_meta +| @token_tree_meta +| @unsafe_meta +; names( unique int id: @name @@ -938,9 +932,9 @@ struct_field_attrs( ); #keyset[id] -struct_field_defaults( +struct_field_default_vals( int id: @struct_field ref, - int default: @expr ref + int default_val: @const_arg ref ); #keyset[id] @@ -1014,6 +1008,21 @@ token_trees( unique int id: @token_tree ); +try_block_modifiers( + unique int id: @try_block_modifier +); + +#keyset[id] +try_block_modifier_is_try( + int id: @try_block_modifier ref +); + +#keyset[id] +try_block_modifier_type_reprs( + int id: @try_block_modifier ref, + int type_repr: @type_repr ref +); + tuple_fields( unique int id: @tuple_field ); @@ -1538,6 +1547,48 @@ cast_expr_type_reprs( int type_repr: @type_repr ref ); +cfg_atoms( + unique int id: @cfg_atom +); + +cfg_attr_meta( + unique int id: @cfg_attr_meta +); + +#keyset[id] +cfg_attr_meta_cfg_predicates( + int id: @cfg_attr_meta ref, + int cfg_predicate: @cfg_predicate ref +); + +#keyset[id, index] +cfg_attr_meta_metas( + int id: @cfg_attr_meta ref, + int index: int ref, + int meta: @meta ref +); + +cfg_composites( + unique int id: @cfg_composite +); + +#keyset[id, index] +cfg_composite_cfg_predicates( + int id: @cfg_composite ref, + int index: int ref, + int cfg_predicate: @cfg_predicate ref +); + +cfg_meta( + unique int id: @cfg_meta +); + +#keyset[id] +cfg_meta_cfg_predicates( + int id: @cfg_meta ref, + int cfg_predicate: @cfg_predicate ref +); + closure_exprs( unique int id: @closure_expr ); @@ -1897,7 +1948,6 @@ infer_type_reprs( | @macro_rules | @module | @trait -| @trait_alias | @type_item | @use ; @@ -1908,6 +1958,22 @@ item_attribute_macro_expansions( int attribute_macro_expansion: @macro_items ref ); +key_value_meta( + unique int id: @key_value_meta +); + +#keyset[id] +key_value_meta_exprs( + int id: @key_value_meta ref, + int expr: @expr ref +); + +#keyset[id] +key_value_meta_paths( + int id: @key_value_meta ref, + int path: @path ref +); + @labelable_expr = @block_expr | @looping_expr @@ -2235,6 +2301,16 @@ paren_type_repr_type_reprs( @path_expr ; +path_meta( + unique int id: @path_meta +); + +#keyset[id] +path_meta_paths( + int id: @path_meta ref, + int path: @path ref +); + path_pats( unique int id: @path_pat ); @@ -2517,6 +2593,22 @@ struct_pat_struct_pat_field_lists( int struct_pat_field_list: @struct_pat_field_list ref ); +token_tree_meta( + unique int id: @token_tree_meta +); + +#keyset[id] +token_tree_meta_paths( + int id: @token_tree_meta ref, + int path: @path ref +); + +#keyset[id] +token_tree_meta_token_trees( + int id: @token_tree_meta ref, + int token_tree: @token_tree ref +); + try_exprs( unique int id: @try_expr ); @@ -2646,6 +2738,21 @@ underscore_expr_attrs( int attr: @attr ref ); +unsafe_meta( + unique int id: @unsafe_meta +); + +#keyset[id] +unsafe_meta_is_unsafe( + int id: @unsafe_meta ref +); + +#keyset[id] +unsafe_meta_meta( + int id: @unsafe_meta ref, + int meta: @meta ref +); + variants( unique int id: @variant ); @@ -2658,9 +2765,9 @@ variant_attrs( ); #keyset[id] -variant_discriminants( +variant_const_args( int id: @variant ref, - int discriminant: @expr ref + int const_arg: @const_arg ref ); #keyset[id] @@ -2782,11 +2889,6 @@ block_expr_is_move( int id: @block_expr ref ); -#keyset[id] -block_expr_is_try( - int id: @block_expr ref -); - #keyset[id] block_expr_is_unsafe( int id: @block_expr ref @@ -2798,6 +2900,12 @@ block_expr_stmt_lists( int stmt_list: @stmt_list ref ); +#keyset[id] +block_expr_try_block_modifiers( + int id: @block_expr ref, + int try_block_modifier: @try_block_modifier ref +); + extern_blocks( unique int id: @extern_block ); @@ -3097,47 +3205,6 @@ trait_where_clauses( int where_clause: @where_clause ref ); -trait_aliases( - unique int id: @trait_alias -); - -#keyset[id, index] -trait_alias_attrs( - int id: @trait_alias ref, - int index: int ref, - int attr: @attr ref -); - -#keyset[id] -trait_alias_generic_param_lists( - int id: @trait_alias ref, - int generic_param_list: @generic_param_list ref -); - -#keyset[id] -trait_alias_names( - int id: @trait_alias ref, - int name: @name ref -); - -#keyset[id] -trait_alias_type_bound_lists( - int id: @trait_alias ref, - int type_bound_list: @type_bound_list ref -); - -#keyset[id] -trait_alias_visibilities( - int id: @trait_alias ref, - int visibility: @visibility ref -); - -#keyset[id] -trait_alias_where_clauses( - int id: @trait_alias ref, - int where_clause: @where_clause ref -); - @type_item = @enum | @struct diff --git a/rust/ql/test/extractor-tests/generated/.generated_tests.list b/rust/ql/test/extractor-tests/generated/.generated_tests.list index 73e2a1b767d3..ae1ef1424dcb 100644 --- a/rust/ql/test/extractor-tests/generated/.generated_tests.list +++ b/rust/ql/test/extractor-tests/generated/.generated_tests.list @@ -78,7 +78,6 @@ MatchArm/gen_match_arm.rs 4f4e717930729b2161b9cf9cd5e2b86b8e919204f5f7d4993d2c4e MatchArmList/gen_match_arm_list.rs 6dcb92591c86771d2aeb762e4274d3e61a7d6c1a42da3dbace1cbc545b474080 6dcb92591c86771d2aeb762e4274d3e61a7d6c1a42da3dbace1cbc545b474080 MatchExpr/gen_match_expr.rs 081c5d4c78cb71ccd13fb37a93d7f525267c51b179f44b5a22ca3297897002a0 081c5d4c78cb71ccd13fb37a93d7f525267c51b179f44b5a22ca3297897002a0 MatchGuard/gen_match_guard.rs f0e84a1f608c0361983c516a40216cea149620a36e0aed7ff39b0b7d77a9ab8a f0e84a1f608c0361983c516a40216cea149620a36e0aed7ff39b0b7d77a9ab8a -Meta/gen_meta.rs 39172a1f7dd02fa3149e7a1fc1dc1f135aa87c84057ee721cd9b373517042b25 39172a1f7dd02fa3149e7a1fc1dc1f135aa87c84057ee721cd9b373517042b25 MethodCallExpr/gen_method_call_expr.rs f696e63c5302f46dcac7bc2914fe899d029996d5064ffe8252cfa173a06f9dd3 f696e63c5302f46dcac7bc2914fe899d029996d5064ffe8252cfa173a06f9dd3 Module/gen_module.rs 815605a604fea1d9276684f8d6738a4e833eacad57ceeb27e2095fc450264fc1 815605a604fea1d9276684f8d6738a4e833eacad57ceeb27e2095fc450264fc1 Name/gen_name.rs 8a7fe65ee632a47d12eaa313e7248ac9210e5a381e9522499ca68f94c39e72c0 8a7fe65ee632a47d12eaa313e7248ac9210e5a381e9522499ca68f94c39e72c0 @@ -125,7 +124,6 @@ StructPatField/gen_struct_pat_field.rs dfdab8cef7dcfee40451744c8d2c7c4ae67fdb8bd StructPatFieldList/gen_struct_pat_field_list.rs 06c0e56c78a6b28909d94d9519ba41ac8a6005741f82b947ef14db51e8cbebd0 06c0e56c78a6b28909d94d9519ba41ac8a6005741f82b947ef14db51e8cbebd0 TokenTree/gen_token_tree.rs 3fdc9a36a1870bb2bedf66c8fe37d368f4ac18488e7118b86e3979d3957a8f94 3fdc9a36a1870bb2bedf66c8fe37d368f4ac18488e7118b86e3979d3957a8f94 Trait/gen_trait.rs bac694993e224f9c6dd86cfb28c54846ae1b3bae45a1e58d3149c884184487ea bac694993e224f9c6dd86cfb28c54846ae1b3bae45a1e58d3149c884184487ea -TraitAlias/gen_trait_alias.rs 425d78a7cb87db7737ceaf713c9a62e0411537374d1bc58c5b1fb80cc25732c9 425d78a7cb87db7737ceaf713c9a62e0411537374d1bc58c5b1fb80cc25732c9 TryExpr/gen_try_expr.rs f60198181a423661f4ed1bf6f98d475f40ada190b7b5fc6af97aa5e45ca29a1e f60198181a423661f4ed1bf6f98d475f40ada190b7b5fc6af97aa5e45ca29a1e TupleExpr/gen_tuple_expr.rs 27e56846b3f08c37c8a345169c2a532b2023d231d46a5bdf586bbc6d8fb36a01 27e56846b3f08c37c8a345169c2a532b2023d231d46a5bdf586bbc6d8fb36a01 TupleField/gen_tuple_field.rs 20507753ddb979a33d0e568ae5ebe466f039e7ab7b8f2e6ce15b28b3e4450615 20507753ddb979a33d0e568ae5ebe466f039e7ab7b8f2e6ce15b28b3e4450615 diff --git a/rust/ql/test/extractor-tests/generated/.gitattributes b/rust/ql/test/extractor-tests/generated/.gitattributes index 660ad73721ab..7ac64a528a53 100644 --- a/rust/ql/test/extractor-tests/generated/.gitattributes +++ b/rust/ql/test/extractor-tests/generated/.gitattributes @@ -80,7 +80,6 @@ /MatchArmList/gen_match_arm_list.rs linguist-generated /MatchExpr/gen_match_expr.rs linguist-generated /MatchGuard/gen_match_guard.rs linguist-generated -/Meta/gen_meta.rs linguist-generated /MethodCallExpr/gen_method_call_expr.rs linguist-generated /Module/gen_module.rs linguist-generated /Name/gen_name.rs linguist-generated @@ -127,7 +126,6 @@ /StructPatFieldList/gen_struct_pat_field_list.rs linguist-generated /TokenTree/gen_token_tree.rs linguist-generated /Trait/gen_trait.rs linguist-generated -/TraitAlias/gen_trait_alias.rs linguist-generated /TryExpr/gen_try_expr.rs linguist-generated /TupleExpr/gen_tuple_expr.rs linguist-generated /TupleField/gen_tuple_field.rs linguist-generated diff --git a/rust/ql/test/extractor-tests/generated/BlockExpr/BlockExpr.ql b/rust/ql/test/extractor-tests/generated/BlockExpr/BlockExpr.ql index 4b69689bb913..b93c97029d36 100644 --- a/rust/ql/test/extractor-tests/generated/BlockExpr/BlockExpr.ql +++ b/rust/ql/test/extractor-tests/generated/BlockExpr/BlockExpr.ql @@ -4,8 +4,8 @@ import TestUtils query predicate instances( BlockExpr x, string isAsync__label, string isAsync, string isConst__label, string isConst, - string isGen__label, string isGen, string isMove__label, string isMove, string isTry__label, - string isTry, string isUnsafe__label, string isUnsafe + string isGen__label, string isGen, string isMove__label, string isMove, string isUnsafe__label, + string isUnsafe ) { toBeTested(x) and not x.isUnknown() and @@ -17,8 +17,6 @@ query predicate instances( (if x.isGen() then isGen = "yes" else isGen = "no") and isMove__label = "isMove:" and (if x.isMove() then isMove = "yes" else isMove = "no") and - isTry__label = "isTry:" and - (if x.isTry() then isTry = "yes" else isTry = "no") and isUnsafe__label = "isUnsafe:" and if x.isUnsafe() then isUnsafe = "yes" else isUnsafe = "no" } @@ -34,3 +32,7 @@ query predicate getAttr(BlockExpr x, int index, Attr getAttr) { query predicate getStmtList(BlockExpr x, StmtList getStmtList) { toBeTested(x) and not x.isUnknown() and getStmtList = x.getStmtList() } + +query predicate getTryBlockModifier(BlockExpr x, TryBlockModifier getTryBlockModifier) { + toBeTested(x) and not x.isUnknown() and getTryBlockModifier = x.getTryBlockModifier() +} diff --git a/rust/ql/test/extractor-tests/generated/CfgAtom/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/CfgAtom/MISSING_SOURCE.txt new file mode 100644 index 000000000000..7f96b17b1f3c --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/CfgAtom/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by codegen, do not edit + +After a source file is added in this directory and codegen is run again, test queries +will appear and this file will be deleted diff --git a/rust/ql/test/extractor-tests/generated/CfgAttrMeta/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/CfgAttrMeta/MISSING_SOURCE.txt new file mode 100644 index 000000000000..7f96b17b1f3c --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/CfgAttrMeta/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by codegen, do not edit + +After a source file is added in this directory and codegen is run again, test queries +will appear and this file will be deleted diff --git a/rust/ql/test/extractor-tests/generated/CfgComposite/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/CfgComposite/MISSING_SOURCE.txt new file mode 100644 index 000000000000..7f96b17b1f3c --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/CfgComposite/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by codegen, do not edit + +After a source file is added in this directory and codegen is run again, test queries +will appear and this file will be deleted diff --git a/rust/ql/test/extractor-tests/generated/CfgMeta/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/CfgMeta/MISSING_SOURCE.txt new file mode 100644 index 000000000000..7f96b17b1f3c --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/CfgMeta/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by codegen, do not edit + +After a source file is added in this directory and codegen is run again, test queries +will appear and this file will be deleted diff --git a/rust/ql/test/extractor-tests/generated/FormatArgsArgName/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/FormatArgsArgName/MISSING_SOURCE.txt new file mode 100644 index 000000000000..7f96b17b1f3c --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/FormatArgsArgName/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by codegen, do not edit + +After a source file is added in this directory and codegen is run again, test queries +will appear and this file will be deleted diff --git a/rust/ql/test/extractor-tests/generated/FormatArgsExpr/FormatArgsArg.ql b/rust/ql/test/extractor-tests/generated/FormatArgsExpr/FormatArgsArg.ql index d3931f985113..d445d40234d6 100644 --- a/rust/ql/test/extractor-tests/generated/FormatArgsExpr/FormatArgsArg.ql +++ b/rust/ql/test/extractor-tests/generated/FormatArgsExpr/FormatArgsArg.ql @@ -4,10 +4,10 @@ import TestUtils query predicate instances(FormatArgsArg x) { toBeTested(x) and not x.isUnknown() } -query predicate getExpr(FormatArgsArg x, Expr getExpr) { - toBeTested(x) and not x.isUnknown() and getExpr = x.getExpr() +query predicate getArgName(FormatArgsArg x, FormatArgsArgName getArgName) { + toBeTested(x) and not x.isUnknown() and getArgName = x.getArgName() } -query predicate getName(FormatArgsArg x, Name getName) { - toBeTested(x) and not x.isUnknown() and getName = x.getName() +query predicate getExpr(FormatArgsArg x, Expr getExpr) { + toBeTested(x) and not x.isUnknown() and getExpr = x.getExpr() } diff --git a/rust/ql/test/extractor-tests/generated/KeyValueMeta/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/KeyValueMeta/MISSING_SOURCE.txt new file mode 100644 index 000000000000..7f96b17b1f3c --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/KeyValueMeta/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by codegen, do not edit + +After a source file is added in this directory and codegen is run again, test queries +will appear and this file will be deleted diff --git a/rust/ql/test/extractor-tests/generated/Meta/Meta.ql b/rust/ql/test/extractor-tests/generated/Meta/Meta.ql deleted file mode 100644 index dd054ea7e993..000000000000 --- a/rust/ql/test/extractor-tests/generated/Meta/Meta.ql +++ /dev/null @@ -1,22 +0,0 @@ -// generated by codegen, do not edit -import codeql.rust.elements -import TestUtils - -query predicate instances(Meta x, string isUnsafe__label, string isUnsafe) { - toBeTested(x) and - not x.isUnknown() and - isUnsafe__label = "isUnsafe:" and - if x.isUnsafe() then isUnsafe = "yes" else isUnsafe = "no" -} - -query predicate getExpr(Meta x, Expr getExpr) { - toBeTested(x) and not x.isUnknown() and getExpr = x.getExpr() -} - -query predicate getPath(Meta x, Path getPath) { - toBeTested(x) and not x.isUnknown() and getPath = x.getPath() -} - -query predicate getTokenTree(Meta x, TokenTree getTokenTree) { - toBeTested(x) and not x.isUnknown() and getTokenTree = x.getTokenTree() -} diff --git a/rust/ql/test/extractor-tests/generated/Meta/gen_meta.rs b/rust/ql/test/extractor-tests/generated/Meta/gen_meta.rs deleted file mode 100644 index 104540323f95..000000000000 --- a/rust/ql/test/extractor-tests/generated/Meta/gen_meta.rs +++ /dev/null @@ -1,14 +0,0 @@ -// generated by codegen, do not edit - -fn test_meta() -> () { - // A meta item in an attribute. - // - // For example: - #[unsafe(lint::name = "reason_for_bypass")] - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - #[deprecated(since = "1.2.0", note = "Use bar instead", unsafe=true)] - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - fn foo() { - // ... - } -} diff --git a/rust/ql/test/extractor-tests/generated/PathMeta/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/PathMeta/MISSING_SOURCE.txt new file mode 100644 index 000000000000..7f96b17b1f3c --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/PathMeta/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by codegen, do not edit + +After a source file is added in this directory and codegen is run again, test queries +will appear and this file will be deleted diff --git a/rust/ql/test/extractor-tests/generated/StructField/StructField.ql b/rust/ql/test/extractor-tests/generated/StructField/StructField.ql index 773f282e36b3..6db753a5808b 100644 --- a/rust/ql/test/extractor-tests/generated/StructField/StructField.ql +++ b/rust/ql/test/extractor-tests/generated/StructField/StructField.ql @@ -13,8 +13,8 @@ query predicate getAttr(StructField x, int index, Attr getAttr) { toBeTested(x) and not x.isUnknown() and getAttr = x.getAttr(index) } -query predicate getDefault(StructField x, Expr getDefault) { - toBeTested(x) and not x.isUnknown() and getDefault = x.getDefault() +query predicate getDefaultVal(StructField x, ConstArg getDefaultVal) { + toBeTested(x) and not x.isUnknown() and getDefaultVal = x.getDefaultVal() } query predicate getName(StructField x, Name getName) { diff --git a/rust/ql/test/extractor-tests/generated/TokenTreeMeta/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/TokenTreeMeta/MISSING_SOURCE.txt new file mode 100644 index 000000000000..7f96b17b1f3c --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/TokenTreeMeta/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by codegen, do not edit + +After a source file is added in this directory and codegen is run again, test queries +will appear and this file will be deleted diff --git a/rust/ql/test/extractor-tests/generated/TraitAlias/TraitAlias.ql b/rust/ql/test/extractor-tests/generated/TraitAlias/TraitAlias.ql deleted file mode 100644 index c0fee75678af..000000000000 --- a/rust/ql/test/extractor-tests/generated/TraitAlias/TraitAlias.ql +++ /dev/null @@ -1,35 +0,0 @@ -// generated by codegen, do not edit -import codeql.rust.elements -import TestUtils - -query predicate instances(TraitAlias x) { toBeTested(x) and not x.isUnknown() } - -query predicate getAttributeMacroExpansion(TraitAlias x, MacroItems getAttributeMacroExpansion) { - toBeTested(x) and - not x.isUnknown() and - getAttributeMacroExpansion = x.getAttributeMacroExpansion() -} - -query predicate getAttr(TraitAlias x, int index, Attr getAttr) { - toBeTested(x) and not x.isUnknown() and getAttr = x.getAttr(index) -} - -query predicate getGenericParamList(TraitAlias x, GenericParamList getGenericParamList) { - toBeTested(x) and not x.isUnknown() and getGenericParamList = x.getGenericParamList() -} - -query predicate getName(TraitAlias x, Name getName) { - toBeTested(x) and not x.isUnknown() and getName = x.getName() -} - -query predicate getTypeBoundList(TraitAlias x, TypeBoundList getTypeBoundList) { - toBeTested(x) and not x.isUnknown() and getTypeBoundList = x.getTypeBoundList() -} - -query predicate getVisibility(TraitAlias x, Visibility getVisibility) { - toBeTested(x) and not x.isUnknown() and getVisibility = x.getVisibility() -} - -query predicate getWhereClause(TraitAlias x, WhereClause getWhereClause) { - toBeTested(x) and not x.isUnknown() and getWhereClause = x.getWhereClause() -} diff --git a/rust/ql/test/extractor-tests/generated/TraitAlias/gen_trait_alias.rs b/rust/ql/test/extractor-tests/generated/TraitAlias/gen_trait_alias.rs deleted file mode 100644 index 6fa75a8a08d4..000000000000 --- a/rust/ql/test/extractor-tests/generated/TraitAlias/gen_trait_alias.rs +++ /dev/null @@ -1,8 +0,0 @@ -// generated by codegen, do not edit - -fn test_trait_alias() -> () { - // A trait alias. - // - // For example: - trait Foo = Bar + Baz; -} diff --git a/rust/ql/test/extractor-tests/generated/TryBlockModifier/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/TryBlockModifier/MISSING_SOURCE.txt new file mode 100644 index 000000000000..7f96b17b1f3c --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/TryBlockModifier/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by codegen, do not edit + +After a source file is added in this directory and codegen is run again, test queries +will appear and this file will be deleted diff --git a/rust/ql/test/extractor-tests/generated/UnsafeMeta/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/UnsafeMeta/MISSING_SOURCE.txt new file mode 100644 index 000000000000..7f96b17b1f3c --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/UnsafeMeta/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// generated by codegen, do not edit + +After a source file is added in this directory and codegen is run again, test queries +will appear and this file will be deleted diff --git a/rust/ql/test/extractor-tests/generated/Variant/Variant.ql b/rust/ql/test/extractor-tests/generated/Variant/Variant.ql index 61c142671163..b5e63ff3ceff 100644 --- a/rust/ql/test/extractor-tests/generated/Variant/Variant.ql +++ b/rust/ql/test/extractor-tests/generated/Variant/Variant.ql @@ -8,8 +8,8 @@ query predicate getAttr(Variant x, int index, Attr getAttr) { toBeTested(x) and not x.isUnknown() and getAttr = x.getAttr(index) } -query predicate getDiscriminant(Variant x, Expr getDiscriminant) { - toBeTested(x) and not x.isUnknown() and getDiscriminant = x.getDiscriminant() +query predicate getConstArg(Variant x, ConstArg getConstArg) { + toBeTested(x) and not x.isUnknown() and getConstArg = x.getConstArg() } query predicate getFieldList(Variant x, FieldList getFieldList) { diff --git a/rust/schema/annotations.py b/rust/schema/annotations.py index 6fb45ae05b9a..9443b38b93d3 100644 --- a/rust/schema/annotations.py +++ b/rust/schema/annotations.py @@ -1936,18 +1936,6 @@ class _: """ -@annotate(TraitAlias) -class _: - """ - A trait alias. - - For example: - ```rust - trait Foo = Bar + Baz; - ``` - """ - - @annotate(TryExpr, cfg=True) class _: """ diff --git a/rust/schema/ast.py b/rust/schema/ast.py index 5d8a7393ea6f..bfa9cdad55b1 100644 --- a/rust/schema/ast.py +++ b/rust/schema/ast.py @@ -14,6 +14,9 @@ class AsmPiece(AstNode, ): class AssocItem(AstNode, ): pass +class CfgPredicate(AstNode, ): + pass + class Expr(AstNode, ): pass @@ -29,6 +32,9 @@ class GenericArg(AstNode, ): class GenericParam(AstNode, ): pass +class Meta(AstNode, ): + pass + class Pat(AstNode, ): pass @@ -139,10 +145,10 @@ class BlockExpr(Expr, ): is_const: predicate is_gen: predicate is_move: predicate - is_try: predicate is_unsafe: predicate label: optional["Label"] | child stmt_list: optional["StmtList"] | child + try_block_modifier: optional["TryBlockModifier"] | child class BoxPat(Pat, ): pat: optional["Pat"] | child @@ -162,6 +168,19 @@ class CastExpr(Expr, ): expr: optional["Expr"] | child type_repr: optional["TypeRepr"] | child +class CfgAtom(CfgPredicate, ): + pass + +class CfgAttrMeta(Meta, ): + cfg_predicate: optional["CfgPredicate"] | child + metas: list["Meta"] | child + +class CfgComposite(CfgPredicate, ): + cfg_predicates: list["CfgPredicate"] | child + +class CfgMeta(Meta, ): + cfg_predicate: optional["CfgPredicate"] | child + class ClosureExpr(Expr, ): attrs: list["Attr"] | child closure_body: optional["Expr"] | child @@ -277,8 +296,11 @@ class ForTypeRepr(TypeRepr, ): type_repr: optional["TypeRepr"] | child class FormatArgsArg(AstNode, ): + arg_name: optional["FormatArgsArgName"] | child expr: optional["Expr"] | child - name: optional["Name"] | child + +class FormatArgsArgName(AstNode, ): + pass class FormatArgsExpr(Expr, ): args: list["FormatArgsArg"] | child @@ -331,6 +353,10 @@ class ItemList(AstNode, ): attrs: list["Attr"] | child items: list["Item"] | child +class KeyValueMeta(Meta, ): + expr: optional["Expr"] | child + path: optional["Path"] | child + class Label(AstNode, ): lifetime: optional["Lifetime"] | child @@ -420,12 +446,6 @@ class MatchExpr(Expr, ): class MatchGuard(AstNode, ): condition: optional["Expr"] | child -class Meta(AstNode, ): - expr: optional["Expr"] | child - is_unsafe: predicate - path: optional["Path"] | child - token_tree: optional["TokenTree"] | child - class MethodCallExpr(Expr, ): arg_list: optional["ArgList"] | child attrs: list["Attr"] | child @@ -486,6 +506,9 @@ class PathExpr(Expr, ): attrs: list["Attr"] | child path: optional["Path"] | child +class PathMeta(Meta, ): + path: optional["Path"] | child + class PathPat(Pat, ): path: optional["Path"] | child @@ -536,7 +559,7 @@ class StructExprFieldList(AstNode, ): class StructField(AstNode, ): attrs: list["Attr"] | child - default: optional["Expr"] | child + default_val: optional["ConstArg"] | child is_unsafe: predicate name: optional["Name"] | child type_repr: optional["TypeRepr"] | child @@ -634,6 +657,10 @@ class Struct(TypeItem, Item, ): class TokenTree(AstNode, ): pass +class TokenTreeMeta(Meta, ): + path: optional["Path"] | child + token_tree: optional["TokenTree"] | child + class Trait(Item, ): assoc_item_list: optional["AssocItemList"] | child attrs: list["Attr"] | child @@ -645,13 +672,9 @@ class Trait(Item, ): visibility: optional["Visibility"] | child where_clause: optional["WhereClause"] | child -class TraitAlias(Item, ): - attrs: list["Attr"] | child - generic_param_list: optional["GenericParamList"] | child - name: optional["Name"] | child - type_bound_list: optional["TypeBoundList"] | child - visibility: optional["Visibility"] | child - where_clause: optional["WhereClause"] | child +class TryBlockModifier(AstNode, ): + is_try: predicate + type_repr: optional["TypeRepr"] | child class TryExpr(Expr, ): attrs: list["Attr"] | child @@ -720,6 +743,10 @@ class Union(TypeItem, Item, ): visibility: optional["Visibility"] | child where_clause: optional["WhereClause"] | child +class UnsafeMeta(Meta, ): + is_unsafe: predicate + meta: optional["Meta"] | child + class Use(Item, ): attrs: list["Attr"] | child use_tree: optional["UseTree"] | child @@ -739,7 +766,7 @@ class UseTreeList(AstNode, ): class Variant(AstNode, ): attrs: list["Attr"] | child - discriminant: optional["Expr"] | child + const_arg: optional["ConstArg"] | child field_list: optional["FieldList"] | child name: optional["Name"] | child visibility: optional["Visibility"] | child From ce360c4f17d5345c5a210f6f55b60e98bd38d3f2 Mon Sep 17 00:00:00 2001 From: Taus Date: Wed, 15 Apr 2026 13:26:54 +0000 Subject: [PATCH 004/190] Rust: adapt extractor to rust-analyzer 0.0.328 API changes --- rust/extractor/src/config.rs | 8 +++++--- rust/extractor/src/crate_graph.rs | 4 ++-- rust/extractor/src/rust_analyzer.rs | 9 ++++----- rust/extractor/src/translate/base.rs | 30 +++++++++++++++++++++++----- 4 files changed, 36 insertions(+), 15 deletions(-) diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index 86d3ab6272c8..f887f85906d5 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -14,7 +14,7 @@ use ra_ap_ide_db::FxHashMap; use ra_ap_intern::Symbol; use ra_ap_load_cargo::{LoadCargoConfig, ProcMacroServerChoice}; use ra_ap_paths::{AbsPath, AbsPathBuf, Utf8PathBuf}; -use ra_ap_project_model::{CargoConfig, CargoFeatures, CfgOverrides, RustLibSource, Sysroot}; +use ra_ap_project_model::{CargoConfig, CargoFeatures, CfgOverrides, RustLibSource, Sysroot, TargetDirectoryConfig}; use rust_extractor_macros::extractor_cli_config; use serde::{Deserialize, Serialize}; use std::collections::HashSet; @@ -171,12 +171,12 @@ impl Config { .iter() .map(|p| join_path_buf(dir, p)) .collect(), - target_dir: Utf8PathBuf::from_path_buf( + target_dir_config: Utf8PathBuf::from_path_buf( self.cargo_target_dir .clone() .unwrap_or_else(|| self.scratch_dir.join("target")), ) - .ok(), + .map_or(TargetDirectoryConfig::None, TargetDirectoryConfig::Directory), features: self.cargo_features(), target: self.cargo_target.clone(), cfg_overrides: to_cfg_overrides(&self.cargo_cfg_overrides), @@ -192,6 +192,8 @@ impl Config { load_out_dirs_from_check: true, with_proc_macro_server: self.proc_macro_server_choice(dir), prefill_caches: false, + num_worker_threads: 0, + proc_macro_processes: 0, }, ) } diff --git a/rust/extractor/src/crate_graph.rs b/rust/extractor/src/crate_graph.rs index 87f8e4e17b41..7a1505347d68 100644 --- a/rust/extractor/src/crate_graph.rs +++ b/rust/extractor/src/crate_graph.rs @@ -1,7 +1,7 @@ use crate::{generated, trap}; use itertools::Itertools; -use ra_ap_base_db::{Crate, RootQueryDb}; +use ra_ap_base_db::Crate; use ra_ap_cfg::CfgAtom; use ra_ap_ide_db::RootDatabase; use ra_ap_vfs::{Vfs, VfsPath}; @@ -12,7 +12,7 @@ use std::{cmp::Ordering, collections::HashMap, path::PathBuf}; use tracing::error; pub fn extract_crate_graph(trap_provider: &trap::TrapFileProvider, db: &RootDatabase, vfs: &Vfs) { - let crate_graph = db.all_crates(); + let crate_graph = ra_ap_base_db::all_crates(db); // According to the documentation of `CrateGraph`: // Each crate is defined by the `FileId` of its root module, the set of enabled diff --git a/rust/extractor/src/rust_analyzer.rs b/rust/extractor/src/rust_analyzer.rs index 9d3769a24040..9811bd39ce5b 100644 --- a/rust/extractor/src/rust_analyzer.rs +++ b/rust/extractor/src/rust_analyzer.rs @@ -1,6 +1,6 @@ use crate::trap; use itertools::Itertools; -use ra_ap_base_db::{EditionedFileId, FileText, RootQueryDb, SourceDatabase}; +use ra_ap_base_db::{EditionedFileId, FileText, SourceDatabase}; use ra_ap_hir::Semantics; use ra_ap_ide_db::RootDatabase; use ra_ap_load_cargo::{LoadCargoConfig, load_workspace_at}; @@ -115,7 +115,7 @@ impl<'a> RustAnalyzer<'a> { "no text available for the file in the project", )), )?; - let editioned_file_id = semantics.attach_first_edition(file_id).ok_or( + let editioned_file_id = semantics.attach_first_edition_opt(file_id).ok_or( RustAnalyzerNoSemantics::warning("failed to determine rust edition"), )?; Ok((semantics, editioned_file_id, input)) @@ -127,9 +127,8 @@ impl<'a> RustAnalyzer<'a> { match self.get_file_data(path) { Ok((semantics, file_id, input)) => { let source_file = semantics.parse(file_id); - let errors = semantics - .db - .parse_errors(file_id) + let errors = file_id + .parse_errors(semantics.db) .into_iter() .flat_map(|x| x.to_vec()) .collect(); diff --git a/rust/extractor/src/translate/base.rs b/rust/extractor/src/translate/base.rs index 94d8545bb15f..890aee7c12fb 100644 --- a/rust/extractor/src/translate/base.rs +++ b/rust/extractor/src/translate/base.rs @@ -465,9 +465,27 @@ impl<'a> Translator<'a> { pub(crate) fn should_be_excluded(&self, item: &impl ast::HasAttrs) -> bool { self.semantics.is_some_and(|sema| { item.attrs().any(|attr| { - attr.as_simple_call().is_some_and(|(name, tokens)| { - name == "cfg" && sema.check_cfg_attr(&tokens) == Some(false) - }) + let meta = match attr.meta() { + Some(meta) => meta, + None => return false, + }; + let cfg_meta = match ast::CfgMeta::cast(meta.syntax().clone()) { + Some(cfg_meta) => cfg_meta, + None => return false, + }; + let cfg_predicate = match cfg_meta.cfg_predicate() { + Some(pred) => pred, + None => return false, + }; + let cfg_expr = ra_ap_cfg::CfgExpr::parse_from_ast(cfg_predicate); + let file_id = sema.hir_file_for(item.syntax()); + let krate = match file_id.file_id().and_then(|fid| { + sema.file_to_module_defs(fid.file_id(sema.db)).next() + }) { + Some(module) => module.krate(sema.db), + None => return false, + }; + krate.cfg(sema.db).check(&cfg_expr) == Some(false) }) }) } @@ -551,9 +569,9 @@ impl<'a> Translator<'a> { is_const: false, is_gen: false, is_move: false, - is_try: false, is_unsafe: false, stmt_list: Some(stmt_list), + try_block_modifier: None, }); self.emit_location(label, node); self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); @@ -695,7 +713,9 @@ impl<'a> Translator<'a> { let node: ast::Adt = node.clone().into(); let expansions = node .attrs() - .filter_map(|attr| semantics.expand_derive_macro(&attr)) + .filter_map(|attr| attr.meta()) + .filter_map(|meta| semantics.expand_derive_macro(&meta)) + .flatten() .flatten() .filter_map(|expanded| self.process_item_macro_expansion(&node, expanded)) .collect::>(); From 35fc6fbd22e4453b49da746cde2d5ad252b24c7b Mon Sep 17 00:00:00 2001 From: Taus Date: Wed, 15 Apr 2026 13:29:44 +0000 Subject: [PATCH 005/190] Rust: update toolchain to 1.91 and apply lint fixes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- rust-toolchain.toml | 2 +- rust/ast-generator/src/main.rs | 5 ++--- rust/extractor/src/config.rs | 9 +++++++-- rust/extractor/src/main.rs | 10 ++++------ rust/extractor/src/translate/base.rs | 17 ++++++++--------- 5 files changed, 22 insertions(+), 21 deletions(-) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 242a1af3ed51..60d093c30021 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -5,6 +5,6 @@ # reflected by `MODULE.bazel` in this repository). [toolchain] -channel = "1.88" +channel = "1.91" profile = "minimal" components = [ "clippy", "rustfmt" ] diff --git a/rust/ast-generator/src/main.rs b/rust/ast-generator/src/main.rs index fe6865a172fb..74fe9db9a7ed 100644 --- a/rust/ast-generator/src/main.rs +++ b/rust/ast-generator/src/main.rs @@ -308,14 +308,13 @@ fn write_schema( fn get_fields(node: &AstNodeSrc) -> Vec { let mut result = Vec::new(); for field in &node.fields { - if let Field::Token { token, .. } = field { - if should_predicate_be_extracted(token) { + if let Field::Token { token, .. } = field + && should_predicate_be_extracted(token) { result.push(FieldInfo { name: format!("is_{token}"), ty: FieldType::Predicate, }); } - } } result.extend(get_additional_fields(&node.name)); diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index f887f85906d5..0e682bbb06ef 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -14,7 +14,9 @@ use ra_ap_ide_db::FxHashMap; use ra_ap_intern::Symbol; use ra_ap_load_cargo::{LoadCargoConfig, ProcMacroServerChoice}; use ra_ap_paths::{AbsPath, AbsPathBuf, Utf8PathBuf}; -use ra_ap_project_model::{CargoConfig, CargoFeatures, CfgOverrides, RustLibSource, Sysroot, TargetDirectoryConfig}; +use ra_ap_project_model::{ + CargoConfig, CargoFeatures, CfgOverrides, RustLibSource, Sysroot, TargetDirectoryConfig, +}; use rust_extractor_macros::extractor_cli_config; use serde::{Deserialize, Serialize}; use std::collections::HashSet; @@ -176,7 +178,10 @@ impl Config { .clone() .unwrap_or_else(|| self.scratch_dir.join("target")), ) - .map_or(TargetDirectoryConfig::None, TargetDirectoryConfig::Directory), + .map_or( + TargetDirectoryConfig::None, + TargetDirectoryConfig::Directory, + ), features: self.cargo_features(), target: self.cargo_target.clone(), cfg_overrides: to_cfg_overrides(&self.cargo_cfg_overrides), diff --git a/rust/extractor/src/main.rs b/rust/extractor/src/main.rs index e90badc63cd0..a838ebbafed1 100644 --- a/rust/extractor/src/main.rs +++ b/rust/extractor/src/main.rs @@ -80,8 +80,8 @@ impl<'a> Extractor<'a> { translator.emit_parse_error(&ast, &err); } let no_location = (LineCol { line: 0, col: 0 }, LineCol { line: 0, col: 0 }); - if let Err(RustAnalyzerNoSemantics { severity, reason }) = semantics_info { - if !reason.is_empty() { + if let Err(RustAnalyzerNoSemantics { severity, reason }) = semantics_info + && !reason.is_empty() { let message = format!("semantic analyzer unavailable ({reason})"); let full_message = format!("{message}: macro expansion will be skipped."); translator.emit_diagnostic( @@ -92,7 +92,6 @@ impl<'a> Extractor<'a> { no_location, ); } - } translator.emit_source_file(&ast); translator.emit_truncated_diagnostics_message(); translator.trap.commit().unwrap_or_else(|err| { @@ -300,8 +299,8 @@ fn main() -> anyhow::Result<()> { }; } for (file_id, file) in vfs.iter() { - if let Some(file) = file.as_path().map(<_ as AsRef>::as_ref) { - if file.extension().is_some_and(|ext| ext == "rs") + if let Some(file) = file.as_path().map(<_ as AsRef>::as_ref) + && file.extension().is_some_and(|ext| ext == "rs") && processed_files.insert(file.to_owned()) && db .source_root(db.file_source_root(file_id).source_root_id(db)) @@ -311,7 +310,6 @@ fn main() -> anyhow::Result<()> { extractor.extract_with_semantics(file, &semantics, vfs, library_mode); extractor.archiver.archive(file); } - } } } else { for file in files { diff --git a/rust/extractor/src/translate/base.rs b/rust/extractor/src/translate/base.rs index 890aee7c12fb..fa0cf0e40c71 100644 --- a/rust/extractor/src/translate/base.rs +++ b/rust/extractor/src/translate/base.rs @@ -215,14 +215,13 @@ impl<'a> Translator<'a> { ) { let parent_range = parent.syntax().text_range(); let token_range = token.text_range(); - if let Some(clipped_range) = token_range.intersect(parent_range) { - if let Some(parent_range2) = self.text_range_for_node(parent) { + if let Some(clipped_range) = token_range.intersect(parent_range) + && let Some(parent_range2) = self.text_range_for_node(parent) { let token_range = clipped_range + parent_range2.start() - parent_range.start(); if let Some((start, end)) = self.location(token_range) { self.trap.emit_location(self.label, label, start, end) } } - } } pub fn emit_diagnostic( &mut self, @@ -332,8 +331,8 @@ impl<'a> Translator<'a> { children: SyntaxElementChildren, ) { for child in children { - if let NodeOrToken::Token(token) = child { - if token.kind() == SyntaxKind::COMMENT { + if let NodeOrToken::Token(token) = child + && token.kind() == SyntaxKind::COMMENT { let label = self.trap.emit(generated::Comment { id: TrapId::Star, parent: parent_label, @@ -341,7 +340,6 @@ impl<'a> Translator<'a> { }); self.emit_location_token(label.into(), parent_node, &token); } - } } } fn emit_macro_expansion_parse_errors( @@ -479,9 +477,10 @@ impl<'a> Translator<'a> { }; let cfg_expr = ra_ap_cfg::CfgExpr::parse_from_ast(cfg_predicate); let file_id = sema.hir_file_for(item.syntax()); - let krate = match file_id.file_id().and_then(|fid| { - sema.file_to_module_defs(fid.file_id(sema.db)).next() - }) { + let krate = match file_id + .file_id() + .and_then(|fid| sema.file_to_module_defs(fid.file_id(sema.db)).next()) + { Some(module) => module.krate(sema.db), None => return false, }; From 68ab2fb7383106f41edbe0362f657e9460a84c7d Mon Sep 17 00:00:00 2001 From: Taus Date: Wed, 15 Apr 2026 14:20:38 +0000 Subject: [PATCH 006/190] Rust: fix QL references for schema changes and add upgrade/downgrade scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix Meta usage: Meta is now abstract with subtypes (PathMeta, KeyValueMeta, TokenTreeMeta, etc.) - Fix FormatArgsArg: getName() replaced by getArgName() returning FormatArgsArgName - Add upgrade script (old → new) and downgrade script (new → old) - Update Definitions.qll, PathResolution.qll, BadCtorInitialization.ql, FormatTemplateVariableAccessConstructor.qll Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../old.dbscheme | 3623 +++++++++++++++++ .../rust.dbscheme | 3556 ++++++++++++++++ .../upgrade.properties | 29 + ...ormatTemplateVariableAccessConstructor.qll | 6 +- .../rust/elements/internal/MetaImpl.qll | 1 - .../lib/codeql/rust/internal/Definitions.qll | 18 +- .../codeql/rust/internal/PathResolution.qll | 24 +- .../old.dbscheme | 3556 ++++++++++++++++ .../rust.dbscheme | 3623 +++++++++++++++++ .../upgrade.properties | 19 + .../security/CWE-696/BadCtorInitialization.ql | 13 +- 11 files changed, 14449 insertions(+), 19 deletions(-) create mode 100644 rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/old.dbscheme create mode 100644 rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/rust.dbscheme create mode 100644 rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties create mode 100644 rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/old.dbscheme create mode 100644 rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/rust.dbscheme create mode 100644 rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties diff --git a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/old.dbscheme b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/old.dbscheme new file mode 100644 index 000000000000..109496fd2f20 --- /dev/null +++ b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/old.dbscheme @@ -0,0 +1,3623 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @cfg_predicate +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @format_args_arg_name +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @try_block_modifier +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@cfg_predicate = + @cfg_atom +| @cfg_composite +; + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_arg_names( + int id: @format_args_arg ref, + int arg_name: @format_args_arg_name ref +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +format_args_arg_names( + unique int id: @format_args_arg_name +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +@meta = + @cfg_attr_meta +| @cfg_meta +| @key_value_meta +| @path_meta +| @token_tree_meta +| @unsafe_meta +; + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_default_vals( + int id: @struct_field ref, + int default_val: @const_arg ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +try_block_modifiers( + unique int id: @try_block_modifier +); + +#keyset[id] +try_block_modifier_is_try( + int id: @try_block_modifier ref +); + +#keyset[id] +try_block_modifier_type_reprs( + int id: @try_block_modifier ref, + int type_repr: @type_repr ref +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +cfg_atoms( + unique int id: @cfg_atom +); + +cfg_attr_meta( + unique int id: @cfg_attr_meta +); + +#keyset[id] +cfg_attr_meta_cfg_predicates( + int id: @cfg_attr_meta ref, + int cfg_predicate: @cfg_predicate ref +); + +#keyset[id, index] +cfg_attr_meta_metas( + int id: @cfg_attr_meta ref, + int index: int ref, + int meta: @meta ref +); + +cfg_composites( + unique int id: @cfg_composite +); + +#keyset[id, index] +cfg_composite_cfg_predicates( + int id: @cfg_composite ref, + int index: int ref, + int cfg_predicate: @cfg_predicate ref +); + +cfg_meta( + unique int id: @cfg_meta +); + +#keyset[id] +cfg_meta_cfg_predicates( + int id: @cfg_meta ref, + int cfg_predicate: @cfg_predicate ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +key_value_meta( + unique int id: @key_value_meta +); + +#keyset[id] +key_value_meta_exprs( + int id: @key_value_meta ref, + int expr: @expr ref +); + +#keyset[id] +key_value_meta_paths( + int id: @key_value_meta ref, + int path: @path ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_meta( + unique int id: @path_meta +); + +#keyset[id] +path_meta_paths( + int id: @path_meta ref, + int path: @path ref +); + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +token_tree_meta( + unique int id: @token_tree_meta +); + +#keyset[id] +token_tree_meta_paths( + int id: @token_tree_meta ref, + int path: @path ref +); + +#keyset[id] +token_tree_meta_token_trees( + int id: @token_tree_meta ref, + int token_tree: @token_tree ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +unsafe_meta( + unique int id: @unsafe_meta +); + +#keyset[id] +unsafe_meta_is_unsafe( + int id: @unsafe_meta ref +); + +#keyset[id] +unsafe_meta_meta( + int id: @unsafe_meta ref, + int meta: @meta ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_const_args( + int id: @variant ref, + int const_arg: @const_arg ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +#keyset[id] +block_expr_try_block_modifiers( + int id: @block_expr ref, + int try_block_modifier: @try_block_modifier ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/rust.dbscheme b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/rust.dbscheme new file mode 100644 index 000000000000..66a489863649 --- /dev/null +++ b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/rust.dbscheme @@ -0,0 +1,3556 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +#keyset[id] +format_args_arg_names( + int id: @format_args_arg ref, + int name: @name ref +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +meta( + unique int id: @meta +); + +#keyset[id] +meta_exprs( + int id: @meta ref, + int expr: @expr ref +); + +#keyset[id] +meta_is_unsafe( + int id: @meta ref +); + +#keyset[id] +meta_paths( + int id: @meta ref, + int path: @path ref +); + +#keyset[id] +meta_token_trees( + int id: @meta ref, + int token_tree: @token_tree ref +); + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_defaults( + int id: @struct_field ref, + int default: @expr ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @trait_alias +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_discriminants( + int id: @variant ref, + int discriminant: @expr ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_try( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +trait_aliases( + unique int id: @trait_alias +); + +#keyset[id, index] +trait_alias_attrs( + int id: @trait_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_alias_generic_param_lists( + int id: @trait_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_alias_names( + int id: @trait_alias ref, + int name: @name ref +); + +#keyset[id] +trait_alias_type_bound_lists( + int id: @trait_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_alias_visibilities( + int id: @trait_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_alias_where_clauses( + int id: @trait_alias ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties new file mode 100644 index 000000000000..6d4e1d708ba6 --- /dev/null +++ b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties @@ -0,0 +1,29 @@ +description: Downgrade from rust-analyzer 0.0.328 to 0.0.301 +compatibility: partial + +format_args_arg_arg_names.rel: delete +format_args_arg_names.rel: delete +struct_field_default_vals.rel: delete +variant_const_args.rel: delete +try_block_modifiers.rel: delete +try_block_modifier_is_try.rel: delete +try_block_modifier_type_reprs.rel: delete +cfg_atoms.rel: delete +cfg_attr_meta.rel: delete +cfg_attr_meta_cfg_predicates.rel: delete +cfg_attr_meta_metas.rel: delete +cfg_composites.rel: delete +cfg_composite_cfg_predicates.rel: delete +cfg_meta.rel: delete +cfg_meta_cfg_predicates.rel: delete +key_value_meta.rel: delete +key_value_meta_exprs.rel: delete +key_value_meta_paths.rel: delete +path_meta.rel: delete +path_meta_paths.rel: delete +token_tree_meta.rel: delete +token_tree_meta_paths.rel: delete +token_tree_meta_token_trees.rel: delete +unsafe_meta.rel: delete +unsafe_meta_is_unsafe.rel: delete +unsafe_meta_meta.rel: delete diff --git a/rust/ql/lib/codeql/rust/elements/internal/FormatTemplateVariableAccessConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/FormatTemplateVariableAccessConstructor.qll index 40cb174a0710..95f01f85c953 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/FormatTemplateVariableAccessConstructor.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/FormatTemplateVariableAccessConstructor.qll @@ -35,8 +35,8 @@ private predicate formatArgsHasArg( } pragma[nomagic] -private predicate formatArgsHasArgName(Raw::FormatArgsExpr parent, string name) { - parent.getArg(_).getName().getText() = name +private predicate formatArgsHasArgName(Raw::FormatArgsExpr parent) { + exists(parent.getArg(_).getArgName()) } /** @@ -48,6 +48,6 @@ predicate unboundNamedFormatArgument( ) { exists(string name | formatArgsHasArg(parent, arg, name, index, kind) and - not formatArgsHasArgName(parent, name) + not formatArgsHasArgName(parent) ) } diff --git a/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll index bbac494ed3c9..3c496845cec4 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll @@ -1,4 +1,3 @@ -// generated by codegen, remove this comment if you wish to edit this file /** * This module provides a hand-modifiable wrapper around the generated class `Meta`. * diff --git a/rust/ql/lib/codeql/rust/internal/Definitions.qll b/rust/ql/lib/codeql/rust/internal/Definitions.qll index aedcc3fc69c5..aa0c5146b41f 100644 --- a/rust/ql/lib/codeql/rust/internal/Definitions.qll +++ b/rust/ql/lib/codeql/rust/internal/Definitions.qll @@ -8,6 +8,7 @@ private import codeql.rust.elements.Variable private import codeql.rust.elements.Locatable private import codeql.rust.elements.FormatArgsExpr private import codeql.rust.elements.FormatArgsArg +private import codeql.rust.elements.FormatArgsArgName private import codeql.rust.elements.Format private import codeql.rust.elements.MacroCall private import codeql.rust.elements.NamedFormatArgument @@ -33,7 +34,7 @@ private module Cached { cached newtype TDef = TVariable(Variable v) or - TFormatArgsArgName(Name name) { name = any(FormatArgsArg a).getName() } or + TFormatArgsArgDef(FormatArgsArgName name) { name = any(FormatArgsArg a).getArgName() } or TFormatArgsArgIndex(Expr e) { e = any(FormatArgsArg a).getExpr() } or TItemNode(ItemNode i) @@ -58,7 +59,7 @@ class Definition extends Cached::TDef { /** Gets the location of this variable. */ Location getLocation() { result = this.asVariable().getLocation() or - result = this.asName().getLocation() or + result = this.asFormatArgsArgName().getLocation() or result = this.asExpr().getLocation() or result = this.asItemNode().getLocation() } @@ -66,8 +67,8 @@ class Definition extends Cached::TDef { /** Gets this definition as a `Variable` */ Variable asVariable() { this = Cached::TVariable(result) } - /** Gets this definition as a `Name` */ - Name asName() { this = Cached::TFormatArgsArgName(result) } + /** Gets this definition as a format argument name */ + FormatArgsArgName asFormatArgsArgName() { this = Cached::TFormatArgsArgDef(result) } /** Gets this definition as an `Expr` */ Expr asExpr() { this = Cached::TFormatArgsArgIndex(result) } @@ -79,7 +80,7 @@ class Definition extends Cached::TDef { string toString() { result = this.asExpr().toString() or result = this.asVariable().toString() or - result = this.asName().getText() or + result = this.asFormatArgsArgName().toString() or result = this.asItemNode().toString() } } @@ -95,17 +96,16 @@ private class LocalVariableUse extends Use instanceof VariableAccess { } private class NamedFormatArgumentUse extends Use instanceof NamedFormatArgument { - private Name def; + private FormatArgsArgName def; NamedFormatArgumentUse() { exists(FormatArgsExpr parent | parent = this.getParent().getParent() and - parent.getAnArg().getName() = def and - this.getName() = def.getText() + parent.getAnArg().getArgName() = def ) } - override Definition getDefinition() { result.asName() = def } + override Definition getDefinition() { result.asFormatArgsArgName() = def } override string getUseType() { result = "format argument" } } diff --git a/rust/ql/lib/codeql/rust/internal/PathResolution.qll b/rust/ql/lib/codeql/rust/internal/PathResolution.qll index 10d18786880b..1d5f090705a4 100644 --- a/rust/ql/lib/codeql/rust/internal/PathResolution.qll +++ b/rust/ql/lib/codeql/rust/internal/PathResolution.qll @@ -49,6 +49,20 @@ private import codeql.rust.internal.CachedStages private import codeql.rust.frameworks.stdlib.Builtins as Builtins private import codeql.util.Option +/** Gets the path of a `Meta` node, regardless of its concrete subtype. */ +pragma[nomagic] +private Path getMetaPath(Meta m) { + result = m.(PathMeta).getPath() + or + result = m.(KeyValueMeta).getPath() + or + result = m.(TokenTreeMeta).getPath() +} + +/** Gets the expression of a `Meta` node, regardless of its concrete subtype. */ +pragma[nomagic] +private Expr getMetaExpr(Meta m) { result = m.(KeyValueMeta).getExpr() } + private newtype TNamespace = TTypeNamespace() or TValueNamespace() or @@ -263,7 +277,7 @@ abstract class ItemNode extends Locatable { pragma[nomagic] final Attr getAttr(string name) { result = this.getAnAttr() and - result.getMeta().getPath().(PathExt).isUnqualified(name) + getMetaPath(result.getMeta()).(PathExt).isUnqualified(name) } final predicate hasAttr(string name) { exists(this.getAttr(name)) } @@ -1348,7 +1362,7 @@ private predicate fileModuleInlineLate(SourceFile f, string name, Folder folder) */ private Meta getPathAttrMeta(Module m) { result = m.getAnAttr().getMeta() and - result.getPath().getText() = "path" + getMetaPath(result).getText() = "path" } /** @@ -1412,7 +1426,7 @@ private predicate pathAttrImport(Folder f, Module m, string relativePath) { exists(Meta meta | f = m.getFile().getParentContainer() and meta = getPathAttrMeta(m) and - relativePath = meta.getExpr().(LiteralExpr).getTextValue().regexpCapture("\"(.+)\"", 1) + relativePath = getMetaExpr(meta).(LiteralExpr).getTextValue().regexpCapture("\"(.+)\"", 1) ) } @@ -1793,7 +1807,7 @@ private module DollarCrateResolution { or exists(ItemNode type | expansion = type.(TypeItem).getDeriveMacroExpansion(_) and - macroDefPath = type.getAttr("derive").getMeta().getPath() + macroDefPath = getMetaPath(type.getAttr("derive").getMeta()) ) } @@ -1952,7 +1966,7 @@ private predicate pathUsesNamespace(PathExt p, Namespace n) { ( p = any(MacroCall mc).getPath() or - p = any(Meta m).getPath() + p = getMetaPath(any(Meta m)) ) } diff --git a/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/old.dbscheme b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/old.dbscheme new file mode 100644 index 000000000000..66a489863649 --- /dev/null +++ b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/old.dbscheme @@ -0,0 +1,3556 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +#keyset[id] +format_args_arg_names( + int id: @format_args_arg ref, + int name: @name ref +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +meta( + unique int id: @meta +); + +#keyset[id] +meta_exprs( + int id: @meta ref, + int expr: @expr ref +); + +#keyset[id] +meta_is_unsafe( + int id: @meta ref +); + +#keyset[id] +meta_paths( + int id: @meta ref, + int path: @path ref +); + +#keyset[id] +meta_token_trees( + int id: @meta ref, + int token_tree: @token_tree ref +); + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_defaults( + int id: @struct_field ref, + int default: @expr ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @trait_alias +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_discriminants( + int id: @variant ref, + int discriminant: @expr ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_try( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +trait_aliases( + unique int id: @trait_alias +); + +#keyset[id, index] +trait_alias_attrs( + int id: @trait_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_alias_generic_param_lists( + int id: @trait_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_alias_names( + int id: @trait_alias ref, + int name: @name ref +); + +#keyset[id] +trait_alias_type_bound_lists( + int id: @trait_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_alias_visibilities( + int id: @trait_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_alias_where_clauses( + int id: @trait_alias ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/rust.dbscheme b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/rust.dbscheme new file mode 100644 index 000000000000..109496fd2f20 --- /dev/null +++ b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/rust.dbscheme @@ -0,0 +1,3623 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @cfg_predicate +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @format_args_arg_name +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @try_block_modifier +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@cfg_predicate = + @cfg_atom +| @cfg_composite +; + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_arg_names( + int id: @format_args_arg ref, + int arg_name: @format_args_arg_name ref +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +format_args_arg_names( + unique int id: @format_args_arg_name +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +@meta = + @cfg_attr_meta +| @cfg_meta +| @key_value_meta +| @path_meta +| @token_tree_meta +| @unsafe_meta +; + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_default_vals( + int id: @struct_field ref, + int default_val: @const_arg ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +try_block_modifiers( + unique int id: @try_block_modifier +); + +#keyset[id] +try_block_modifier_is_try( + int id: @try_block_modifier ref +); + +#keyset[id] +try_block_modifier_type_reprs( + int id: @try_block_modifier ref, + int type_repr: @type_repr ref +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +cfg_atoms( + unique int id: @cfg_atom +); + +cfg_attr_meta( + unique int id: @cfg_attr_meta +); + +#keyset[id] +cfg_attr_meta_cfg_predicates( + int id: @cfg_attr_meta ref, + int cfg_predicate: @cfg_predicate ref +); + +#keyset[id, index] +cfg_attr_meta_metas( + int id: @cfg_attr_meta ref, + int index: int ref, + int meta: @meta ref +); + +cfg_composites( + unique int id: @cfg_composite +); + +#keyset[id, index] +cfg_composite_cfg_predicates( + int id: @cfg_composite ref, + int index: int ref, + int cfg_predicate: @cfg_predicate ref +); + +cfg_meta( + unique int id: @cfg_meta +); + +#keyset[id] +cfg_meta_cfg_predicates( + int id: @cfg_meta ref, + int cfg_predicate: @cfg_predicate ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +key_value_meta( + unique int id: @key_value_meta +); + +#keyset[id] +key_value_meta_exprs( + int id: @key_value_meta ref, + int expr: @expr ref +); + +#keyset[id] +key_value_meta_paths( + int id: @key_value_meta ref, + int path: @path ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_meta( + unique int id: @path_meta +); + +#keyset[id] +path_meta_paths( + int id: @path_meta ref, + int path: @path ref +); + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +token_tree_meta( + unique int id: @token_tree_meta +); + +#keyset[id] +token_tree_meta_paths( + int id: @token_tree_meta ref, + int path: @path ref +); + +#keyset[id] +token_tree_meta_token_trees( + int id: @token_tree_meta ref, + int token_tree: @token_tree ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +unsafe_meta( + unique int id: @unsafe_meta +); + +#keyset[id] +unsafe_meta_is_unsafe( + int id: @unsafe_meta ref +); + +#keyset[id] +unsafe_meta_meta( + int id: @unsafe_meta ref, + int meta: @meta ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_const_args( + int id: @variant ref, + int const_arg: @const_arg ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +#keyset[id] +block_expr_try_block_modifiers( + int id: @block_expr ref, + int try_block_modifier: @try_block_modifier ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties new file mode 100644 index 000000000000..e8888f4d7321 --- /dev/null +++ b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties @@ -0,0 +1,19 @@ +description: Upgrade from rust-analyzer 0.0.301 to 0.0.328 +compatibility: partial + +block_expr_is_try.rel: delete +meta.rel: delete +meta_exprs.rel: delete +meta_is_unsafe.rel: delete +meta_paths.rel: delete +meta_token_trees.rel: delete +format_args_arg_names.rel: delete +struct_field_defaults.rel: delete +variant_discriminants.rel: delete +trait_aliases.rel: delete +trait_alias_attrs.rel: delete +trait_alias_generic_param_lists.rel: delete +trait_alias_names.rel: delete +trait_alias_type_bound_lists.rel: delete +trait_alias_visibilities.rel: delete +trait_alias_where_clauses.rel: delete diff --git a/rust/ql/src/queries/security/CWE-696/BadCtorInitialization.ql b/rust/ql/src/queries/security/CWE-696/BadCtorInitialization.ql index 7a206856adf8..04a991b9a004 100644 --- a/rust/ql/src/queries/security/CWE-696/BadCtorInitialization.ql +++ b/rust/ql/src/queries/security/CWE-696/BadCtorInitialization.ql @@ -12,6 +12,17 @@ */ import rust +private import codeql.rust.elements.PathMeta +private import codeql.rust.elements.KeyValueMeta +private import codeql.rust.elements.TokenTreeMeta + +private Path getMetaPath(Meta m) { + result = m.(PathMeta).getPath() + or + result = m.(KeyValueMeta).getPath() + or + result = m.(TokenTreeMeta).getPath() +} /** * A `#[ctor]` or `#[dtor]` attribute, that is, a source for this query. @@ -20,7 +31,7 @@ class CtorAttr extends Attr { string whichAttr; CtorAttr() { - whichAttr = this.getMeta().getPath().getText() and + whichAttr = getMetaPath(this.getMeta()).getText() and whichAttr = ["ctor", "dtor"] } From 87472288c30b51d2426cf1ae19ee636149209d38 Mon Sep 17 00:00:00 2001 From: Taus Date: Wed, 15 Apr 2026 15:12:41 +0000 Subject: [PATCH 007/190] Rust: fix formatting and codegen drift Re-run cargo fmt after clippy --fix to ensure consistent formatting. Re-run codegen to update generated file tracking for MetaImpl.qll. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- rust/ast-generator/src/main.rs | 13 +++--- rust/extractor/src/main.rs | 41 ++++++++++--------- rust/extractor/src/translate/base.rs | 28 +++++++------ rust/ql/.generated.list | 1 - rust/ql/.gitattributes | 1 - .../rust/elements/internal/MetaImpl.qll | 1 + 6 files changed, 44 insertions(+), 41 deletions(-) diff --git a/rust/ast-generator/src/main.rs b/rust/ast-generator/src/main.rs index 74fe9db9a7ed..9e5120847a54 100644 --- a/rust/ast-generator/src/main.rs +++ b/rust/ast-generator/src/main.rs @@ -309,12 +309,13 @@ fn get_fields(node: &AstNodeSrc) -> Vec { let mut result = Vec::new(); for field in &node.fields { if let Field::Token { token, .. } = field - && should_predicate_be_extracted(token) { - result.push(FieldInfo { - name: format!("is_{token}"), - ty: FieldType::Predicate, - }); - } + && should_predicate_be_extracted(token) + { + result.push(FieldInfo { + name: format!("is_{token}"), + ty: FieldType::Predicate, + }); + } } result.extend(get_additional_fields(&node.name)); diff --git a/rust/extractor/src/main.rs b/rust/extractor/src/main.rs index a838ebbafed1..d4c6e5352f7d 100644 --- a/rust/extractor/src/main.rs +++ b/rust/extractor/src/main.rs @@ -81,17 +81,18 @@ impl<'a> Extractor<'a> { } let no_location = (LineCol { line: 0, col: 0 }, LineCol { line: 0, col: 0 }); if let Err(RustAnalyzerNoSemantics { severity, reason }) = semantics_info - && !reason.is_empty() { - let message = format!("semantic analyzer unavailable ({reason})"); - let full_message = format!("{message}: macro expansion will be skipped."); - translator.emit_diagnostic( - severity, - "semantics".to_owned(), - message, - full_message, - no_location, - ); - } + && !reason.is_empty() + { + let message = format!("semantic analyzer unavailable ({reason})"); + let full_message = format!("{message}: macro expansion will be skipped."); + translator.emit_diagnostic( + severity, + "semantics".to_owned(), + message, + full_message, + no_location, + ); + } translator.emit_source_file(&ast); translator.emit_truncated_diagnostics_message(); translator.trap.commit().unwrap_or_else(|err| { @@ -301,15 +302,15 @@ fn main() -> anyhow::Result<()> { for (file_id, file) in vfs.iter() { if let Some(file) = file.as_path().map(<_ as AsRef>::as_ref) && file.extension().is_some_and(|ext| ext == "rs") - && processed_files.insert(file.to_owned()) - && db - .source_root(db.file_source_root(file_id).source_root_id(db)) - .source_root(db) - .is_library - { - extractor.extract_with_semantics(file, &semantics, vfs, library_mode); - extractor.archiver.archive(file); - } + && processed_files.insert(file.to_owned()) + && db + .source_root(db.file_source_root(file_id).source_root_id(db)) + .source_root(db) + .is_library + { + extractor.extract_with_semantics(file, &semantics, vfs, library_mode); + extractor.archiver.archive(file); + } } } else { for file in files { diff --git a/rust/extractor/src/translate/base.rs b/rust/extractor/src/translate/base.rs index fa0cf0e40c71..403e69c50c39 100644 --- a/rust/extractor/src/translate/base.rs +++ b/rust/extractor/src/translate/base.rs @@ -216,12 +216,13 @@ impl<'a> Translator<'a> { let parent_range = parent.syntax().text_range(); let token_range = token.text_range(); if let Some(clipped_range) = token_range.intersect(parent_range) - && let Some(parent_range2) = self.text_range_for_node(parent) { - let token_range = clipped_range + parent_range2.start() - parent_range.start(); - if let Some((start, end)) = self.location(token_range) { - self.trap.emit_location(self.label, label, start, end) - } + && let Some(parent_range2) = self.text_range_for_node(parent) + { + let token_range = clipped_range + parent_range2.start() - parent_range.start(); + if let Some((start, end)) = self.location(token_range) { + self.trap.emit_location(self.label, label, start, end) } + } } pub fn emit_diagnostic( &mut self, @@ -332,14 +333,15 @@ impl<'a> Translator<'a> { ) { for child in children { if let NodeOrToken::Token(token) = child - && token.kind() == SyntaxKind::COMMENT { - let label = self.trap.emit(generated::Comment { - id: TrapId::Star, - parent: parent_label, - text: token.text().to_owned(), - }); - self.emit_location_token(label.into(), parent_node, &token); - } + && token.kind() == SyntaxKind::COMMENT + { + let label = self.trap.emit(generated::Comment { + id: TrapId::Star, + parent: parent_label, + text: token.text().to_owned(), + }); + self.emit_location_token(label.into(), parent_node, &token); + } } } fn emit_macro_expansion_parse_errors( diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index bc9aabe628f3..9f8a07e67b09 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -340,7 +340,6 @@ lib/codeql/rust/elements/internal/MatchArmListImpl.qll 16de8d9e0768ee42c5069df5c lib/codeql/rust/elements/internal/MatchExprConstructor.qll 0355ca543a0f9ad56697bc2e1e2511fa3f233bc1f6344d9e1c2369106901c696 78622807a1c4bff61b751c715639510146c7a713e0c4f63246e9a2cf302f4875 lib/codeql/rust/elements/internal/MatchGuardConstructor.qll d4cae02d2902fe8d3cb6b9c2796137863f41f55840f6623935a1c99df43f28d8 0c89f2ca71a2fd5a3f365291e784cb779e34ba0542d9285515e1856424cec60d lib/codeql/rust/elements/internal/MatchGuardImpl.qll 489040ca1ea85edda91405fab3d12321b6541d2888c35356d3c14c707bf1468e 2b60223a822b840356a3668da3f9578e6a9b8f683fcdd3dbd99b5354c7d96095 -lib/codeql/rust/elements/internal/MetaImpl.qll ab77681dc271d26b4eb77d792fd9b24fce65b0f4a88056ad09aa9400d26b4b58 270e58d97c03357e92f777ce2bd332e2718e077a7faaa6778941a9d5b14e135d lib/codeql/rust/elements/internal/MethodCallExprConstructor.qll a1b3c4587f0ae60d206980b1d9e6881d998f29d2b592a73421d6a44124c70c20 8d4eaa3eb54653fac17f7d95e9cc833fe1398d27c02b2388cd9af8724a560ded lib/codeql/rust/elements/internal/MissingConstructor.qll aab0b7f2846f14a5914661a18c7c9eae71b9bde2162a3c5e5e8a8ecafa20e854 8f30b00b5b7918a7500786cc749b61695158b5b3cc8e9f2277b6b6bf0f7850a0 lib/codeql/rust/elements/internal/MissingImpl.qll e81caa383797dfe837cf101fb78d23ab150b32fef7b47ffcc5489bfcd942ac3e 9f3212d45d77e5888e435e7babd55c1e6b42c3c16f5b1f71170ac41f93ee8d0b diff --git a/rust/ql/.gitattributes b/rust/ql/.gitattributes index d4feb85fc476..6dc4ce6b105f 100644 --- a/rust/ql/.gitattributes +++ b/rust/ql/.gitattributes @@ -342,7 +342,6 @@ /lib/codeql/rust/elements/internal/MatchExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MatchGuardConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MatchGuardImpl.qll linguist-generated -/lib/codeql/rust/elements/internal/MetaImpl.qll linguist-generated /lib/codeql/rust/elements/internal/MethodCallExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MissingConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MissingImpl.qll linguist-generated diff --git a/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll index 3c496845cec4..295decd667a9 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll @@ -11,6 +11,7 @@ private import codeql.rust.elements.internal.generated.Meta * be referenced directly. */ module Impl { + // the following QLdoc is generated: if you need to edit it, do it in the schema file /** * A meta item in an attribute. * From 87a0ed190f01119dba4e18530dd2989b6f6f20ab Mon Sep 17 00:00:00 2001 From: Taus Date: Wed, 15 Apr 2026 15:29:00 +0000 Subject: [PATCH 008/190] Rust: fix LoadCargoConfig defaults (proc_macro_processes must be >= 1) Setting proc_macro_processes to 0 causes an index-out-of-bounds panic in ProcMacroServerPool::new when the proc macro server is enabled. Use the same defaults as rust-analyzer itself (1 each). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- rust/extractor/src/config.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index 0e682bbb06ef..7677025a66f2 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -197,8 +197,8 @@ impl Config { load_out_dirs_from_check: true, with_proc_macro_server: self.proc_macro_server_choice(dir), prefill_caches: false, - num_worker_threads: 0, - proc_macro_processes: 0, + num_worker_threads: 1, + proc_macro_processes: 1, }, ) } From 6057c79231b62125663e54f057c4220ed88d00d7 Mon Sep 17 00:00:00 2001 From: Taus Date: Wed, 15 Apr 2026 16:58:12 +0000 Subject: [PATCH 009/190] Rust: fix upgrade script and update test expectations - Remove format_args_arg_names from upgrade delete list (table exists in both schemas with different columns) - Accept updated .expected files for schema changes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../upgrade.properties | 1 - .../canonical_path/canonical_paths.expected | 3 - .../generated/Attr/Attr.expected | 2 +- .../generated/BlockExpr/BlockExpr.expected | 7 +- .../FormatArgsExpr/FormatArgsArg.expected | 6 +- .../generated/MacroItems/MacroItems.expected | 2 - .../StructField/StructField.expected | 2 +- .../generated/Variant/Variant.expected | 2 +- .../macro-expansion/PrintAst.expected | 233 +------- .../macro-expansion/test.expected | 21 +- .../macro-in-library/PrintAst.expected | 2 +- .../web_frameworks/InlineFlow.expected | 6 +- .../web_frameworks/TaintSources.expected | 16 +- .../definitions/Definitions.expected | 6 +- .../security/CWE-079/actix/XSS.expected | 6 +- .../security/CWE-614/InsecureCookie.expected | 528 ++++-------------- .../CWE-696/BadCTorInitialization.expected | 8 +- .../UncontrolledAllocationSize.expected | 196 ++++--- .../CWE-825/AccessInvalidPointer.expected | 4 + 19 files changed, 272 insertions(+), 779 deletions(-) diff --git a/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties index e8888f4d7321..c130c0f83810 100644 --- a/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties +++ b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties @@ -7,7 +7,6 @@ meta_exprs.rel: delete meta_is_unsafe.rel: delete meta_paths.rel: delete meta_token_trees.rel: delete -format_args_arg_names.rel: delete struct_field_defaults.rel: delete variant_discriminants.rel: delete trait_aliases.rel: delete diff --git a/rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected b/rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected index cfdb7fc723b0..5778e6f3a83a 100644 --- a/rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected +++ b/rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected @@ -4,9 +4,6 @@ | lib.rs:1:1:1:18 | mod anonymous | test::anonymous | | lib.rs:2:1:2:16 | mod regular | test::regular | | regular.rs:1:1:2:18 | struct Struct | test::regular::Struct | -| regular.rs:2:12:2:17 | fn eq | ::eq | -| regular.rs:2:12:2:17 | impl ...::Eq for Struct::<...> { ... } | | -| regular.rs:2:12:2:17 | impl ...::PartialEq for Struct::<...> { ... } | | | regular.rs:4:1:6:1 | trait Trait | test::regular::Trait | | regular.rs:5:5:5:16 | fn f | <_ as test::regular::Trait>::f | | regular.rs:8:1:10:1 | impl Trait for Struct { ... } | | diff --git a/rust/ql/test/extractor-tests/generated/Attr/Attr.expected b/rust/ql/test/extractor-tests/generated/Attr/Attr.expected index 1272453173d9..98a72a41f18a 100644 --- a/rust/ql/test/extractor-tests/generated/Attr/Attr.expected +++ b/rust/ql/test/extractor-tests/generated/Attr/Attr.expected @@ -1,4 +1,4 @@ instances | gen_attr.rs:7:5:7:20 | Attr | getMeta -| gen_attr.rs:7:5:7:20 | Attr | gen_attr.rs:7:7:7:19 | Meta | +| gen_attr.rs:7:5:7:20 | Attr | gen_attr.rs:7:7:7:19 | TokenTreeMeta | diff --git a/rust/ql/test/extractor-tests/generated/BlockExpr/BlockExpr.expected b/rust/ql/test/extractor-tests/generated/BlockExpr/BlockExpr.expected index 0423524834b7..843d156ff9a6 100644 --- a/rust/ql/test/extractor-tests/generated/BlockExpr/BlockExpr.expected +++ b/rust/ql/test/extractor-tests/generated/BlockExpr/BlockExpr.expected @@ -1,7 +1,7 @@ instances -| gen_block_expr.rs:3:28:12:1 | { ... } | isAsync: | no | isConst: | no | isGen: | no | isMove: | no | isTry: | no | isUnsafe: | no | -| gen_block_expr.rs:5:5:7:5 | { ... } | isAsync: | no | isConst: | no | isGen: | no | isMove: | no | isTry: | no | isUnsafe: | no | -| gen_block_expr.rs:8:5:11:5 | 'label: { ... } | isAsync: | no | isConst: | no | isGen: | no | isMove: | no | isTry: | no | isUnsafe: | no | +| gen_block_expr.rs:3:28:12:1 | { ... } | isAsync: | no | isConst: | no | isGen: | no | isMove: | no | isUnsafe: | no | +| gen_block_expr.rs:5:5:7:5 | { ... } | isAsync: | no | isConst: | no | isGen: | no | isMove: | no | isUnsafe: | no | +| gen_block_expr.rs:8:5:11:5 | 'label: { ... } | isAsync: | no | isConst: | no | isGen: | no | isMove: | no | isUnsafe: | no | getLabel | gen_block_expr.rs:8:5:11:5 | 'label: { ... } | gen_block_expr.rs:8:5:8:11 | 'label | getAttr @@ -9,3 +9,4 @@ getStmtList | gen_block_expr.rs:3:28:12:1 | { ... } | gen_block_expr.rs:3:28:12:1 | StmtList | | gen_block_expr.rs:5:5:7:5 | { ... } | gen_block_expr.rs:5:5:7:5 | StmtList | | gen_block_expr.rs:8:5:11:5 | 'label: { ... } | gen_block_expr.rs:8:13:11:5 | StmtList | +getTryBlockModifier diff --git a/rust/ql/test/extractor-tests/generated/FormatArgsExpr/FormatArgsArg.expected b/rust/ql/test/extractor-tests/generated/FormatArgsExpr/FormatArgsArg.expected index 32a73ae1c7c4..01c549f29a1a 100644 --- a/rust/ql/test/extractor-tests/generated/FormatArgsExpr/FormatArgsArg.expected +++ b/rust/ql/test/extractor-tests/generated/FormatArgsExpr/FormatArgsArg.expected @@ -15,6 +15,9 @@ instances | gen_format_argument.rs:7:34:7:38 | FormatArgsArg | | gen_format_argument.rs:7:41:7:45 | FormatArgsArg | | gen_format_argument.rs:7:48:7:56 | FormatArgsArg | +getArgName +| gen_format_args_expr.rs:7:35:7:37 | FormatArgsArg | gen_format_args_expr.rs:7:35:7:36 | FormatArgsArgName | +| gen_format_args_expr.rs:7:40:7:42 | FormatArgsArg | gen_format_args_expr.rs:7:40:7:41 | FormatArgsArgName | getExpr | gen_format.rs:5:26:5:32 | FormatArgsArg | gen_format.rs:5:26:5:32 | "world" | | gen_format.rs:12:35:12:38 | FormatArgsArg | gen_format.rs:12:35:12:38 | name | @@ -32,6 +35,3 @@ getExpr | gen_format_argument.rs:7:34:7:38 | FormatArgsArg | gen_format_argument.rs:7:34:7:38 | value | | gen_format_argument.rs:7:41:7:45 | FormatArgsArg | gen_format_argument.rs:7:41:7:45 | width | | gen_format_argument.rs:7:48:7:56 | FormatArgsArg | gen_format_argument.rs:7:48:7:56 | precision | -getName -| gen_format_args_expr.rs:7:35:7:37 | FormatArgsArg | gen_format_args_expr.rs:7:35:7:35 | a | -| gen_format_args_expr.rs:7:40:7:42 | FormatArgsArg | gen_format_args_expr.rs:7:40:7:40 | b | diff --git a/rust/ql/test/extractor-tests/generated/MacroItems/MacroItems.expected b/rust/ql/test/extractor-tests/generated/MacroItems/MacroItems.expected index 156893a07eba..c7b6ab807aac 100644 --- a/rust/ql/test/extractor-tests/generated/MacroItems/MacroItems.expected +++ b/rust/ql/test/extractor-tests/generated/MacroItems/MacroItems.expected @@ -1,7 +1,5 @@ instances | gen_macro_items.rs:5:5:5:12 | MacroItems | -| gen_macro_items.rs:13:12:13:14 | MacroItems | getItem | gen_macro_items.rs:5:5:5:12 | MacroItems | 0 | gen_macro_items.rs:5:5:5:38 | use ...::Path | | gen_macro_items.rs:5:5:5:12 | MacroItems | 1 | gen_macro_items.rs:5:5:5:38 | fn get_parent | -| gen_macro_items.rs:13:12:13:14 | MacroItems | 0 | gen_macro_items.rs:13:12:13:14 | impl ...::Debug for Bar::<...> { ... } | diff --git a/rust/ql/test/extractor-tests/generated/StructField/StructField.expected b/rust/ql/test/extractor-tests/generated/StructField/StructField.expected index 285d3530c66f..981fafb354ca 100644 --- a/rust/ql/test/extractor-tests/generated/StructField/StructField.expected +++ b/rust/ql/test/extractor-tests/generated/StructField/StructField.expected @@ -1,7 +1,7 @@ instances | gen_struct_field.rs:7:16:7:21 | x: i32 | isUnsafe: | no | getAttr -getDefault +getDefaultVal getName | gen_struct_field.rs:7:16:7:21 | x: i32 | gen_struct_field.rs:7:16:7:16 | x | getTypeRepr diff --git a/rust/ql/test/extractor-tests/generated/Variant/Variant.expected b/rust/ql/test/extractor-tests/generated/Variant/Variant.expected index 4c67e1684b00..112c0a3522a5 100644 --- a/rust/ql/test/extractor-tests/generated/Variant/Variant.expected +++ b/rust/ql/test/extractor-tests/generated/Variant/Variant.expected @@ -3,7 +3,7 @@ instances | gen_variant.rs:7:17:7:22 | B | | gen_variant.rs:7:25:7:36 | C | getAttr -getDiscriminant +getConstArg getFieldList | gen_variant.rs:7:17:7:22 | B | gen_variant.rs:7:18:7:22 | TupleFieldList | | gen_variant.rs:7:25:7:36 | C | gen_variant.rs:7:27:7:36 | StructFieldList | diff --git a/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected b/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected index 6f0b278d062e..e45cbadf0d21 100644 --- a/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected +++ b/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected @@ -203,7 +203,7 @@ macro_expansion.rs: # 8| getStmtList(): [StmtList] StmtList # 8| getName(): [Name] inner_1 # 7| getAttr(0): [Attr] Attr -# 7| getMeta(): [Meta] Meta +# 7| getMeta(): [TokenTreeMeta] TokenTreeMeta # 7| getPath(): [Path] repeat # 7| getSegment(): [PathSegment] repeat # 7| getIdentifier(): [NameRef] repeat @@ -251,7 +251,7 @@ macro_expansion.rs: # 8| getStmtList(): [StmtList] StmtList # 8| getName(): [Name] inner_1 # 7| getAttr(0): [Attr] Attr -# 7| getMeta(): [Meta] Meta +# 7| getMeta(): [TokenTreeMeta] TokenTreeMeta # 7| getPath(): [Path] repeat # 7| getSegment(): [PathSegment] repeat # 7| getIdentifier(): [NameRef] repeat @@ -273,7 +273,7 @@ macro_expansion.rs: # 4| getName(): [Name] foo_new # 4| getVisibility(): [Visibility] pub # 3| getAttr(0): [Attr] Attr -# 3| getMeta(): [Meta] Meta +# 3| getMeta(): [PathMeta] PathMeta # 3| getPath(): [Path] add_one # 3| getSegment(): [PathSegment] add_one # 3| getIdentifier(): [NameRef] add_one @@ -294,7 +294,7 @@ macro_expansion.rs: # 16| getName(): [Name] bar_0_new # 16| getVisibility(): [Visibility] pub # 15| getAttr(0): [Attr] Attr -# 15| getMeta(): [Meta] Meta +# 15| getMeta(): [PathMeta] PathMeta # 15| getPath(): [Path] add_one # 15| getSegment(): [PathSegment] add_one # 15| getIdentifier(): [NameRef] add_one @@ -313,25 +313,25 @@ macro_expansion.rs: # 16| getName(): [Name] bar_1_new # 16| getVisibility(): [Visibility] pub # 15| getAttr(0): [Attr] Attr -# 15| getMeta(): [Meta] Meta +# 15| getMeta(): [PathMeta] PathMeta # 15| getPath(): [Path] add_one # 15| getSegment(): [PathSegment] add_one # 15| getIdentifier(): [NameRef] add_one # 14| getAttr(0): [Attr] Attr -# 14| getMeta(): [Meta] Meta +# 14| getMeta(): [TokenTreeMeta] TokenTreeMeta # 14| getPath(): [Path] repeat # 14| getSegment(): [PathSegment] repeat # 14| getIdentifier(): [NameRef] repeat # 14| getTokenTree(): [TokenTree] TokenTree # 15| getAttr(1): [Attr] Attr -# 15| getMeta(): [Meta] Meta +# 15| getMeta(): [PathMeta] PathMeta # 15| getPath(): [Path] add_one # 15| getSegment(): [PathSegment] add_one # 15| getIdentifier(): [NameRef] add_one # 18| getItem(3): [Function] (item with attribute macro expansion) # 18| getAttributeMacroExpansion(): [MacroItems] MacroItems # 18| getAttr(0): [Attr] Attr -# 18| getMeta(): [Meta] Meta +# 18| getMeta(): [PathMeta] PathMeta # 18| getPath(): [Path] erase # 18| getSegment(): [PathSegment] erase # 18| getIdentifier(): [NameRef] erase @@ -496,7 +496,7 @@ macro_expansion.rs: # 32| getName(): [Name] bzz_2 # 32| getVisibility(): [Visibility] pub # 31| getAttr(0): [Attr] Attr -# 31| getMeta(): [Meta] Meta +# 31| getMeta(): [TokenTreeMeta] TokenTreeMeta # 31| getPath(): [Path] repeat # 31| getSegment(): [PathSegment] repeat # 31| getIdentifier(): [NameRef] repeat @@ -631,7 +631,7 @@ macro_expansion.rs: # 63| getItem(12): [Function] fn documented # 64| getParamList(): [ParamList] ParamList # 63| getAttr(0): [Attr] Attr -# 63| getMeta(): [Meta] Meta +# 63| getMeta(): [KeyValueMeta] KeyValueMeta # 63| getExpr(): [MacroExpr] MacroExpr # 63| getMacroCall(): [MacroCall] include_str!... # 63| getPath(): [Path] include_str @@ -720,96 +720,8 @@ macro_expansion.rs: # 79| getSegment(): [PathSegment] i32 # 79| getIdentifier(): [NameRef] i32 # 83| getItem(17): [Struct] struct MyDerive -# 84| getDeriveMacroExpansion(0): [MacroItems] MacroItems -# 84| getItem(0): [Impl] impl ...::Debug for MyDerive::<...> { ... } -# 84| getAssocItemList(): [AssocItemList] AssocItemList -# 84| getAssocItem(0): [Function] fn fmt -# 83| getParamList(): [ParamList] ParamList -# 83| getParam(0): [Param] ...: ... -# 83| getTypeRepr(): [RefTypeRepr] RefTypeRepr -# 83| getTypeRepr(): [PathTypeRepr] ...::Formatter -# 83| getPath(): [Path] ...::Formatter -# 83| getQualifier(): [Path] ...::fmt -# 83| getQualifier(): [Path] $crate -# 83| getSegment(): [PathSegment] $crate -# 83| getIdentifier(): [NameRef] $crate -# 83| getSegment(): [PathSegment] fmt -# 83| getIdentifier(): [NameRef] fmt -# 83| getSegment(): [PathSegment] Formatter -# 83| getIdentifier(): [NameRef] Formatter -# 83| getPat(): [IdentPat] f -# 83| getName(): [Name] f -# 83| getSelfParam(): [SelfParam] SelfParam -# 83| getName(): [Name] self -# 84| getFunctionBody(): [BlockExpr] { ... } -# 84| getStmtList(): [StmtList] StmtList -# 84| getTailExpr(): [MatchExpr] match self { ... } -# 83| getScrutinee(): [VariableAccess] self -# 83| getPath(): [Path] self -# 83| getSegment(): [PathSegment] self -# 83| getIdentifier(): [NameRef] self -# 84| getMatchArmList(): [MatchArmList] MatchArmList -# 84| getArm(0): [MatchArm] ... => ... -# 85| getExpr(): [MethodCallExpr] ... .finish() -# 83| getArgList(): [ArgList] ArgList -# 83| getIdentifier(): [NameRef] finish -# 85| getReceiver(): [MethodCallExpr] ... .field(...) -# 85| getArgList(): [ArgList] ArgList -# 83| getArg(0): [StringLiteralExpr] "field" -# 85| getArg(1): [RefExpr] &field -# 85| getExpr(): [VariableAccess] field -# 85| getPath(): [Path] field -# 85| getSegment(): [PathSegment] field -# 85| getIdentifier(): [NameRef] field -# 83| getIdentifier(): [NameRef] field -# 83| getReceiver(): [MethodCallExpr] f.debug_struct(...) -# 83| getArgList(): [ArgList] ArgList -# 83| getArg(0): [StringLiteralExpr] "MyDerive" -# 83| getIdentifier(): [NameRef] debug_struct -# 83| getReceiver(): [VariableAccess] f -# 83| getPath(): [Path] f -# 83| getSegment(): [PathSegment] f -# 83| getIdentifier(): [NameRef] f -# 84| getPat(): [StructPat] MyDerive {...} -# 84| getPath(): [Path] MyDerive -# 84| getSegment(): [PathSegment] MyDerive -# 84| getIdentifier(): [NameRef] MyDerive -# 85| getStructPatFieldList(): [StructPatFieldList] StructPatFieldList -# 85| getField(0): [StructPatField] field: ... -# 85| getIdentifier(): [NameRef] field -# 85| getPat(): [IdentPat] field -# 85| getName(): [Name] field -# 83| getName(): [Name] fmt -# 83| getRetType(): [RetTypeRepr] RetTypeRepr -# 83| getTypeRepr(): [PathTypeRepr] ...::Result -# 83| getPath(): [Path] ...::Result -# 83| getQualifier(): [Path] ...::fmt -# 83| getQualifier(): [Path] $crate -# 83| getSegment(): [PathSegment] $crate -# 83| getIdentifier(): [NameRef] $crate -# 83| getSegment(): [PathSegment] fmt -# 83| getIdentifier(): [NameRef] fmt -# 83| getSegment(): [PathSegment] Result -# 83| getIdentifier(): [NameRef] Result -# 83| getGenericParamList(): [GenericParamList] <...> -# 84| getSelfTy(): [PathTypeRepr] MyDerive::<...> -# 84| getPath(): [Path] MyDerive::<...> -# 84| getSegment(): [PathSegment] MyDerive::<...> -# 83| getGenericArgList(): [GenericArgList] <...> -# 84| getIdentifier(): [NameRef] MyDerive -# 83| getTrait(): [PathTypeRepr] ...::Debug -# 83| getPath(): [Path] ...::Debug -# 83| getQualifier(): [Path] ...::fmt -# 83| getQualifier(): [Path] $crate -# 83| getSegment(): [PathSegment] $crate -# 83| getIdentifier(): [NameRef] $crate -# 83| getSegment(): [PathSegment] fmt -# 83| getIdentifier(): [NameRef] fmt -# 83| getSegment(): [PathSegment] Debug -# 83| getIdentifier(): [NameRef] Debug -# 83| getWhereClause(): [WhereClause] WhereClause # 83| getAttr(0): [Attr] Attr -# 83| getMeta(): [Meta] Meta +# 83| getMeta(): [TokenTreeMeta] TokenTreeMeta # 83| getPath(): [Path] derive # 83| getSegment(): [PathSegment] derive # 83| getIdentifier(): [NameRef] derive @@ -823,117 +735,8 @@ macro_expansion.rs: # 85| getSegment(): [PathSegment] usize # 85| getIdentifier(): [NameRef] usize # 88| getItem(18): [Enum] enum MyDeriveEnum -# 89| getDeriveMacroExpansion(0): [MacroItems] MacroItems -# 89| getItem(0): [Impl] impl ...::PartialEq for MyDeriveEnum::<...> { ... } -# 89| getAssocItemList(): [AssocItemList] AssocItemList -# 89| getAssocItem(0): [Function] fn eq -# 88| getParamList(): [ParamList] ParamList -# 88| getParam(0): [Param] ...: ... -# 88| getTypeRepr(): [RefTypeRepr] RefTypeRepr -# 88| getTypeRepr(): [PathTypeRepr] Self -# 88| getPath(): [Path] Self -# 88| getSegment(): [PathSegment] Self -# 88| getIdentifier(): [NameRef] Self -# 88| getPat(): [IdentPat] other -# 88| getName(): [Name] other -# 88| getSelfParam(): [SelfParam] SelfParam -# 88| getName(): [Name] self -# 89| getFunctionBody(): [BlockExpr] { ... } -# 89| getStmtList(): [StmtList] StmtList -# 89| getTailExpr(): [MatchExpr] match ... { ... } -# 88| getScrutinee(): [TupleExpr] TupleExpr -# 88| getField(0): [VariableAccess] self -# 88| getPath(): [Path] self -# 88| getSegment(): [PathSegment] self -# 88| getIdentifier(): [NameRef] self -# 88| getField(1): [VariableAccess] other -# 88| getPath(): [Path] other -# 88| getSegment(): [PathSegment] other -# 88| getIdentifier(): [NameRef] other -# 89| getMatchArmList(): [MatchArmList] MatchArmList -# 89| getArm(0): [MatchArm] ... => true -# 88| getExpr(): [BooleanLiteralExpr] true -# 89| getPat(): [TuplePat] TuplePat -# 89| getField(0): [PathPat] ...::Variant1 -# 89| getPath(): [Path] ...::Variant1 -# 89| getQualifier(): [Path] MyDeriveEnum -# 89| getSegment(): [PathSegment] MyDeriveEnum -# 89| getIdentifier(): [NameRef] MyDeriveEnum -# 90| getSegment(): [PathSegment] Variant1 -# 90| getIdentifier(): [NameRef] Variant1 -# 89| getField(1): [PathPat] ...::Variant1 -# 89| getPath(): [Path] ...::Variant1 -# 89| getQualifier(): [Path] MyDeriveEnum -# 89| getSegment(): [PathSegment] MyDeriveEnum -# 89| getIdentifier(): [NameRef] MyDeriveEnum -# 90| getSegment(): [PathSegment] Variant1 -# 90| getIdentifier(): [NameRef] Variant1 -# 89| getArm(1): [MatchArm] ... => true -# 88| getExpr(): [BooleanLiteralExpr] true -# 89| getPat(): [TuplePat] TuplePat -# 89| getField(0): [PathPat] ...::Variant2 -# 89| getPath(): [Path] ...::Variant2 -# 89| getQualifier(): [Path] MyDeriveEnum -# 89| getSegment(): [PathSegment] MyDeriveEnum -# 89| getIdentifier(): [NameRef] MyDeriveEnum -# 91| getSegment(): [PathSegment] Variant2 -# 91| getIdentifier(): [NameRef] Variant2 -# 89| getField(1): [PathPat] ...::Variant2 -# 89| getPath(): [Path] ...::Variant2 -# 89| getQualifier(): [Path] MyDeriveEnum -# 89| getSegment(): [PathSegment] MyDeriveEnum -# 89| getIdentifier(): [NameRef] MyDeriveEnum -# 91| getSegment(): [PathSegment] Variant2 -# 91| getIdentifier(): [NameRef] Variant2 -# 88| getArm(2): [MatchArm] ... => false -# 88| getExpr(): [BooleanLiteralExpr] false -# 88| getPat(): [IdentPat] _unused -# 88| getName(): [Name] _unused -# 88| getName(): [Name] eq -# 88| getRetType(): [RetTypeRepr] RetTypeRepr -# 88| getTypeRepr(): [PathTypeRepr] bool -# 88| getPath(): [Path] bool -# 88| getSegment(): [PathSegment] bool -# 88| getIdentifier(): [NameRef] bool -# 88| getGenericParamList(): [GenericParamList] <...> -# 89| getSelfTy(): [PathTypeRepr] MyDeriveEnum::<...> -# 89| getPath(): [Path] MyDeriveEnum::<...> -# 89| getSegment(): [PathSegment] MyDeriveEnum::<...> -# 88| getGenericArgList(): [GenericArgList] <...> -# 89| getIdentifier(): [NameRef] MyDeriveEnum -# 88| getTrait(): [PathTypeRepr] ...::PartialEq -# 88| getPath(): [Path] ...::PartialEq -# 88| getQualifier(): [Path] ...::cmp -# 88| getQualifier(): [Path] $crate -# 88| getSegment(): [PathSegment] $crate -# 88| getIdentifier(): [NameRef] $crate -# 88| getSegment(): [PathSegment] cmp -# 88| getIdentifier(): [NameRef] cmp -# 88| getSegment(): [PathSegment] PartialEq -# 88| getIdentifier(): [NameRef] PartialEq -# 88| getWhereClause(): [WhereClause] WhereClause -# 89| getDeriveMacroExpansion(1): [MacroItems] MacroItems -# 89| getItem(0): [Impl] impl ...::Eq for MyDeriveEnum::<...> { ... } -# 88| getAssocItemList(): [AssocItemList] AssocItemList -# 88| getGenericParamList(): [GenericParamList] <...> -# 89| getSelfTy(): [PathTypeRepr] MyDeriveEnum::<...> -# 89| getPath(): [Path] MyDeriveEnum::<...> -# 89| getSegment(): [PathSegment] MyDeriveEnum::<...> -# 88| getGenericArgList(): [GenericArgList] <...> -# 89| getIdentifier(): [NameRef] MyDeriveEnum -# 88| getTrait(): [PathTypeRepr] ...::Eq -# 88| getPath(): [Path] ...::Eq -# 88| getQualifier(): [Path] ...::cmp -# 88| getQualifier(): [Path] $crate -# 88| getSegment(): [PathSegment] $crate -# 88| getIdentifier(): [NameRef] $crate -# 88| getSegment(): [PathSegment] cmp -# 88| getIdentifier(): [NameRef] cmp -# 88| getSegment(): [PathSegment] Eq -# 88| getIdentifier(): [NameRef] Eq -# 88| getWhereClause(): [WhereClause] WhereClause # 88| getAttr(0): [Attr] Attr -# 88| getMeta(): [Meta] Meta +# 88| getMeta(): [TokenTreeMeta] TokenTreeMeta # 88| getPath(): [Path] derive # 88| getSegment(): [PathSegment] derive # 88| getIdentifier(): [NameRef] derive @@ -989,7 +792,7 @@ macro_expansion.rs: # 98| getSegment(): [PathSegment] MyTrait # 98| getIdentifier(): [NameRef] MyTrait # 98| getAttr(0): [Attr] Attr -# 98| getMeta(): [Meta] Meta +# 98| getMeta(): [TokenTreeMeta] TokenTreeMeta # 98| getPath(): [Path] derive # 98| getSegment(): [PathSegment] derive # 98| getIdentifier(): [NameRef] derive @@ -1051,7 +854,7 @@ proc_macro.rs: # 5| getPat(): [IdentPat] item # 5| getName(): [Name] item # 4| getAttr(0): [Attr] Attr -# 4| getMeta(): [Meta] Meta +# 4| getMeta(): [PathMeta] PathMeta # 4| getPath(): [Path] proc_macro_attribute # 4| getSegment(): [PathSegment] proc_macro_attribute # 4| getIdentifier(): [NameRef] proc_macro_attribute @@ -1627,7 +1430,7 @@ proc_macro.rs: # 16| getStmtList(): [StmtList] StmtList # 16| getStatement(0): [LetStmt] let ... = ... # 15| getAttr(0): [Attr] Attr -# 15| getMeta(): [Meta] Meta +# 15| getMeta(): [TokenTreeMeta] TokenTreeMeta # 15| getPath(): [Path] allow # 15| getSegment(): [PathSegment] allow # 15| getIdentifier(): [NameRef] allow @@ -2068,7 +1871,7 @@ proc_macro.rs: # 21| getPat(): [IdentPat] item # 21| getName(): [Name] item # 20| getAttr(0): [Attr] Attr -# 20| getMeta(): [Meta] Meta +# 20| getMeta(): [PathMeta] PathMeta # 20| getPath(): [Path] proc_macro_attribute # 20| getSegment(): [PathSegment] proc_macro_attribute # 20| getIdentifier(): [NameRef] proc_macro_attribute @@ -2511,7 +2314,7 @@ proc_macro.rs: # 32| getPat(): [IdentPat] _item # 32| getName(): [Name] _item # 31| getAttr(0): [Attr] Attr -# 31| getMeta(): [Meta] Meta +# 31| getMeta(): [PathMeta] PathMeta # 31| getPath(): [Path] proc_macro_attribute # 31| getSegment(): [PathSegment] proc_macro_attribute # 31| getIdentifier(): [NameRef] proc_macro_attribute @@ -2543,7 +2346,7 @@ proc_macro.rs: # 37| getPat(): [IdentPat] input # 37| getName(): [Name] input # 36| getAttr(0): [Attr] Attr -# 36| getMeta(): [Meta] Meta +# 36| getMeta(): [TokenTreeMeta] TokenTreeMeta # 36| getPath(): [Path] proc_macro_derive # 36| getSegment(): [PathSegment] proc_macro_derive # 36| getIdentifier(): [NameRef] proc_macro_derive diff --git a/rust/ql/test/extractor-tests/macro-expansion/test.expected b/rust/ql/test/extractor-tests/macro-expansion/test.expected index f47a7455e916..50632f16bfe6 100644 --- a/rust/ql/test/extractor-tests/macro-expansion/test.expected +++ b/rust/ql/test/extractor-tests/macro-expansion/test.expected @@ -15,23 +15,20 @@ attribute_macros | macro_expansion.rs:31:5:34:5 | (item with attribute macro expansion) | 1 | macro_expansion.rs:32:5:34:5 | fn bzz_1 | | macro_expansion.rs:31:5:34:5 | (item with attribute macro expansion) | 2 | macro_expansion.rs:32:5:34:5 | fn bzz_2 | derive_macros -| macro_expansion.rs:83:1:86:1 | struct MyDerive | 0 | 0 | macro_expansion.rs:84:8:85:9 | impl ...::Debug for MyDerive::<...> { ... } | -| macro_expansion.rs:88:1:92:1 | enum MyDeriveEnum | 0 | 0 | macro_expansion.rs:89:6:91:12 | impl ...::PartialEq for MyDeriveEnum::<...> { ... } | -| macro_expansion.rs:88:1:92:1 | enum MyDeriveEnum | 1 | 0 | macro_expansion.rs:89:6:89:17 | impl ...::Eq for MyDeriveEnum::<...> { ... } | | macro_expansion.rs:98:1:102:1 | union MyDeriveUnion | 0 | 0 | macro_expansion.rs:99:7:99:19 | Const | | macro_expansion.rs:98:1:102:1 | union MyDeriveUnion | 0 | 1 | macro_expansion.rs:99:7:99:19 | impl MyTrait for MyDeriveUnion { ... } | macro_calls | macro_expansion.rs:5:9:5:35 | concat!... | macro_expansion.rs:5:17:5:34 | "Hello world!" | | macro_expansion.rs:5:9:5:35 | concat!... | macro_expansion.rs:5:17:5:34 | "Hello world!" | -| macro_expansion.rs:31:5:31:16 | ...::format_args_nl!... | macro_expansion.rs:31:5:31:16 | FormatArgsExpr | -| macro_expansion.rs:31:5:31:16 | ...::format_args_nl!... | macro_expansion.rs:31:5:31:16 | FormatArgsExpr | -| macro_expansion.rs:31:5:31:16 | ...::format_args_nl!... | macro_expansion.rs:31:5:31:16 | FormatArgsExpr | -| macro_expansion.rs:31:5:31:16 | println!... | macro_expansion.rs:31:5:31:16 | { ... } | -| macro_expansion.rs:31:5:31:16 | println!... | macro_expansion.rs:31:5:31:16 | { ... } | -| macro_expansion.rs:31:5:31:16 | println!... | macro_expansion.rs:31:5:31:16 | { ... } | -| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:5:31:16 | { ... } | -| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:5:31:16 | { ... } | -| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:5:31:16 | { ... } | +| macro_expansion.rs:31:7:31:15 | ...::format_args_nl!... | macro_expansion.rs:31:7:31:15 | FormatArgsExpr | +| macro_expansion.rs:31:7:31:15 | ...::format_args_nl!... | macro_expansion.rs:31:7:31:15 | FormatArgsExpr | +| macro_expansion.rs:31:7:31:15 | ...::format_args_nl!... | macro_expansion.rs:31:7:31:15 | FormatArgsExpr | +| macro_expansion.rs:31:7:31:15 | println!... | macro_expansion.rs:31:7:31:15 | { ... } | +| macro_expansion.rs:31:7:31:15 | println!... | macro_expansion.rs:31:7:31:15 | { ... } | +| macro_expansion.rs:31:7:31:15 | println!... | macro_expansion.rs:31:7:31:15 | { ... } | +| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:7:31:15 | { ... } | +| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:7:31:15 | { ... } | +| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:7:31:15 | { ... } | | macro_expansion.rs:44:5:44:13 | def_x!... | macro_expansion.rs:44:5:44:10 | MacroItems | | macro_expansion.rs:53:9:53:25 | concat!... | macro_expansion.rs:53:17:53:24 | "xy" | | macro_expansion.rs:55:9:58:5 | my_macro!... | macro_expansion.rs:56:9:57:13 | MacroExpr | diff --git a/rust/ql/test/extractor-tests/macro-in-library/PrintAst.expected b/rust/ql/test/extractor-tests/macro-in-library/PrintAst.expected index aa0fc42f81d8..78b3d8cc786e 100644 --- a/rust/ql/test/extractor-tests/macro-in-library/PrintAst.expected +++ b/rust/ql/test/extractor-tests/macro-in-library/PrintAst.expected @@ -50,7 +50,7 @@ proc_macro.rs: # 5| getSegment(): [PathSegment] TokenStream # 5| getIdentifier(): [NameRef] TokenStream # 4| getAttr(0): [Attr] Attr -# 4| getMeta(): [Meta] Meta +# 4| getMeta(): [PathMeta] PathMeta # 4| getPath(): [Path] proc_macro_attribute # 4| getSegment(): [PathSegment] proc_macro_attribute # 4| getIdentifier(): [NameRef] proc_macro_attribute diff --git a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/InlineFlow.expected b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/InlineFlow.expected index d3c65fac62ff..7b8a4b97e60a 100644 --- a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/InlineFlow.expected +++ b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/InlineFlow.expected @@ -39,7 +39,7 @@ edges | test.rs:107:22:107:25 | path | test.rs:107:22:107:38 | path.into_inner() | provenance | MaD:11 | | test.rs:107:22:107:38 | path.into_inner() | test.rs:107:13:107:18 | TuplePat | provenance | | | test.rs:115:33:115:65 | ...: ...::Query::<...> | test.rs:116:14:116:14 | a | provenance | | -| test.rs:121:5:121:20 | to | test.rs:122:33:122:55 | ...: ...::Path::<...> | provenance | Src:MaD:4 | +| test.rs:121:7:121:19 | to | test.rs:122:33:122:55 | ...: ...::Path::<...> | provenance | Src:MaD:4 | | test.rs:122:33:122:55 | ...: ...::Path::<...> | test.rs:123:17:123:20 | path | provenance | | | test.rs:123:13:123:13 | a | test.rs:124:14:124:14 | a | provenance | | | test.rs:123:17:123:20 | path | test.rs:123:17:123:33 | path.into_inner() | provenance | MaD:11 | @@ -108,7 +108,7 @@ nodes | test.rs:110:14:110:14 | b | semmle.label | b | | test.rs:115:33:115:65 | ...: ...::Query::<...> | semmle.label | ...: ...::Query::<...> | | test.rs:116:14:116:14 | a | semmle.label | a | -| test.rs:121:5:121:20 | to | semmle.label | to | +| test.rs:121:7:121:19 | to | semmle.label | to | | test.rs:122:33:122:55 | ...: ...::Path::<...> | semmle.label | ...: ...::Path::<...> | | test.rs:123:13:123:13 | a | semmle.label | a | | test.rs:123:17:123:20 | path | semmle.label | path | @@ -172,7 +172,7 @@ testFailures | test.rs:109:14:109:14 | a | test.rs:132:45:132:46 | to | test.rs:109:14:109:14 | a | $@ | test.rs:132:45:132:46 | to | to | | test.rs:110:14:110:14 | b | test.rs:132:45:132:46 | to | test.rs:110:14:110:14 | b | $@ | test.rs:132:45:132:46 | to | to | | test.rs:116:14:116:14 | a | test.rs:133:41:133:42 | to | test.rs:116:14:116:14 | a | $@ | test.rs:133:41:133:42 | to | to | -| test.rs:124:14:124:14 | a | test.rs:121:5:121:20 | to | test.rs:124:14:124:14 | a | $@ | test.rs:121:5:121:20 | to | to | +| test.rs:124:14:124:14 | a | test.rs:121:7:121:19 | to | test.rs:124:14:124:14 | a | $@ | test.rs:121:7:121:19 | to | to | | test.rs:148:14:148:23 | a.as_str() | test.rs:200:30:200:32 | get | test.rs:148:14:148:23 | a.as_str() | $@ | test.rs:200:30:200:32 | get | get | | test.rs:149:14:149:25 | a.as_bytes() | test.rs:200:30:200:32 | get | test.rs:149:14:149:25 | a.as_bytes() | $@ | test.rs:200:30:200:32 | get | get | | test.rs:150:14:150:14 | a | test.rs:200:30:200:32 | get | test.rs:150:14:150:14 | a | $@ | test.rs:200:30:200:32 | get | get | diff --git a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/TaintSources.expected b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/TaintSources.expected index 146406e7192c..6ff9e7cfa031 100644 --- a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/TaintSources.expected +++ b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/TaintSources.expected @@ -3,14 +3,14 @@ | test.rs:48:14:48:30 | MyStruct {...} | Flow source 'RemoteSource' of type remote (DEFAULT). | | test.rs:58:14:58:15 | ms | Flow source 'RemoteSource' of type remote (DEFAULT). | | test.rs:68:15:68:15 | a | Flow source 'RemoteSource' of type remote (DEFAULT). | -| test.rs:121:5:121:20 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | -| test.rs:121:5:121:20 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | -| test.rs:121:5:121:20 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | -| test.rs:121:5:121:20 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | -| test.rs:121:5:121:20 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | -| test.rs:121:5:121:20 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | -| test.rs:121:5:121:20 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | -| test.rs:121:5:121:20 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | +| test.rs:121:7:121:19 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | +| test.rs:121:7:121:19 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | +| test.rs:121:7:121:19 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | +| test.rs:121:7:121:19 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | +| test.rs:121:7:121:19 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | +| test.rs:121:7:121:19 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | +| test.rs:121:7:121:19 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | +| test.rs:121:7:121:19 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | | test.rs:131:41:131:42 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | | test.rs:131:41:131:42 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | | test.rs:131:41:131:42 | to | Flow source 'RemoteSource' of type remote (DEFAULT). | diff --git a/rust/ql/test/library-tests/definitions/Definitions.expected b/rust/ql/test/library-tests/definitions/Definitions.expected index 23ad4e291de3..2ab25620188e 100644 --- a/rust/ql/test/library-tests/definitions/Definitions.expected +++ b/rust/ql/test/library-tests/definitions/Definitions.expected @@ -10,9 +10,9 @@ | main.rs:20:13:20:14 | S2 | main.rs:16:5:16:24 | struct S2 | path | | main.rs:20:16:20:16 | x | main.rs:19:20:19:20 | x | local variable | | main.rs:29:5:29:11 | println | {EXTERNAL LOCATION} | MacroRules | path | -| main.rs:29:22:29:26 | value | main.rs:29:50:29:54 | value | format argument | -| main.rs:29:29:29:33 | width | main.rs:26:9:26:13 | width | local variable | -| main.rs:29:36:29:44 | precision | main.rs:27:9:27:17 | precision | local variable | +| main.rs:29:22:29:26 | value | main.rs:29:50:29:56 | FormatArgsArgName | format argument | +| main.rs:29:29:29:33 | width | main.rs:29:50:29:56 | FormatArgsArgName | format argument | +| main.rs:29:36:29:44 | precision | main.rs:29:50:29:56 | FormatArgsArgName | format argument | | main.rs:30:5:30:11 | println | {EXTERNAL LOCATION} | MacroRules | path | | main.rs:30:22:30:22 | 0 | main.rs:30:34:30:38 | value | format argument | | main.rs:30:25:30:25 | 1 | main.rs:30:41:30:45 | width | format argument | diff --git a/rust/ql/test/query-tests/security/CWE-079/actix/XSS.expected b/rust/ql/test/query-tests/security/CWE-079/actix/XSS.expected index 9667a9216e6f..c388b6d58f09 100644 --- a/rust/ql/test/query-tests/security/CWE-079/actix/XSS.expected +++ b/rust/ql/test/query-tests/security/CWE-079/actix/XSS.expected @@ -1,7 +1,7 @@ #select -| main.rs:25:5:25:13 | ...::new | main.rs:8:1:8:18 | to | main.rs:25:5:25:13 | ...::new | Cross-site scripting vulnerability due to a $@. | main.rs:8:1:8:18 | to | user-provided value | +| main.rs:25:5:25:13 | ...::new | main.rs:8:3:8:17 | to | main.rs:25:5:25:13 | ...::new | Cross-site scripting vulnerability due to a $@. | main.rs:8:3:8:17 | to | user-provided value | edges -| main.rs:8:1:8:18 | to | main.rs:9:29:9:51 | ...: ...::Path::<...> | provenance | Src:MaD:2 | +| main.rs:8:3:8:17 | to | main.rs:9:29:9:51 | ...: ...::Path::<...> | provenance | Src:MaD:2 | | main.rs:9:29:9:51 | ...: ...::Path::<...> | main.rs:10:22:10:25 | path | provenance | | | main.rs:10:9:10:18 | user_input | main.rs:13:9:22:18 | MacroExpr | provenance | | | main.rs:10:22:10:25 | path | main.rs:10:22:10:38 | path.into_inner() | provenance | MaD:3 | @@ -19,7 +19,7 @@ models | 4 | Summary: alloc::fmt::format; Argument[0]; ReturnValue; taint | | 5 | Summary: core::hint::must_use; Argument[0]; ReturnValue; value | nodes -| main.rs:8:1:8:18 | to | semmle.label | to | +| main.rs:8:3:8:17 | to | semmle.label | to | | main.rs:9:29:9:51 | ...: ...::Path::<...> | semmle.label | ...: ...::Path::<...> | | main.rs:10:9:10:18 | user_input | semmle.label | user_input | | main.rs:10:22:10:25 | path | semmle.label | path | diff --git a/rust/ql/test/query-tests/security/CWE-614/InsecureCookie.expected b/rust/ql/test/query-tests/security/CWE-614/InsecureCookie.expected index 7decd880f595..15f6280fa524 100644 --- a/rust/ql/test/query-tests/security/CWE-614/InsecureCookie.expected +++ b/rust/ql/test/query-tests/security/CWE-614/InsecureCookie.expected @@ -23,325 +23,111 @@ | main.rs:49:41:49:45 | build | main.rs:49:5:49:25 | ...::build(...) | main.rs:49:41:49:45 | build | Cookie attribute 'Secure' is not set to true. | | main.rs:50:56:50:60 | build | main.rs:50:5:50:40 | ...::build(...) | main.rs:50:56:50:60 | build | Cookie attribute 'Secure' is not set to true. | | main.rs:53:65:53:69 | build | main.rs:53:5:53:49 | ... .secure(...) | main.rs:53:65:53:69 | build | Cookie attribute 'Secure' is not set to true. | -| main.rs:59:9:59:11 | add | main.rs:58:17:58:27 | ...::new | main.rs:59:9:59:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:60:9:60:20 | add_original | main.rs:58:17:58:27 | ...::new | main.rs:60:9:60:20 | add_original | Cookie attribute 'Secure' is not set to true. | -| main.rs:64:9:64:11 | add | main.rs:63:5:63:5 | [SSA] a | main.rs:64:9:64:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:64:9:64:11 | add | main.rs:63:5:63:5 | a | main.rs:64:9:64:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:69:16:69:18 | add | main.rs:68:17:68:29 | ...::named | main.rs:69:16:69:18 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:70:16:70:27 | add_original | main.rs:63:5:63:5 | [SSA] a | main.rs:70:16:70:27 | add_original | Cookie attribute 'Secure' is not set to true. | -| main.rs:70:16:70:27 | add_original | main.rs:63:5:63:5 | a | main.rs:70:16:70:27 | add_original | Cookie attribute 'Secure' is not set to true. | -| main.rs:72:16:72:18 | add | main.rs:71:5:71:5 | [SSA] b | main.rs:72:16:72:18 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:72:16:72:18 | add | main.rs:71:5:71:5 | b | main.rs:72:16:72:18 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:78:17:78:19 | add | main.rs:77:17:77:28 | ...::from | main.rs:78:17:78:19 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:79:17:79:28 | add_original | main.rs:63:5:63:5 | [SSA] a | main.rs:79:17:79:28 | add_original | Cookie attribute 'Secure' is not set to true. | -| main.rs:79:17:79:28 | add_original | main.rs:63:5:63:5 | a | main.rs:79:17:79:28 | add_original | Cookie attribute 'Secure' is not set to true. | -| main.rs:83:17:83:19 | add | main.rs:77:17:77:28 | ...::from | main.rs:83:17:83:19 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:88:9:88:11 | add | main.rs:87:17:87:28 | ...::from | main.rs:88:9:88:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:94:9:94:11 | add | main.rs:87:17:87:28 | ...::from | main.rs:94:9:94:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:123:13:123:18 | insert | main.rs:122:13:122:41 | ...::new | main.rs:123:13:123:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:131:13:131:18 | insert | main.rs:130:13:130:13 | b | main.rs:131:13:131:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:147:13:147:18 | insert | main.rs:146:13:146:13 | f | main.rs:147:13:147:18 | insert | Cookie attribute 'Secure' is not set to true. | | main.rs:152:13:152:18 | insert | main.rs:151:13:151:42 | ...::from | main.rs:152:13:152:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:156:13:156:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:156:13:156:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:157:13:157:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:157:13:157:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:158:13:158:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:158:13:158:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:159:13:159:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:159:13:159:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:160:13:160:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:160:13:160:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:161:13:161:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:161:13:161:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:162:13:162:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:162:13:162:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:163:13:163:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:163:13:163:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:164:13:164:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:164:13:164:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:165:13:165:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:165:13:165:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:166:13:166:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:166:13:166:18 | insert | Cookie attribute 'Secure' is not set to true. | -| main.rs:167:13:167:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:167:13:167:18 | insert | Cookie attribute 'Secure' is not set to true. | | main.rs:173:61:173:65 | build | main.rs:173:22:173:34 | ...::build | main.rs:173:61:173:65 | build | Cookie attribute 'Secure' is not set to true. | | main.rs:197:55:197:60 | finish | main.rs:197:5:197:39 | ...::build(...) | main.rs:197:55:197:60 | finish | Cookie attribute 'Secure' is not set to true. | | main.rs:198:65:198:70 | finish | main.rs:198:5:198:39 | ...::build(...) | main.rs:198:65:198:70 | finish | Cookie attribute 'Secure' is not set to true. | -| main.rs:202:9:202:11 | add | main.rs:201:5:201:11 | [SSA] cookie1 | main.rs:202:9:202:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:202:9:202:11 | add | main.rs:201:5:201:11 | cookie1 | main.rs:202:9:202:11 | add | Cookie attribute 'Secure' is not set to true. | | main.rs:212:41:212:46 | finish | main.rs:212:5:212:22 | ...::build | main.rs:212:41:212:46 | finish | Cookie attribute 'Secure' is not set to true. | -| main.rs:215:9:215:11 | add | main.rs:214:19:214:34 | ...::new | main.rs:215:9:215:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:219:9:219:11 | add | main.rs:218:5:218:11 | [SSA] cookie2 | main.rs:219:9:219:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:219:9:219:11 | add | main.rs:218:5:218:11 | cookie2 | main.rs:219:9:219:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:229:9:229:11 | add | main.rs:228:5:228:11 | [SSA] cookie1 | main.rs:229:9:229:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:229:9:229:11 | add | main.rs:228:5:228:11 | cookie1 | main.rs:229:9:229:11 | add | Cookie attribute 'Secure' is not set to true. | | main.rs:242:9:242:41 | ...::new | main.rs:241:29:241:62 | ...::new(...) | main.rs:242:9:242:41 | ...::new | Cookie attribute 'Secure' is not set to true. | | main.rs:245:9:245:41 | ...::new | main.rs:244:30:244:63 | ...::new(...) | main.rs:245:9:245:41 | ...::new | Cookie attribute 'Secure' is not set to true. | | main.rs:259:59:259:64 | finish | main.rs:259:5:259:43 | ...::build(...) | main.rs:259:59:259:64 | finish | Cookie attribute 'Secure' is not set to true. | | main.rs:260:69:260:74 | finish | main.rs:260:5:260:43 | ...::build(...) | main.rs:260:69:260:74 | finish | Cookie attribute 'Secure' is not set to true. | -| main.rs:264:9:264:11 | add | main.rs:263:5:263:11 | [SSA] cookie1 | main.rs:264:9:264:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:264:9:264:11 | add | main.rs:263:5:263:11 | cookie1 | main.rs:264:9:264:11 | add | Cookie attribute 'Secure' is not set to true. | | main.rs:274:45:274:50 | finish | main.rs:274:5:274:26 | ...::build | main.rs:274:45:274:50 | finish | Cookie attribute 'Secure' is not set to true. | -| main.rs:277:9:277:11 | add | main.rs:276:19:276:38 | ...::new | main.rs:277:9:277:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:281:9:281:11 | add | main.rs:280:5:280:11 | [SSA] cookie2 | main.rs:281:9:281:11 | add | Cookie attribute 'Secure' is not set to true. | -| main.rs:281:9:281:11 | add | main.rs:280:5:280:11 | cookie2 | main.rs:281:9:281:11 | add | Cookie attribute 'Secure' is not set to true. | edges -| main.rs:8:19:8:50 | ...::build(...) | main.rs:8:19:8:64 | ... .secure(...) | provenance | MaD:35 | +| main.rs:8:19:8:50 | ...::build(...) | main.rs:8:19:8:64 | ... .secure(...) | provenance | MaD:9 | | main.rs:8:19:8:64 | ... .secure(...) | main.rs:8:66:8:70 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:16:19:16:31 | ...::build | main.rs:16:19:16:50 | ...::build(...) | provenance | Src:MaD:15 MaD:15 | +| main.rs:16:19:16:31 | ...::build | main.rs:16:19:16:50 | ...::build(...) | provenance | Src:MaD:6 MaD:6 | | main.rs:16:19:16:50 | ...::build(...) | main.rs:16:52:16:56 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:20:5:20:36 | ...::build(...) | main.rs:20:5:20:54 | ... .secure(...) | provenance | MaD:35 | +| main.rs:20:5:20:36 | ...::build(...) | main.rs:20:5:20:54 | ... .secure(...) | provenance | MaD:9 | | main.rs:20:5:20:54 | ... .secure(...) | main.rs:20:56:20:60 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:21:5:21:36 | ...::build(...) | main.rs:21:5:21:55 | ... .secure(...) | provenance | MaD:35 | +| main.rs:21:5:21:36 | ...::build(...) | main.rs:21:5:21:55 | ... .secure(...) | provenance | MaD:9 | | main.rs:21:5:21:55 | ... .secure(...) | main.rs:21:57:21:61 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:25:5:25:36 | ...::build(...) | main.rs:25:5:25:52 | ... .secure(...) | provenance | MaD:35 | +| main.rs:25:5:25:36 | ...::build(...) | main.rs:25:5:25:52 | ... .secure(...) | provenance | MaD:9 | | main.rs:25:5:25:52 | ... .secure(...) | main.rs:25:54:25:58 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:26:5:26:36 | ...::build(...) | main.rs:26:5:26:50 | ... .secure(...) | provenance | MaD:35 | +| main.rs:26:5:26:36 | ...::build(...) | main.rs:26:5:26:50 | ... .secure(...) | provenance | MaD:9 | | main.rs:26:5:26:50 | ... .secure(...) | main.rs:26:52:26:56 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:27:5:27:36 | ...::build(...) | main.rs:27:5:27:51 | ... .secure(...) | provenance | MaD:35 | +| main.rs:27:5:27:36 | ...::build(...) | main.rs:27:5:27:51 | ... .secure(...) | provenance | MaD:9 | | main.rs:27:5:27:51 | ... .secure(...) | main.rs:27:53:27:57 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:28:5:28:36 | ...::build(...) | main.rs:28:5:28:60 | ... .secure(...) | provenance | MaD:35 | +| main.rs:28:5:28:36 | ...::build(...) | main.rs:28:5:28:60 | ... .secure(...) | provenance | MaD:9 | | main.rs:28:5:28:60 | ... .secure(...) | main.rs:28:62:28:66 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:29:5:29:36 | ...::build(...) | main.rs:29:5:29:60 | ... .secure(...) | provenance | MaD:35 | +| main.rs:29:5:29:36 | ...::build(...) | main.rs:29:5:29:60 | ... .secure(...) | provenance | MaD:9 | | main.rs:29:5:29:60 | ... .secure(...) | main.rs:29:62:29:66 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:33:9:33:40 | ...::build(...) | main.rs:33:9:33:58 | ... .secure(...) | provenance | MaD:35 | +| main.rs:33:9:33:40 | ...::build(...) | main.rs:33:9:33:58 | ... .secure(...) | provenance | MaD:9 | | main.rs:33:9:33:58 | ... .secure(...) | main.rs:33:60:33:64 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:35:9:35:40 | ...::build(...) | main.rs:35:9:35:58 | ... .secure(...) | provenance | MaD:35 | +| main.rs:35:9:35:40 | ...::build(...) | main.rs:35:9:35:58 | ... .secure(...) | provenance | MaD:9 | | main.rs:35:9:35:58 | ... .secure(...) | main.rs:35:60:35:64 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:39:5:39:39 | ...::new(...) | main.rs:39:5:39:53 | ... .secure(...) | provenance | MaD:35 | +| main.rs:39:5:39:39 | ...::new(...) | main.rs:39:5:39:53 | ... .secure(...) | provenance | MaD:9 | | main.rs:39:5:39:53 | ... .secure(...) | main.rs:39:55:39:59 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:40:5:40:50 | ... .expires(...) | main.rs:40:5:40:64 | ... .secure(...) | provenance | MaD:35 | +| main.rs:40:5:40:50 | ... .expires(...) | main.rs:40:5:40:64 | ... .secure(...) | provenance | MaD:9 | | main.rs:40:5:40:64 | ... .secure(...) | main.rs:40:66:40:70 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:41:5:41:79 | ... .max_age(...) | main.rs:41:5:41:93 | ... .secure(...) | provenance | MaD:35 | +| main.rs:41:5:41:79 | ... .max_age(...) | main.rs:41:5:41:93 | ... .secure(...) | provenance | MaD:9 | | main.rs:41:5:41:93 | ... .secure(...) | main.rs:41:95:41:99 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:42:5:42:58 | ... .domain(...) | main.rs:42:5:42:72 | ... .secure(...) | provenance | MaD:35 | +| main.rs:42:5:42:58 | ... .domain(...) | main.rs:42:5:42:72 | ... .secure(...) | provenance | MaD:9 | | main.rs:42:5:42:72 | ... .secure(...) | main.rs:42:74:42:78 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:43:5:43:46 | ... .path(...) | main.rs:43:5:43:60 | ... .secure(...) | provenance | MaD:35 | +| main.rs:43:5:43:46 | ... .path(...) | main.rs:43:5:43:60 | ... .secure(...) | provenance | MaD:9 | | main.rs:43:5:43:60 | ... .secure(...) | main.rs:43:62:43:66 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:44:5:44:52 | ... .http_only(...) | main.rs:44:5:44:66 | ... .secure(...) | provenance | MaD:35 | +| main.rs:44:5:44:52 | ... .http_only(...) | main.rs:44:5:44:66 | ... .secure(...) | provenance | MaD:9 | | main.rs:44:5:44:66 | ... .secure(...) | main.rs:44:68:44:72 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:45:5:45:72 | ... .same_site(...) | main.rs:45:5:45:86 | ... .secure(...) | provenance | MaD:35 | +| main.rs:45:5:45:72 | ... .same_site(...) | main.rs:45:5:45:86 | ... .secure(...) | provenance | MaD:9 | | main.rs:45:5:45:86 | ... .secure(...) | main.rs:45:88:45:92 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:46:5:46:48 | ... .permanent() | main.rs:46:5:46:62 | ... .secure(...) | provenance | MaD:35 | +| main.rs:46:5:46:48 | ... .permanent() | main.rs:46:5:46:62 | ... .secure(...) | provenance | MaD:9 | | main.rs:46:5:46:62 | ... .secure(...) | main.rs:46:64:46:68 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:47:5:47:46 | ... .removal() | main.rs:47:5:47:60 | ... .secure(...) | provenance | MaD:35 | +| main.rs:47:5:47:46 | ... .removal() | main.rs:47:5:47:60 | ... .secure(...) | provenance | MaD:9 | | main.rs:47:5:47:60 | ... .secure(...) | main.rs:47:62:47:66 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:48:5:48:36 | ...::build(...) | main.rs:48:5:48:50 | ... .secure(...) | provenance | MaD:35 | +| main.rs:48:5:48:36 | ...::build(...) | main.rs:48:5:48:50 | ... .secure(...) | provenance | MaD:9 | | main.rs:48:5:48:50 | ... .secure(...) | main.rs:48:52:48:57 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:49:5:49:25 | ...::build(...) | main.rs:49:5:49:39 | ... .secure(...) | provenance | MaD:35 | +| main.rs:49:5:49:25 | ...::build(...) | main.rs:49:5:49:39 | ... .secure(...) | provenance | MaD:9 | | main.rs:49:5:49:39 | ... .secure(...) | main.rs:49:41:49:45 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:50:5:50:40 | ...::build(...) | main.rs:50:5:50:54 | ... .secure(...) | provenance | MaD:35 | +| main.rs:50:5:50:40 | ...::build(...) | main.rs:50:5:50:54 | ... .secure(...) | provenance | MaD:9 | | main.rs:50:5:50:54 | ... .secure(...) | main.rs:50:56:50:60 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:53:5:53:49 | ... .secure(...) | main.rs:53:5:53:63 | ... .secure(...) | provenance | MaD:35 | +| main.rs:53:5:53:49 | ... .secure(...) | main.rs:53:5:53:63 | ... .secure(...) | provenance | MaD:9 | | main.rs:53:5:53:63 | ... .secure(...) | main.rs:53:65:53:69 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:58:9:58:13 | mut a | main.rs:59:13:59:13 | a | provenance | | -| main.rs:58:9:58:13 | mut a | main.rs:60:22:60:22 | a | provenance | | -| main.rs:58:17:58:27 | ...::new | main.rs:58:17:58:44 | ...::new(...) | provenance | Src:MaD:17 MaD:17 | -| main.rs:58:17:58:44 | ...::new(...) | main.rs:58:9:58:13 | mut a | provenance | | -| main.rs:59:13:59:13 | a | main.rs:59:13:59:21 | a.clone() | provenance | MaD:18 | -| main.rs:59:13:59:21 | a.clone() | main.rs:59:9:59:11 | add | provenance | MaD:4 Sink:MaD:4 | -| main.rs:60:22:60:22 | a | main.rs:60:22:60:30 | a.clone() | provenance | MaD:18 | -| main.rs:60:22:60:30 | a.clone() | main.rs:60:9:60:20 | add_original | provenance | MaD:5 Sink:MaD:5 | -| main.rs:63:5:63:5 | [SSA] a | main.rs:64:13:64:13 | a | provenance | | -| main.rs:63:5:63:5 | [SSA] a | main.rs:70:29:70:29 | a | provenance | | -| main.rs:63:5:63:5 | [SSA] a | main.rs:79:30:79:30 | a | provenance | | -| main.rs:63:5:63:5 | a | main.rs:64:13:64:13 | a | provenance | | -| main.rs:63:5:63:5 | a | main.rs:70:29:70:29 | a | provenance | | -| main.rs:63:5:63:5 | a | main.rs:79:30:79:30 | a | provenance | | -| main.rs:64:13:64:13 | a | main.rs:64:13:64:21 | a.clone() | provenance | MaD:18 | -| main.rs:64:13:64:21 | a.clone() | main.rs:64:9:64:11 | add | provenance | MaD:4 Sink:MaD:4 | -| main.rs:68:9:68:13 | mut b | main.rs:69:20:69:20 | b | provenance | | -| main.rs:68:17:68:29 | ...::named | main.rs:68:17:68:37 | ...::named(...) | provenance | Src:MaD:16 MaD:16 | -| main.rs:68:17:68:37 | ...::named(...) | main.rs:68:9:68:13 | mut b | provenance | | -| main.rs:69:20:69:20 | b | main.rs:69:20:69:28 | b.clone() | provenance | MaD:18 | -| main.rs:69:20:69:28 | b.clone() | main.rs:69:16:69:18 | add | provenance | MaD:8 Sink:MaD:8 | -| main.rs:70:29:70:29 | a | main.rs:70:29:70:37 | a.clone() | provenance | MaD:18 | -| main.rs:70:29:70:37 | a.clone() | main.rs:70:16:70:27 | add_original | provenance | MaD:9 Sink:MaD:9 | -| main.rs:71:5:71:5 | [SSA] b | main.rs:72:20:72:20 | b | provenance | | -| main.rs:71:5:71:5 | b | main.rs:72:20:72:20 | b | provenance | | -| main.rs:72:20:72:20 | b | main.rs:72:20:72:28 | b.clone() | provenance | MaD:18 | -| main.rs:72:20:72:28 | b.clone() | main.rs:72:16:72:18 | add | provenance | MaD:8 Sink:MaD:8 | -| main.rs:77:9:77:13 | mut c | main.rs:78:21:78:21 | c | provenance | | -| main.rs:77:9:77:13 | mut c | main.rs:83:21:83:21 | c | provenance | | -| main.rs:77:17:77:28 | ...::from | main.rs:77:17:77:36 | ...::from(...) | provenance | Src:MaD:14 MaD:14 | -| main.rs:77:17:77:36 | ...::from(...) | main.rs:77:9:77:13 | mut c | provenance | | -| main.rs:78:21:78:21 | c | main.rs:78:21:78:29 | c.clone() | provenance | MaD:18 | -| main.rs:78:21:78:29 | c.clone() | main.rs:78:17:78:19 | add | provenance | MaD:6 Sink:MaD:6 | -| main.rs:79:30:79:30 | a | main.rs:79:30:79:38 | a.clone() | provenance | MaD:18 | -| main.rs:79:30:79:38 | a.clone() | main.rs:79:17:79:28 | add_original | provenance | MaD:7 Sink:MaD:7 | -| main.rs:83:21:83:21 | c | main.rs:83:21:83:29 | c.clone() | provenance | MaD:18 | -| main.rs:83:21:83:29 | c.clone() | main.rs:83:17:83:19 | add | provenance | MaD:6 Sink:MaD:6 | -| main.rs:87:9:87:13 | mut d | main.rs:88:13:88:13 | d | provenance | | -| main.rs:87:9:87:13 | mut d | main.rs:94:13:94:13 | d | provenance | | -| main.rs:87:17:87:28 | ...::from | main.rs:87:17:87:36 | ...::from(...) | provenance | Src:MaD:14 MaD:14 | -| main.rs:87:17:87:36 | ...::from(...) | main.rs:87:9:87:13 | mut d | provenance | | -| main.rs:88:13:88:13 | d | main.rs:88:13:88:21 | d.clone() | provenance | MaD:18 | -| main.rs:88:13:88:21 | d.clone() | main.rs:88:9:88:11 | add | provenance | MaD:4 Sink:MaD:4 | -| main.rs:94:13:94:13 | d | main.rs:94:13:94:21 | d.clone() | provenance | MaD:18 | -| main.rs:94:13:94:21 | d.clone() | main.rs:94:9:94:11 | add | provenance | MaD:4 Sink:MaD:4 | -| main.rs:114:5:114:17 | ...::build | main.rs:114:5:114:36 | ...::build(...) | provenance | Src:MaD:15 MaD:15 | -| main.rs:114:5:114:36 | ...::build(...) | main.rs:114:5:114:54 | ... .partitioned(...) | provenance | MaD:33 | +| main.rs:114:5:114:17 | ...::build | main.rs:114:5:114:36 | ...::build(...) | provenance | Src:MaD:6 MaD:6 | +| main.rs:114:5:114:36 | ...::build(...) | main.rs:114:5:114:54 | ... .partitioned(...) | provenance | MaD:7 | | main.rs:114:5:114:54 | ... .partitioned(...) | main.rs:114:56:114:60 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:122:9:122:9 | a | main.rs:123:20:123:20 | a | provenance | | -| main.rs:122:13:122:41 | ...::new | main.rs:122:13:122:58 | ...::new(...) | provenance | Src:MaD:13 MaD:13 | -| main.rs:122:13:122:58 | ...::new(...) | main.rs:122:9:122:9 | a | provenance | | -| main.rs:123:20:123:20 | a | main.rs:123:20:123:28 | a.clone() | provenance | MaD:18 | -| main.rs:123:20:123:28 | a.clone() | main.rs:123:13:123:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:130:9:130:9 | c | main.rs:131:20:131:20 | c | provenance | | -| main.rs:130:9:130:9 | c | main.rs:134:13:134:13 | c | provenance | | -| main.rs:130:13:130:13 | b | main.rs:130:13:130:31 | b.set_secure(...) | provenance | MaD:28 | -| main.rs:130:13:130:31 | b.set_secure(...) | main.rs:130:9:130:9 | c | provenance | | -| main.rs:131:20:131:20 | c | main.rs:131:20:131:28 | c.clone() | provenance | MaD:18 | -| main.rs:131:20:131:28 | c.clone() | main.rs:131:13:131:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:134:9:134:9 | d | main.rs:135:20:135:20 | d | provenance | | -| main.rs:134:13:134:13 | c | main.rs:134:13:134:35 | c.set_partitioned(...) | provenance | MaD:25 | -| main.rs:134:13:134:35 | c.set_partitioned(...) | main.rs:134:9:134:9 | d | provenance | | -| main.rs:135:20:135:20 | d | main.rs:135:20:135:28 | d.clone() | provenance | MaD:18 | -| main.rs:135:20:135:28 | d.clone() | main.rs:135:13:135:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:146:9:146:9 | g | main.rs:147:20:147:20 | g | provenance | | -| main.rs:146:13:146:13 | f | main.rs:146:13:146:31 | f.set_secure(...) | provenance | MaD:28 | -| main.rs:146:13:146:31 | f.set_secure(...) | main.rs:146:9:146:9 | g | provenance | | -| main.rs:147:20:147:20 | g | main.rs:147:20:147:28 | g.clone() | provenance | MaD:18 | -| main.rs:147:20:147:28 | g.clone() | main.rs:147:13:147:18 | insert | provenance | MaD:1 Sink:MaD:1 | | main.rs:151:9:151:9 | h | main.rs:152:20:152:20 | h | provenance | | -| main.rs:151:13:151:42 | ...::from | main.rs:151:13:151:61 | ...::from(...) | provenance | Src:MaD:12 MaD:12 | +| main.rs:151:13:151:42 | ...::from | main.rs:151:13:151:61 | ...::from(...) | provenance | Src:MaD:5 MaD:5 | | main.rs:151:13:151:61 | ...::from(...) | main.rs:151:9:151:9 | h | provenance | | | main.rs:152:20:152:20 | h | main.rs:152:13:152:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:155:9:155:9 | i | main.rs:156:20:156:20 | i | provenance | | -| main.rs:155:9:155:9 | i | main.rs:157:20:157:20 | i | provenance | | -| main.rs:155:9:155:9 | i | main.rs:158:20:158:20 | i | provenance | | -| main.rs:155:9:155:9 | i | main.rs:159:20:159:20 | i | provenance | | -| main.rs:155:9:155:9 | i | main.rs:160:20:160:20 | i | provenance | | -| main.rs:155:9:155:9 | i | main.rs:161:20:161:20 | i | provenance | | -| main.rs:155:9:155:9 | i | main.rs:162:20:162:20 | i | provenance | | -| main.rs:155:9:155:9 | i | main.rs:163:20:163:20 | i | provenance | | -| main.rs:155:9:155:9 | i | main.rs:164:20:164:20 | i | provenance | | -| main.rs:155:9:155:9 | i | main.rs:165:20:165:20 | i | provenance | | -| main.rs:155:9:155:9 | i | main.rs:166:20:166:20 | i | provenance | | -| main.rs:155:9:155:9 | i | main.rs:167:20:167:20 | i | provenance | | -| main.rs:155:13:155:41 | ...::new | main.rs:155:13:155:58 | ...::new(...) | provenance | Src:MaD:13 MaD:13 | -| main.rs:155:13:155:58 | ...::new(...) | main.rs:155:9:155:9 | i | provenance | | -| main.rs:156:20:156:20 | i | main.rs:156:20:156:28 | i.clone() | provenance | MaD:18 | -| main.rs:156:20:156:28 | i.clone() | main.rs:156:20:156:46 | ... .set_name(...) | provenance | MaD:24 | -| main.rs:156:20:156:46 | ... .set_name(...) | main.rs:156:13:156:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:157:20:157:20 | i | main.rs:157:20:157:28 | i.clone() | provenance | MaD:18 | -| main.rs:157:20:157:28 | i.clone() | main.rs:157:20:157:48 | ... .set_value(...) | provenance | MaD:29 | -| main.rs:157:20:157:48 | ... .set_value(...) | main.rs:157:13:157:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:158:20:158:20 | i | main.rs:158:20:158:28 | i.clone() | provenance | MaD:18 | -| main.rs:158:20:158:28 | i.clone() | main.rs:158:20:158:48 | ... .set_http_only(...) | provenance | MaD:22 | -| main.rs:158:20:158:48 | ... .set_http_only(...) | main.rs:158:13:158:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:159:20:159:20 | i | main.rs:159:20:159:28 | i.clone() | provenance | MaD:18 | -| main.rs:159:20:159:28 | i.clone() | main.rs:159:20:159:70 | ... .set_same_site(...) | provenance | MaD:27 | -| main.rs:159:20:159:70 | ... .set_same_site(...) | main.rs:159:13:159:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:160:20:160:20 | i | main.rs:160:20:160:28 | i.clone() | provenance | MaD:18 | -| main.rs:160:20:160:28 | i.clone() | main.rs:160:20:160:46 | ... .set_max_age(...) | provenance | MaD:23 | -| main.rs:160:20:160:46 | ... .set_max_age(...) | main.rs:160:13:160:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:161:20:161:20 | i | main.rs:161:20:161:28 | i.clone() | provenance | MaD:18 | -| main.rs:161:20:161:28 | i.clone() | main.rs:161:20:161:42 | ... .set_path(...) | provenance | MaD:26 | -| main.rs:161:20:161:42 | ... .set_path(...) | main.rs:161:13:161:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:162:20:162:20 | i | main.rs:162:20:162:28 | i.clone() | provenance | MaD:18 | -| main.rs:162:20:162:28 | i.clone() | main.rs:162:20:162:41 | ... .unset_path() | provenance | MaD:32 | -| main.rs:162:20:162:41 | ... .unset_path() | main.rs:162:13:162:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:163:20:163:20 | i | main.rs:163:20:163:28 | i.clone() | provenance | MaD:18 | -| main.rs:163:20:163:28 | i.clone() | main.rs:163:20:163:54 | ... .set_domain(...) | provenance | MaD:20 | -| main.rs:163:20:163:54 | ... .set_domain(...) | main.rs:163:13:163:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:164:20:164:20 | i | main.rs:164:20:164:28 | i.clone() | provenance | MaD:18 | -| main.rs:164:20:164:28 | i.clone() | main.rs:164:20:164:43 | ... .unset_domain() | provenance | MaD:30 | -| main.rs:164:20:164:43 | ... .unset_domain() | main.rs:164:13:164:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:165:20:165:20 | i | main.rs:165:20:165:28 | i.clone() | provenance | MaD:18 | -| main.rs:165:20:165:28 | i.clone() | main.rs:165:20:165:46 | ... .set_expires(...) | provenance | MaD:21 | -| main.rs:165:20:165:46 | ... .set_expires(...) | main.rs:165:13:165:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:166:20:166:20 | i | main.rs:166:20:166:28 | i.clone() | provenance | MaD:18 | -| main.rs:166:20:166:28 | i.clone() | main.rs:166:20:166:44 | ... .unset_expires() | provenance | MaD:31 | -| main.rs:166:20:166:44 | ... .unset_expires() | main.rs:166:13:166:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:167:20:167:20 | i | main.rs:167:20:167:28 | i.clone() | provenance | MaD:18 | -| main.rs:167:20:167:28 | i.clone() | main.rs:167:20:167:45 | ... .make_permanent() | provenance | MaD:19 | -| main.rs:167:20:167:45 | ... .make_permanent() | main.rs:167:13:167:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:173:22:173:34 | ...::build | main.rs:173:22:173:59 | ...::build(...) | provenance | Src:MaD:15 MaD:15 | +| main.rs:173:22:173:34 | ...::build | main.rs:173:22:173:59 | ...::build(...) | provenance | Src:MaD:6 MaD:6 | | main.rs:173:22:173:59 | ...::build(...) | main.rs:173:61:173:65 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:197:5:197:39 | ...::build(...) | main.rs:197:5:197:53 | ... .secure(...) | provenance | MaD:35 | +| main.rs:197:5:197:39 | ...::build(...) | main.rs:197:5:197:53 | ... .secure(...) | provenance | MaD:9 | | main.rs:197:5:197:53 | ... .secure(...) | main.rs:197:55:197:60 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:198:5:198:39 | ...::build(...) | main.rs:198:5:198:53 | ... .secure(...) | provenance | MaD:35 | -| main.rs:198:5:198:53 | ... .secure(...) | main.rs:198:5:198:63 | ... .path(...) | provenance | MaD:34 | +| main.rs:198:5:198:39 | ...::build(...) | main.rs:198:5:198:53 | ... .secure(...) | provenance | MaD:9 | +| main.rs:198:5:198:53 | ... .secure(...) | main.rs:198:5:198:63 | ... .path(...) | provenance | MaD:8 | | main.rs:198:5:198:63 | ... .path(...) | main.rs:198:65:198:70 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:201:5:201:11 | [SSA] cookie1 | main.rs:202:13:202:19 | cookie1 | provenance | | -| main.rs:201:5:201:11 | cookie1 | main.rs:202:13:202:19 | cookie1 | provenance | | -| main.rs:202:13:202:19 | cookie1 | main.rs:202:13:202:27 | cookie1.clone() | provenance | MaD:18 | -| main.rs:202:13:202:27 | cookie1.clone() | main.rs:202:9:202:11 | add | provenance | MaD:4 Sink:MaD:4 | -| main.rs:212:5:212:22 | ...::build | main.rs:212:5:212:39 | ...::build(...) | provenance | Src:MaD:15 MaD:15 | +| main.rs:212:5:212:22 | ...::build | main.rs:212:5:212:39 | ...::build(...) | provenance | Src:MaD:6 MaD:6 | | main.rs:212:5:212:39 | ...::build(...) | main.rs:212:41:212:46 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:214:9:214:15 | cookie3 | main.rs:215:13:215:19 | cookie3 | provenance | | -| main.rs:214:19:214:34 | ...::new | main.rs:214:19:214:51 | ...::new(...) | provenance | Src:MaD:17 MaD:17 | -| main.rs:214:19:214:51 | ...::new(...) | main.rs:214:9:214:15 | cookie3 | provenance | | -| main.rs:215:13:215:19 | cookie3 | main.rs:215:13:215:27 | cookie3.clone() | provenance | MaD:18 | -| main.rs:215:13:215:27 | cookie3.clone() | main.rs:215:9:215:11 | add | provenance | MaD:4 Sink:MaD:4 | -| main.rs:218:5:218:11 | [SSA] cookie2 | main.rs:219:13:219:19 | cookie2 | provenance | | -| main.rs:218:5:218:11 | cookie2 | main.rs:219:13:219:19 | cookie2 | provenance | | -| main.rs:219:13:219:19 | cookie2 | main.rs:219:13:219:27 | cookie2.clone() | provenance | MaD:18 | -| main.rs:219:13:219:27 | cookie2.clone() | main.rs:219:9:219:11 | add | provenance | MaD:4 Sink:MaD:4 | -| main.rs:228:5:228:11 | [SSA] cookie1 | main.rs:229:13:229:19 | cookie1 | provenance | | -| main.rs:228:5:228:11 | cookie1 | main.rs:229:13:229:19 | cookie1 | provenance | | -| main.rs:229:13:229:19 | cookie1 | main.rs:229:13:229:27 | cookie1.clone() | provenance | MaD:18 | -| main.rs:229:13:229:27 | cookie1.clone() | main.rs:229:9:229:11 | add | provenance | MaD:11 Sink:MaD:11 | | main.rs:241:9:241:25 | cookie_config_bad | main.rs:242:43:242:59 | cookie_config_bad | provenance | | -| main.rs:241:29:241:62 | ...::new(...) | main.rs:241:29:241:76 | ... .secure(...) | provenance | MaD:38 | +| main.rs:241:29:241:62 | ...::new(...) | main.rs:241:29:241:76 | ... .secure(...) | provenance | MaD:12 | | main.rs:241:29:241:76 | ... .secure(...) | main.rs:241:9:241:25 | cookie_config_bad | provenance | | -| main.rs:242:43:242:59 | cookie_config_bad | main.rs:242:9:242:41 | ...::new | provenance | MaD:10 Sink:MaD:10 | +| main.rs:242:43:242:59 | cookie_config_bad | main.rs:242:9:242:41 | ...::new | provenance | MaD:4 Sink:MaD:4 | | main.rs:244:9:244:26 | cookie_config_bad2 | main.rs:245:43:245:60 | cookie_config_bad2 | provenance | | -| main.rs:244:30:244:63 | ...::new(...) | main.rs:244:30:244:77 | ... .secure(...) | provenance | MaD:38 | -| main.rs:244:30:244:77 | ... .secure(...) | main.rs:244:30:244:90 | ... .name(...) | provenance | MaD:36 | -| main.rs:244:30:244:90 | ... .name(...) | main.rs:244:30:244:100 | ... .path(...) | provenance | MaD:37 | +| main.rs:244:30:244:63 | ...::new(...) | main.rs:244:30:244:77 | ... .secure(...) | provenance | MaD:12 | +| main.rs:244:30:244:77 | ... .secure(...) | main.rs:244:30:244:90 | ... .name(...) | provenance | MaD:10 | +| main.rs:244:30:244:90 | ... .name(...) | main.rs:244:30:244:100 | ... .path(...) | provenance | MaD:11 | | main.rs:244:30:244:100 | ... .path(...) | main.rs:244:9:244:26 | cookie_config_bad2 | provenance | | -| main.rs:245:43:245:60 | cookie_config_bad2 | main.rs:245:9:245:41 | ...::new | provenance | MaD:10 Sink:MaD:10 | -| main.rs:259:5:259:43 | ...::build(...) | main.rs:259:5:259:57 | ... .secure(...) | provenance | MaD:35 | +| main.rs:245:43:245:60 | cookie_config_bad2 | main.rs:245:9:245:41 | ...::new | provenance | MaD:4 Sink:MaD:4 | +| main.rs:259:5:259:43 | ...::build(...) | main.rs:259:5:259:57 | ... .secure(...) | provenance | MaD:9 | | main.rs:259:5:259:57 | ... .secure(...) | main.rs:259:59:259:64 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:260:5:260:43 | ...::build(...) | main.rs:260:5:260:57 | ... .secure(...) | provenance | MaD:35 | -| main.rs:260:5:260:57 | ... .secure(...) | main.rs:260:5:260:67 | ... .path(...) | provenance | MaD:34 | +| main.rs:260:5:260:43 | ...::build(...) | main.rs:260:5:260:57 | ... .secure(...) | provenance | MaD:9 | +| main.rs:260:5:260:57 | ... .secure(...) | main.rs:260:5:260:67 | ... .path(...) | provenance | MaD:8 | | main.rs:260:5:260:67 | ... .path(...) | main.rs:260:69:260:74 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:263:5:263:11 | [SSA] cookie1 | main.rs:264:13:264:19 | cookie1 | provenance | | -| main.rs:263:5:263:11 | cookie1 | main.rs:264:13:264:19 | cookie1 | provenance | | -| main.rs:264:13:264:19 | cookie1 | main.rs:264:13:264:27 | cookie1.clone() | provenance | MaD:18 | -| main.rs:264:13:264:27 | cookie1.clone() | main.rs:264:9:264:11 | add | provenance | MaD:4 Sink:MaD:4 | -| main.rs:274:5:274:26 | ...::build | main.rs:274:5:274:43 | ...::build(...) | provenance | Src:MaD:15 MaD:15 | +| main.rs:274:5:274:26 | ...::build | main.rs:274:5:274:43 | ...::build(...) | provenance | Src:MaD:6 MaD:6 | | main.rs:274:5:274:43 | ...::build(...) | main.rs:274:45:274:50 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:276:9:276:15 | cookie3 | main.rs:277:13:277:19 | cookie3 | provenance | | -| main.rs:276:19:276:38 | ...::new | main.rs:276:19:276:55 | ...::new(...) | provenance | Src:MaD:17 MaD:17 | -| main.rs:276:19:276:55 | ...::new(...) | main.rs:276:9:276:15 | cookie3 | provenance | | -| main.rs:277:13:277:19 | cookie3 | main.rs:277:13:277:27 | cookie3.clone() | provenance | MaD:18 | -| main.rs:277:13:277:27 | cookie3.clone() | main.rs:277:9:277:11 | add | provenance | MaD:4 Sink:MaD:4 | -| main.rs:280:5:280:11 | [SSA] cookie2 | main.rs:281:13:281:19 | cookie2 | provenance | | -| main.rs:280:5:280:11 | cookie2 | main.rs:281:13:281:19 | cookie2 | provenance | | -| main.rs:281:13:281:19 | cookie2 | main.rs:281:13:281:27 | cookie2.clone() | provenance | MaD:18 | -| main.rs:281:13:281:27 | cookie2.clone() | main.rs:281:9:281:11 | add | provenance | MaD:4 Sink:MaD:4 | models | 1 | Sink: ::insert; Argument[0]; cookie-use | | 2 | Sink: ::build; Argument[self]; cookie-use | | 3 | Sink: ::finish; Argument[self]; cookie-use | -| 4 | Sink: ::add; Argument[0]; cookie-use | -| 5 | Sink: ::add_original; Argument[0]; cookie-use | -| 6 | Sink: ::add; Argument[0]; cookie-use | -| 7 | Sink: ::add_original; Argument[0]; cookie-use | -| 8 | Sink: ::add; Argument[0]; cookie-use | -| 9 | Sink: ::add_original; Argument[0]; cookie-use | -| 10 | Sink: ::new; Argument[0]; cookie-use | -| 11 | Sink: ::add; Argument[0]; cookie-use | -| 12 | Source: ::from; ReturnValue; cookie-create | -| 13 | Source: ::new; ReturnValue; cookie-create | -| 14 | Source: ::from; ReturnValue; cookie-create | -| 15 | Source: ::build; ReturnValue; cookie-create | -| 16 | Source: ::named; ReturnValue; cookie-create | -| 17 | Source: ::new; ReturnValue; cookie-create | -| 18 | Summary: <_ as core::clone::Clone>::clone; Argument[self].Reference; ReturnValue; value | -| 19 | Summary: ::make_permanent; Argument[self]; ReturnValue; taint | -| 20 | Summary: ::set_domain; Argument[self]; ReturnValue; taint | -| 21 | Summary: ::set_expires; Argument[self]; ReturnValue; taint | -| 22 | Summary: ::set_http_only; Argument[self]; ReturnValue; taint | -| 23 | Summary: ::set_max_age; Argument[self]; ReturnValue; taint | -| 24 | Summary: ::set_name; Argument[self]; ReturnValue; taint | -| 25 | Summary: ::set_partitioned; Argument[self].OptionalBarrier[cookie-partitioned-arg0]; ReturnValue; taint | -| 26 | Summary: ::set_path; Argument[self]; ReturnValue; taint | -| 27 | Summary: ::set_same_site; Argument[self]; ReturnValue; taint | -| 28 | Summary: ::set_secure; Argument[self].OptionalBarrier[cookie-secure-arg0]; ReturnValue; taint | -| 29 | Summary: ::set_value; Argument[self]; ReturnValue; taint | -| 30 | Summary: ::unset_domain; Argument[self]; ReturnValue; taint | -| 31 | Summary: ::unset_expires; Argument[self]; ReturnValue; taint | -| 32 | Summary: ::unset_path; Argument[self]; ReturnValue; taint | -| 33 | Summary: ::partitioned; Argument[self].OptionalBarrier[cookie-partitioned-arg0]; ReturnValue; taint | -| 34 | Summary: ::path; Argument[self]; ReturnValue; taint | -| 35 | Summary: ::secure; Argument[self].OptionalBarrier[cookie-secure-arg0]; ReturnValue; taint | -| 36 | Summary: ::name; Argument[self]; ReturnValue; taint | -| 37 | Summary: ::path; Argument[self]; ReturnValue; taint | -| 38 | Summary: ::secure; Argument[self].OptionalBarrier[cookie-secure-arg0]; ReturnValue; taint | +| 4 | Sink: ::new; Argument[0]; cookie-use | +| 5 | Source: ::from; ReturnValue; cookie-create | +| 6 | Source: ::build; ReturnValue; cookie-create | +| 7 | Summary: ::partitioned; Argument[self].OptionalBarrier[cookie-partitioned-arg0]; ReturnValue; taint | +| 8 | Summary: ::path; Argument[self]; ReturnValue; taint | +| 9 | Summary: ::secure; Argument[self].OptionalBarrier[cookie-secure-arg0]; ReturnValue; taint | +| 10 | Summary: ::name; Argument[self]; ReturnValue; taint | +| 11 | Summary: ::path; Argument[self]; ReturnValue; taint | +| 12 | Summary: ::secure; Argument[self].OptionalBarrier[cookie-secure-arg0]; ReturnValue; taint | nodes | main.rs:8:19:8:50 | ...::build(...) | semmle.label | ...::build(...) | | main.rs:8:19:8:64 | ... .secure(...) | semmle.label | ... .secure(...) | @@ -415,139 +201,15 @@ nodes | main.rs:53:5:53:49 | ... .secure(...) | semmle.label | ... .secure(...) | | main.rs:53:5:53:63 | ... .secure(...) | semmle.label | ... .secure(...) | | main.rs:53:65:53:69 | build | semmle.label | build | -| main.rs:58:9:58:13 | mut a | semmle.label | mut a | -| main.rs:58:17:58:27 | ...::new | semmle.label | ...::new | -| main.rs:58:17:58:44 | ...::new(...) | semmle.label | ...::new(...) | -| main.rs:59:9:59:11 | add | semmle.label | add | -| main.rs:59:13:59:13 | a | semmle.label | a | -| main.rs:59:13:59:21 | a.clone() | semmle.label | a.clone() | -| main.rs:60:9:60:20 | add_original | semmle.label | add_original | -| main.rs:60:22:60:22 | a | semmle.label | a | -| main.rs:60:22:60:30 | a.clone() | semmle.label | a.clone() | -| main.rs:63:5:63:5 | [SSA] a | semmle.label | [SSA] a | -| main.rs:63:5:63:5 | a | semmle.label | a | -| main.rs:64:9:64:11 | add | semmle.label | add | -| main.rs:64:13:64:13 | a | semmle.label | a | -| main.rs:64:13:64:21 | a.clone() | semmle.label | a.clone() | -| main.rs:68:9:68:13 | mut b | semmle.label | mut b | -| main.rs:68:17:68:29 | ...::named | semmle.label | ...::named | -| main.rs:68:17:68:37 | ...::named(...) | semmle.label | ...::named(...) | -| main.rs:69:16:69:18 | add | semmle.label | add | -| main.rs:69:20:69:20 | b | semmle.label | b | -| main.rs:69:20:69:28 | b.clone() | semmle.label | b.clone() | -| main.rs:70:16:70:27 | add_original | semmle.label | add_original | -| main.rs:70:29:70:29 | a | semmle.label | a | -| main.rs:70:29:70:37 | a.clone() | semmle.label | a.clone() | -| main.rs:71:5:71:5 | [SSA] b | semmle.label | [SSA] b | -| main.rs:71:5:71:5 | b | semmle.label | b | -| main.rs:72:16:72:18 | add | semmle.label | add | -| main.rs:72:20:72:20 | b | semmle.label | b | -| main.rs:72:20:72:28 | b.clone() | semmle.label | b.clone() | -| main.rs:77:9:77:13 | mut c | semmle.label | mut c | -| main.rs:77:17:77:28 | ...::from | semmle.label | ...::from | -| main.rs:77:17:77:36 | ...::from(...) | semmle.label | ...::from(...) | -| main.rs:78:17:78:19 | add | semmle.label | add | -| main.rs:78:21:78:21 | c | semmle.label | c | -| main.rs:78:21:78:29 | c.clone() | semmle.label | c.clone() | -| main.rs:79:17:79:28 | add_original | semmle.label | add_original | -| main.rs:79:30:79:30 | a | semmle.label | a | -| main.rs:79:30:79:38 | a.clone() | semmle.label | a.clone() | -| main.rs:83:17:83:19 | add | semmle.label | add | -| main.rs:83:21:83:21 | c | semmle.label | c | -| main.rs:83:21:83:29 | c.clone() | semmle.label | c.clone() | -| main.rs:87:9:87:13 | mut d | semmle.label | mut d | -| main.rs:87:17:87:28 | ...::from | semmle.label | ...::from | -| main.rs:87:17:87:36 | ...::from(...) | semmle.label | ...::from(...) | -| main.rs:88:9:88:11 | add | semmle.label | add | -| main.rs:88:13:88:13 | d | semmle.label | d | -| main.rs:88:13:88:21 | d.clone() | semmle.label | d.clone() | -| main.rs:94:9:94:11 | add | semmle.label | add | -| main.rs:94:13:94:13 | d | semmle.label | d | -| main.rs:94:13:94:21 | d.clone() | semmle.label | d.clone() | | main.rs:114:5:114:17 | ...::build | semmle.label | ...::build | | main.rs:114:5:114:36 | ...::build(...) | semmle.label | ...::build(...) | | main.rs:114:5:114:54 | ... .partitioned(...) | semmle.label | ... .partitioned(...) | | main.rs:114:56:114:60 | build | semmle.label | build | -| main.rs:122:9:122:9 | a | semmle.label | a | -| main.rs:122:13:122:41 | ...::new | semmle.label | ...::new | -| main.rs:122:13:122:58 | ...::new(...) | semmle.label | ...::new(...) | -| main.rs:123:13:123:18 | insert | semmle.label | insert | -| main.rs:123:20:123:20 | a | semmle.label | a | -| main.rs:123:20:123:28 | a.clone() | semmle.label | a.clone() | -| main.rs:130:9:130:9 | c | semmle.label | c | -| main.rs:130:13:130:13 | b | semmle.label | b | -| main.rs:130:13:130:31 | b.set_secure(...) | semmle.label | b.set_secure(...) | -| main.rs:131:13:131:18 | insert | semmle.label | insert | -| main.rs:131:20:131:20 | c | semmle.label | c | -| main.rs:131:20:131:28 | c.clone() | semmle.label | c.clone() | -| main.rs:134:9:134:9 | d | semmle.label | d | -| main.rs:134:13:134:13 | c | semmle.label | c | -| main.rs:134:13:134:35 | c.set_partitioned(...) | semmle.label | c.set_partitioned(...) | -| main.rs:135:13:135:18 | insert | semmle.label | insert | -| main.rs:135:20:135:20 | d | semmle.label | d | -| main.rs:135:20:135:28 | d.clone() | semmle.label | d.clone() | -| main.rs:146:9:146:9 | g | semmle.label | g | -| main.rs:146:13:146:13 | f | semmle.label | f | -| main.rs:146:13:146:31 | f.set_secure(...) | semmle.label | f.set_secure(...) | -| main.rs:147:13:147:18 | insert | semmle.label | insert | -| main.rs:147:20:147:20 | g | semmle.label | g | -| main.rs:147:20:147:28 | g.clone() | semmle.label | g.clone() | | main.rs:151:9:151:9 | h | semmle.label | h | | main.rs:151:13:151:42 | ...::from | semmle.label | ...::from | | main.rs:151:13:151:61 | ...::from(...) | semmle.label | ...::from(...) | | main.rs:152:13:152:18 | insert | semmle.label | insert | | main.rs:152:20:152:20 | h | semmle.label | h | -| main.rs:155:9:155:9 | i | semmle.label | i | -| main.rs:155:13:155:41 | ...::new | semmle.label | ...::new | -| main.rs:155:13:155:58 | ...::new(...) | semmle.label | ...::new(...) | -| main.rs:156:13:156:18 | insert | semmle.label | insert | -| main.rs:156:20:156:20 | i | semmle.label | i | -| main.rs:156:20:156:28 | i.clone() | semmle.label | i.clone() | -| main.rs:156:20:156:46 | ... .set_name(...) | semmle.label | ... .set_name(...) | -| main.rs:157:13:157:18 | insert | semmle.label | insert | -| main.rs:157:20:157:20 | i | semmle.label | i | -| main.rs:157:20:157:28 | i.clone() | semmle.label | i.clone() | -| main.rs:157:20:157:48 | ... .set_value(...) | semmle.label | ... .set_value(...) | -| main.rs:158:13:158:18 | insert | semmle.label | insert | -| main.rs:158:20:158:20 | i | semmle.label | i | -| main.rs:158:20:158:28 | i.clone() | semmle.label | i.clone() | -| main.rs:158:20:158:48 | ... .set_http_only(...) | semmle.label | ... .set_http_only(...) | -| main.rs:159:13:159:18 | insert | semmle.label | insert | -| main.rs:159:20:159:20 | i | semmle.label | i | -| main.rs:159:20:159:28 | i.clone() | semmle.label | i.clone() | -| main.rs:159:20:159:70 | ... .set_same_site(...) | semmle.label | ... .set_same_site(...) | -| main.rs:160:13:160:18 | insert | semmle.label | insert | -| main.rs:160:20:160:20 | i | semmle.label | i | -| main.rs:160:20:160:28 | i.clone() | semmle.label | i.clone() | -| main.rs:160:20:160:46 | ... .set_max_age(...) | semmle.label | ... .set_max_age(...) | -| main.rs:161:13:161:18 | insert | semmle.label | insert | -| main.rs:161:20:161:20 | i | semmle.label | i | -| main.rs:161:20:161:28 | i.clone() | semmle.label | i.clone() | -| main.rs:161:20:161:42 | ... .set_path(...) | semmle.label | ... .set_path(...) | -| main.rs:162:13:162:18 | insert | semmle.label | insert | -| main.rs:162:20:162:20 | i | semmle.label | i | -| main.rs:162:20:162:28 | i.clone() | semmle.label | i.clone() | -| main.rs:162:20:162:41 | ... .unset_path() | semmle.label | ... .unset_path() | -| main.rs:163:13:163:18 | insert | semmle.label | insert | -| main.rs:163:20:163:20 | i | semmle.label | i | -| main.rs:163:20:163:28 | i.clone() | semmle.label | i.clone() | -| main.rs:163:20:163:54 | ... .set_domain(...) | semmle.label | ... .set_domain(...) | -| main.rs:164:13:164:18 | insert | semmle.label | insert | -| main.rs:164:20:164:20 | i | semmle.label | i | -| main.rs:164:20:164:28 | i.clone() | semmle.label | i.clone() | -| main.rs:164:20:164:43 | ... .unset_domain() | semmle.label | ... .unset_domain() | -| main.rs:165:13:165:18 | insert | semmle.label | insert | -| main.rs:165:20:165:20 | i | semmle.label | i | -| main.rs:165:20:165:28 | i.clone() | semmle.label | i.clone() | -| main.rs:165:20:165:46 | ... .set_expires(...) | semmle.label | ... .set_expires(...) | -| main.rs:166:13:166:18 | insert | semmle.label | insert | -| main.rs:166:20:166:20 | i | semmle.label | i | -| main.rs:166:20:166:28 | i.clone() | semmle.label | i.clone() | -| main.rs:166:20:166:44 | ... .unset_expires() | semmle.label | ... .unset_expires() | -| main.rs:167:13:167:18 | insert | semmle.label | insert | -| main.rs:167:20:167:20 | i | semmle.label | i | -| main.rs:167:20:167:28 | i.clone() | semmle.label | i.clone() | -| main.rs:167:20:167:45 | ... .make_permanent() | semmle.label | ... .make_permanent() | | main.rs:173:22:173:34 | ...::build | semmle.label | ...::build | | main.rs:173:22:173:59 | ...::build(...) | semmle.label | ...::build(...) | | main.rs:173:61:173:65 | build | semmle.label | build | @@ -558,30 +220,9 @@ nodes | main.rs:198:5:198:53 | ... .secure(...) | semmle.label | ... .secure(...) | | main.rs:198:5:198:63 | ... .path(...) | semmle.label | ... .path(...) | | main.rs:198:65:198:70 | finish | semmle.label | finish | -| main.rs:201:5:201:11 | [SSA] cookie1 | semmle.label | [SSA] cookie1 | -| main.rs:201:5:201:11 | cookie1 | semmle.label | cookie1 | -| main.rs:202:9:202:11 | add | semmle.label | add | -| main.rs:202:13:202:19 | cookie1 | semmle.label | cookie1 | -| main.rs:202:13:202:27 | cookie1.clone() | semmle.label | cookie1.clone() | | main.rs:212:5:212:22 | ...::build | semmle.label | ...::build | | main.rs:212:5:212:39 | ...::build(...) | semmle.label | ...::build(...) | | main.rs:212:41:212:46 | finish | semmle.label | finish | -| main.rs:214:9:214:15 | cookie3 | semmle.label | cookie3 | -| main.rs:214:19:214:34 | ...::new | semmle.label | ...::new | -| main.rs:214:19:214:51 | ...::new(...) | semmle.label | ...::new(...) | -| main.rs:215:9:215:11 | add | semmle.label | add | -| main.rs:215:13:215:19 | cookie3 | semmle.label | cookie3 | -| main.rs:215:13:215:27 | cookie3.clone() | semmle.label | cookie3.clone() | -| main.rs:218:5:218:11 | [SSA] cookie2 | semmle.label | [SSA] cookie2 | -| main.rs:218:5:218:11 | cookie2 | semmle.label | cookie2 | -| main.rs:219:9:219:11 | add | semmle.label | add | -| main.rs:219:13:219:19 | cookie2 | semmle.label | cookie2 | -| main.rs:219:13:219:27 | cookie2.clone() | semmle.label | cookie2.clone() | -| main.rs:228:5:228:11 | [SSA] cookie1 | semmle.label | [SSA] cookie1 | -| main.rs:228:5:228:11 | cookie1 | semmle.label | cookie1 | -| main.rs:229:9:229:11 | add | semmle.label | add | -| main.rs:229:13:229:19 | cookie1 | semmle.label | cookie1 | -| main.rs:229:13:229:27 | cookie1.clone() | semmle.label | cookie1.clone() | | main.rs:241:9:241:25 | cookie_config_bad | semmle.label | cookie_config_bad | | main.rs:241:29:241:62 | ...::new(...) | semmle.label | ...::new(...) | | main.rs:241:29:241:76 | ... .secure(...) | semmle.label | ... .secure(...) | @@ -601,23 +242,58 @@ nodes | main.rs:260:5:260:57 | ... .secure(...) | semmle.label | ... .secure(...) | | main.rs:260:5:260:67 | ... .path(...) | semmle.label | ... .path(...) | | main.rs:260:69:260:74 | finish | semmle.label | finish | -| main.rs:263:5:263:11 | [SSA] cookie1 | semmle.label | [SSA] cookie1 | -| main.rs:263:5:263:11 | cookie1 | semmle.label | cookie1 | -| main.rs:264:9:264:11 | add | semmle.label | add | -| main.rs:264:13:264:19 | cookie1 | semmle.label | cookie1 | -| main.rs:264:13:264:27 | cookie1.clone() | semmle.label | cookie1.clone() | | main.rs:274:5:274:26 | ...::build | semmle.label | ...::build | | main.rs:274:5:274:43 | ...::build(...) | semmle.label | ...::build(...) | | main.rs:274:45:274:50 | finish | semmle.label | finish | -| main.rs:276:9:276:15 | cookie3 | semmle.label | cookie3 | -| main.rs:276:19:276:38 | ...::new | semmle.label | ...::new | -| main.rs:276:19:276:55 | ...::new(...) | semmle.label | ...::new(...) | -| main.rs:277:9:277:11 | add | semmle.label | add | -| main.rs:277:13:277:19 | cookie3 | semmle.label | cookie3 | -| main.rs:277:13:277:27 | cookie3.clone() | semmle.label | cookie3.clone() | -| main.rs:280:5:280:11 | [SSA] cookie2 | semmle.label | [SSA] cookie2 | -| main.rs:280:5:280:11 | cookie2 | semmle.label | cookie2 | -| main.rs:281:9:281:11 | add | semmle.label | add | -| main.rs:281:13:281:19 | cookie2 | semmle.label | cookie2 | -| main.rs:281:13:281:27 | cookie2.clone() | semmle.label | cookie2.clone() | subpaths +testFailures +| main.rs:58:47:58:57 | //... | Missing result: Source | +| main.rs:59:25:59:56 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:60:34:60:65 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:63:26:63:36 | //... | Missing result: Source | +| main.rs:64:25:64:56 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:68:40:68:50 | //... | Missing result: Source | +| main.rs:69:32:69:63 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:70:41:70:72 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:71:30:71:40 | //... | Missing result: Source | +| main.rs:72:32:72:63 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:77:39:77:49 | //... | Missing result: Source | +| main.rs:78:33:78:64 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:79:42:79:73 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:83:33:83:64 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:87:39:87:49 | //... | Missing result: Source | +| main.rs:88:25:88:56 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:94:25:94:66 | //... | Fixed spurious result: Alert[rust/insecure-cookie] | +| main.rs:122:61:122:71 | //... | Missing result: Source | +| main.rs:123:32:123:63 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:130:34:130:44 | //... | Missing result: Source | +| main.rs:131:32:131:63 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:146:34:146:44 | //... | Missing result: Source | +| main.rs:147:32:147:63 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:155:61:155:71 | //... | Missing result: Source | +| main.rs:156:50:156:81 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:157:52:157:83 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:158:52:158:83 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:159:74:159:105 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:160:50:160:81 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:161:46:161:77 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:162:45:162:76 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:163:58:163:89 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:164:47:164:78 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:165:50:165:81 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:166:48:166:79 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:167:49:167:80 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:201:32:201:42 | //... | Missing result: Source | +| main.rs:202:31:202:62 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:214:54:214:64 | //... | Missing result: Source | +| main.rs:215:31:215:62 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:218:31:218:41 | //... | Missing result: Source | +| main.rs:219:31:219:62 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:228:32:228:42 | //... | Missing result: Source | +| main.rs:229:31:229:62 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:263:32:263:42 | //... | Missing result: Source | +| main.rs:264:31:264:62 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:276:58:276:68 | //... | Missing result: Source | +| main.rs:277:31:277:62 | //... | Missing result: Alert[rust/insecure-cookie] | +| main.rs:280:31:280:41 | //... | Missing result: Source | +| main.rs:281:31:281:62 | //... | Missing result: Alert[rust/insecure-cookie] | diff --git a/rust/ql/test/query-tests/security/CWE-696/BadCTorInitialization.expected b/rust/ql/test/query-tests/security/CWE-696/BadCTorInitialization.expected index cf0f287e4f7b..7430d3bacfc3 100644 --- a/rust/ql/test/query-tests/security/CWE-696/BadCTorInitialization.expected +++ b/rust/ql/test/query-tests/security/CWE-696/BadCTorInitialization.expected @@ -22,8 +22,8 @@ | test.rs:125:9:125:44 | ... .write_all(...) | test.rs:128:1:128:7 | Attr | test.rs:125:9:125:44 | ... .write_all(...) | Call to ... .write_all(...) from the standard library in a function with the ctor attribute. | | test.rs:125:9:125:44 | ... .write_all(...) | test.rs:144:1:144:7 | Attr | test.rs:125:9:125:44 | ... .write_all(...) | Call to ... .write_all(...) from the standard library in a function with the ctor attribute. | | test.rs:125:9:125:44 | ... .write_all(...) | test.rs:150:1:150:7 | Attr | test.rs:125:9:125:44 | ... .write_all(...) | Call to ... .write_all(...) from the standard library in a function with the ctor attribute. | -| test.rs:168:1:168:7 | ... .write(...) | test.rs:168:1:168:7 | Attr | test.rs:168:1:168:7 | ... .write(...) | Call to ... .write(...) from the standard library in a function with the ctor attribute. | -| test.rs:168:1:168:7 | ...::stdout(...) | test.rs:168:1:168:7 | Attr | test.rs:168:1:168:7 | ...::stdout(...) | Call to ...::stdout(...) from the standard library in a function with the ctor attribute. | +| test.rs:168:3:168:6 | ... .write(...) | test.rs:168:1:168:7 | Attr | test.rs:168:3:168:6 | ... .write(...) | Call to ... .write(...) from the standard library in a function with the ctor attribute. | +| test.rs:168:3:168:6 | ...::stdout(...) | test.rs:168:1:168:7 | Attr | test.rs:168:3:168:6 | ...::stdout(...) | Call to ...::stdout(...) from the standard library in a function with the ctor attribute. | edges | test.rs:28:1:28:13 | Attr | test.rs:29:4:31:1 | fn bad1_1 | | test.rs:29:4:31:1 | fn bad1_1 | test.rs:30:9:30:25 | ...::stdout(...) | @@ -65,5 +65,5 @@ edges | test.rs:151:4:153:1 | fn bad3_4 | test.rs:152:5:152:12 | bad3_3(...) | | test.rs:152:5:152:12 | bad3_3(...) | test.rs:145:4:148:1 | fn bad3_3 | | test.rs:168:1:168:7 | Attr | test.rs:169:4:171:1 | fn bad4_1 | -| test.rs:169:4:171:1 | fn bad4_1 | test.rs:168:1:168:7 | ... .write(...) | -| test.rs:169:4:171:1 | fn bad4_1 | test.rs:168:1:168:7 | ...::stdout(...) | +| test.rs:169:4:171:1 | fn bad4_1 | test.rs:168:3:168:6 | ... .write(...) | +| test.rs:169:4:171:1 | fn bad4_1 | test.rs:168:3:168:6 | ...::stdout(...) | diff --git a/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected b/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected index 477dbee0e0f4..dca47ef0cdc2 100644 --- a/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected +++ b/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected @@ -42,16 +42,21 @@ | main.rs:210:40:210:50 | grow_zeroed | main.rs:339:13:339:26 | ...::args | main.rs:210:40:210:50 | grow_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:213:36:213:41 | shrink | main.rs:339:13:339:26 | ...::args | main.rs:213:36:213:41 | shrink | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:219:13:219:24 | ...::malloc | main.rs:339:13:339:26 | ...::args | main.rs:219:13:219:24 | ...::malloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | +| main.rs:219:13:219:24 | ...::malloc | main.rs:339:13:339:26 | ...::args | main.rs:219:13:219:24 | ...::malloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:220:13:220:31 | ...::aligned_alloc | main.rs:339:13:339:26 | ...::args | main.rs:220:13:220:31 | ...::aligned_alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:222:13:222:24 | ...::calloc | main.rs:339:13:339:26 | ...::args | main.rs:222:13:222:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | +| main.rs:222:13:222:24 | ...::calloc | main.rs:339:13:339:26 | ...::args | main.rs:222:13:222:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | +| main.rs:223:13:223:24 | ...::calloc | main.rs:339:13:339:26 | ...::args | main.rs:223:13:223:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:223:13:223:24 | ...::calloc | main.rs:339:13:339:26 | ...::args | main.rs:223:13:223:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:224:13:224:25 | ...::realloc | main.rs:339:13:339:26 | ...::args | main.rs:224:13:224:25 | ...::realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | +| main.rs:224:13:224:25 | ...::realloc | main.rs:339:13:339:26 | ...::args | main.rs:224:13:224:25 | ...::realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:228:13:228:41 | ...::try_with_capacity | main.rs:339:13:339:26 | ...::args | main.rs:228:13:228:41 | ...::try_with_capacity | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:229:13:229:37 | ...::with_capacity | main.rs:339:13:339:26 | ...::args | main.rs:229:13:229:37 | ...::with_capacity | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:230:13:230:44 | ...::try_with_capacity_in | main.rs:339:13:339:26 | ...::args | main.rs:230:13:230:44 | ...::try_with_capacity_in | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:231:13:231:40 | ...::with_capacity_in | main.rs:339:13:339:26 | ...::args | main.rs:231:13:231:40 | ...::with_capacity_in | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:287:22:287:38 | ...::alloc | main.rs:311:25:311:38 | ...::args | main.rs:287:22:287:38 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:311:25:311:38 | ...::args | user-provided value | | main.rs:331:13:331:24 | ...::malloc | main.rs:339:13:339:26 | ...::args | main.rs:331:13:331:24 | ...::malloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | +| main.rs:331:13:331:24 | ...::malloc | main.rs:339:13:339:26 | ...::args | main.rs:331:13:331:24 | ...::malloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | edges | main.rs:12:36:12:43 | ...: usize | main.rs:18:41:18:41 | v | provenance | | | main.rs:18:41:18:41 | v | main.rs:18:13:18:31 | ...::realloc | provenance | MaD:17 Sink:MaD:17 | @@ -60,43 +65,43 @@ edges | main.rs:18:41:18:41 | v | main.rs:32:60:32:60 | v | provenance | | | main.rs:18:41:18:41 | v | main.rs:35:49:35:49 | v | provenance | | | main.rs:20:9:20:10 | l2 | main.rs:21:31:21:32 | l2 | provenance | | -| main.rs:20:14:20:54 | ...::from_size_align(...) [Ok] | main.rs:20:14:20:63 | ... .unwrap() | provenance | MaD:41 | +| main.rs:20:14:20:54 | ...::from_size_align(...) [Ok] | main.rs:20:14:20:63 | ... .unwrap() | provenance | MaD:44 | | main.rs:20:14:20:63 | ... .unwrap() | main.rs:20:9:20:10 | l2 | provenance | | -| main.rs:20:50:20:50 | v | main.rs:20:14:20:54 | ...::from_size_align(...) [Ok] | provenance | MaD:33 | +| main.rs:20:50:20:50 | v | main.rs:20:14:20:54 | ...::from_size_align(...) [Ok] | provenance | MaD:36 | | main.rs:21:31:21:32 | l2 | main.rs:21:13:21:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:21:31:21:32 | l2 | main.rs:22:31:22:32 | l2 | provenance | | | main.rs:21:31:21:32 | l2 | main.rs:23:31:23:32 | l2 | provenance | | | main.rs:21:31:21:32 | l2 | main.rs:24:38:24:39 | l2 | provenance | | -| main.rs:22:31:22:32 | l2 | main.rs:22:31:22:44 | l2.align_to(...) [Ok] | provenance | MaD:27 | -| main.rs:22:31:22:44 | l2.align_to(...) [Ok] | main.rs:22:31:22:53 | ... .unwrap() | provenance | MaD:41 | +| main.rs:22:31:22:32 | l2 | main.rs:22:31:22:44 | l2.align_to(...) [Ok] | provenance | MaD:30 | +| main.rs:22:31:22:44 | l2.align_to(...) [Ok] | main.rs:22:31:22:53 | ... .unwrap() | provenance | MaD:44 | | main.rs:22:31:22:53 | ... .unwrap() | main.rs:22:13:22:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:23:31:23:32 | l2 | main.rs:23:31:23:44 | l2.align_to(...) [Ok] | provenance | MaD:27 | -| main.rs:23:31:23:44 | l2.align_to(...) [Ok] | main.rs:23:31:23:53 | ... .unwrap() | provenance | MaD:41 | -| main.rs:23:31:23:53 | ... .unwrap() | main.rs:23:31:23:68 | ... .pad_to_align() | provenance | MaD:35 | +| main.rs:23:31:23:32 | l2 | main.rs:23:31:23:44 | l2.align_to(...) [Ok] | provenance | MaD:30 | +| main.rs:23:31:23:44 | l2.align_to(...) [Ok] | main.rs:23:31:23:53 | ... .unwrap() | provenance | MaD:44 | +| main.rs:23:31:23:53 | ... .unwrap() | main.rs:23:31:23:68 | ... .pad_to_align() | provenance | MaD:38 | | main.rs:23:31:23:68 | ... .pad_to_align() | main.rs:23:13:23:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:24:38:24:39 | l2 | main.rs:24:13:24:36 | ...::alloc_zeroed | provenance | MaD:16 Sink:MaD:16 | | main.rs:29:9:29:10 | l4 | main.rs:30:31:30:32 | l4 | provenance | | | main.rs:29:14:29:64 | ...::from_size_align_unchecked(...) | main.rs:29:9:29:10 | l4 | provenance | | -| main.rs:29:60:29:60 | v | main.rs:29:14:29:64 | ...::from_size_align_unchecked(...) | provenance | MaD:34 | +| main.rs:29:60:29:60 | v | main.rs:29:14:29:64 | ...::from_size_align_unchecked(...) | provenance | MaD:37 | | main.rs:30:31:30:32 | l4 | main.rs:30:13:30:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:32:9:32:10 | l5 | main.rs:33:31:33:32 | l5 | provenance | | | main.rs:32:14:32:118 | ...::from_size_align_unchecked(...) | main.rs:32:9:32:10 | l5 | provenance | | -| main.rs:32:60:32:60 | v | main.rs:32:60:32:89 | ... * ... | provenance | MaD:25 | -| main.rs:32:60:32:89 | ... * ... | main.rs:32:14:32:118 | ...::from_size_align_unchecked(...) | provenance | MaD:34 | +| main.rs:32:60:32:60 | v | main.rs:32:60:32:89 | ... * ... | provenance | MaD:28 | +| main.rs:32:60:32:89 | ... * ... | main.rs:32:14:32:118 | ...::from_size_align_unchecked(...) | provenance | MaD:37 | | main.rs:33:31:33:32 | l5 | main.rs:33:13:33:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:35:9:35:10 | s6 | main.rs:36:60:36:61 | s6 | provenance | | | main.rs:35:14:35:54 | ... + ... | main.rs:35:9:35:10 | s6 | provenance | | -| main.rs:35:15:35:49 | ... * ... | main.rs:35:14:35:54 | ... + ... | provenance | MaD:24 | -| main.rs:35:49:35:49 | v | main.rs:35:15:35:49 | ... * ... | provenance | MaD:25 | +| main.rs:35:15:35:49 | ... * ... | main.rs:35:14:35:54 | ... + ... | provenance | MaD:27 | +| main.rs:35:49:35:49 | v | main.rs:35:15:35:49 | ... * ... | provenance | MaD:28 | | main.rs:36:9:36:10 | l6 | main.rs:37:31:37:32 | l6 | provenance | | | main.rs:36:14:36:65 | ...::from_size_align_unchecked(...) | main.rs:36:9:36:10 | l6 | provenance | | -| main.rs:36:60:36:61 | s6 | main.rs:36:14:36:65 | ...::from_size_align_unchecked(...) | provenance | MaD:34 | +| main.rs:36:60:36:61 | s6 | main.rs:36:14:36:65 | ...::from_size_align_unchecked(...) | provenance | MaD:37 | | main.rs:37:31:37:32 | l6 | main.rs:37:13:37:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:37:31:37:32 | l6 | main.rs:39:60:39:61 | l6 | provenance | | | main.rs:39:9:39:10 | l7 | main.rs:40:31:40:32 | l7 | provenance | | | main.rs:39:14:39:72 | ...::from_size_align_unchecked(...) | main.rs:39:9:39:10 | l7 | provenance | | -| main.rs:39:60:39:61 | l6 | main.rs:39:60:39:68 | l6.size() | provenance | MaD:38 | -| main.rs:39:60:39:68 | l6.size() | main.rs:39:14:39:72 | ...::from_size_align_unchecked(...) | provenance | MaD:34 | +| main.rs:39:60:39:61 | l6 | main.rs:39:60:39:68 | l6.size() | provenance | MaD:41 | +| main.rs:39:60:39:68 | l6.size() | main.rs:39:14:39:72 | ...::from_size_align_unchecked(...) | provenance | MaD:37 | | main.rs:40:31:40:32 | l7 | main.rs:40:13:40:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:43:44:43:51 | ...: usize | main.rs:50:41:50:41 | v | provenance | | | main.rs:43:44:43:51 | ...: usize | main.rs:51:41:51:41 | v | provenance | | @@ -104,27 +109,27 @@ edges | main.rs:43:44:43:51 | ...: usize | main.rs:54:48:54:48 | v | provenance | | | main.rs:43:44:43:51 | ...: usize | main.rs:58:34:58:34 | v | provenance | | | main.rs:43:44:43:51 | ...: usize | main.rs:67:46:67:46 | v | provenance | | -| main.rs:50:31:50:42 | l2.repeat(...) [Ok, tuple.0] | main.rs:50:31:50:51 | ... .unwrap() [tuple.0] | provenance | MaD:41 | +| main.rs:50:31:50:42 | l2.repeat(...) [Ok, tuple.0] | main.rs:50:31:50:51 | ... .unwrap() [tuple.0] | provenance | MaD:44 | | main.rs:50:31:50:51 | ... .unwrap() [tuple.0] | main.rs:50:31:50:53 | ... .0 | provenance | | | main.rs:50:31:50:53 | ... .0 | main.rs:50:13:50:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:50:41:50:41 | v | main.rs:50:31:50:42 | l2.repeat(...) [Ok, tuple.0] | provenance | MaD:36 | -| main.rs:51:31:51:46 | l2.repeat(...) [Ok, tuple.0] | main.rs:51:31:51:55 | ... .unwrap() [tuple.0] | provenance | MaD:41 | +| main.rs:50:41:50:41 | v | main.rs:50:31:50:42 | l2.repeat(...) [Ok, tuple.0] | provenance | MaD:39 | +| main.rs:51:31:51:46 | l2.repeat(...) [Ok, tuple.0] | main.rs:51:31:51:55 | ... .unwrap() [tuple.0] | provenance | MaD:44 | | main.rs:51:31:51:55 | ... .unwrap() [tuple.0] | main.rs:51:31:51:57 | ... .0 | provenance | | | main.rs:51:31:51:57 | ... .0 | main.rs:51:13:51:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:51:41:51:41 | v | main.rs:51:41:51:45 | ... + ... | provenance | MaD:24 | -| main.rs:51:41:51:45 | ... + ... | main.rs:51:31:51:46 | l2.repeat(...) [Ok, tuple.0] | provenance | MaD:36 | -| main.rs:53:31:53:49 | l2.repeat_packed(...) [Ok] | main.rs:53:31:53:58 | ... .unwrap() | provenance | MaD:41 | +| main.rs:51:41:51:41 | v | main.rs:51:41:51:45 | ... + ... | provenance | MaD:27 | +| main.rs:51:41:51:45 | ... + ... | main.rs:51:31:51:46 | l2.repeat(...) [Ok, tuple.0] | provenance | MaD:39 | +| main.rs:53:31:53:49 | l2.repeat_packed(...) [Ok] | main.rs:53:31:53:58 | ... .unwrap() | provenance | MaD:44 | | main.rs:53:31:53:58 | ... .unwrap() | main.rs:53:13:53:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:53:48:53:48 | v | main.rs:53:31:53:49 | l2.repeat_packed(...) [Ok] | provenance | MaD:37 | -| main.rs:54:31:54:54 | l2.repeat_packed(...) [Ok] | main.rs:54:31:54:63 | ... .unwrap() | provenance | MaD:41 | +| main.rs:53:48:53:48 | v | main.rs:53:31:53:49 | l2.repeat_packed(...) [Ok] | provenance | MaD:40 | +| main.rs:54:31:54:54 | l2.repeat_packed(...) [Ok] | main.rs:54:31:54:63 | ... .unwrap() | provenance | MaD:44 | | main.rs:54:31:54:63 | ... .unwrap() | main.rs:54:13:54:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:54:48:54:48 | v | main.rs:54:48:54:53 | ... * ... | provenance | MaD:25 | -| main.rs:54:48:54:53 | ... * ... | main.rs:54:31:54:54 | l2.repeat_packed(...) [Ok] | provenance | MaD:37 | +| main.rs:54:48:54:48 | v | main.rs:54:48:54:53 | ... * ... | provenance | MaD:28 | +| main.rs:54:48:54:53 | ... * ... | main.rs:54:31:54:54 | l2.repeat_packed(...) [Ok] | provenance | MaD:40 | | main.rs:58:9:58:20 | TuplePat [tuple.0] | main.rs:58:10:58:11 | k1 | provenance | | | main.rs:58:10:58:11 | k1 | main.rs:59:31:59:32 | k1 | provenance | | -| main.rs:58:24:58:35 | l3.repeat(...) [Ok, tuple.0] | main.rs:58:24:58:66 | ... .expect(...) [tuple.0] | provenance | MaD:40 | +| main.rs:58:24:58:35 | l3.repeat(...) [Ok, tuple.0] | main.rs:58:24:58:66 | ... .expect(...) [tuple.0] | provenance | MaD:43 | | main.rs:58:24:58:66 | ... .expect(...) [tuple.0] | main.rs:58:9:58:20 | TuplePat [tuple.0] | provenance | | -| main.rs:58:34:58:34 | v | main.rs:58:24:58:35 | l3.repeat(...) [Ok, tuple.0] | provenance | MaD:36 | +| main.rs:58:34:58:34 | v | main.rs:58:24:58:35 | l3.repeat(...) [Ok, tuple.0] | provenance | MaD:39 | | main.rs:59:31:59:32 | k1 | main.rs:59:13:59:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:59:31:59:32 | k1 | main.rs:60:34:60:35 | k1 | provenance | | | main.rs:59:31:59:32 | k1 | main.rs:62:24:62:25 | k1 | provenance | | @@ -132,32 +137,32 @@ edges | main.rs:59:31:59:32 | k1 | main.rs:65:31:65:32 | k1 | provenance | | | main.rs:60:9:60:20 | TuplePat [tuple.0] | main.rs:60:10:60:11 | k2 | provenance | | | main.rs:60:10:60:11 | k2 | main.rs:61:31:61:32 | k2 | provenance | | -| main.rs:60:24:60:36 | l3.extend(...) [Ok, tuple.0] | main.rs:60:24:60:45 | ... .unwrap() [tuple.0] | provenance | MaD:41 | +| main.rs:60:24:60:36 | l3.extend(...) [Ok, tuple.0] | main.rs:60:24:60:45 | ... .unwrap() [tuple.0] | provenance | MaD:44 | | main.rs:60:24:60:45 | ... .unwrap() [tuple.0] | main.rs:60:9:60:20 | TuplePat [tuple.0] | provenance | | -| main.rs:60:34:60:35 | k1 | main.rs:60:24:60:36 | l3.extend(...) [Ok, tuple.0] | provenance | MaD:29 | +| main.rs:60:34:60:35 | k1 | main.rs:60:24:60:36 | l3.extend(...) [Ok, tuple.0] | provenance | MaD:32 | | main.rs:61:31:61:32 | k2 | main.rs:61:13:61:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:62:9:62:20 | TuplePat [tuple.0] | main.rs:62:10:62:11 | k3 | provenance | | | main.rs:62:10:62:11 | k3 | main.rs:63:31:63:32 | k3 | provenance | | -| main.rs:62:24:62:25 | k1 | main.rs:62:24:62:36 | k1.extend(...) [Ok, tuple.0] | provenance | MaD:30 | -| main.rs:62:24:62:36 | k1.extend(...) [Ok, tuple.0] | main.rs:62:24:62:45 | ... .unwrap() [tuple.0] | provenance | MaD:41 | +| main.rs:62:24:62:25 | k1 | main.rs:62:24:62:36 | k1.extend(...) [Ok, tuple.0] | provenance | MaD:33 | +| main.rs:62:24:62:36 | k1.extend(...) [Ok, tuple.0] | main.rs:62:24:62:45 | ... .unwrap() [tuple.0] | provenance | MaD:44 | | main.rs:62:24:62:45 | ... .unwrap() [tuple.0] | main.rs:62:9:62:20 | TuplePat [tuple.0] | provenance | | | main.rs:63:31:63:32 | k3 | main.rs:63:13:63:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:64:31:64:50 | l3.extend_packed(...) [Ok] | main.rs:64:31:64:59 | ... .unwrap() | provenance | MaD:41 | +| main.rs:64:31:64:50 | l3.extend_packed(...) [Ok] | main.rs:64:31:64:59 | ... .unwrap() | provenance | MaD:44 | | main.rs:64:31:64:59 | ... .unwrap() | main.rs:64:13:64:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:64:48:64:49 | k1 | main.rs:64:31:64:50 | l3.extend_packed(...) [Ok] | provenance | MaD:31 | -| main.rs:65:31:65:32 | k1 | main.rs:65:31:65:50 | k1.extend_packed(...) [Ok] | provenance | MaD:32 | -| main.rs:65:31:65:50 | k1.extend_packed(...) [Ok] | main.rs:65:31:65:59 | ... .unwrap() | provenance | MaD:41 | +| main.rs:64:48:64:49 | k1 | main.rs:64:31:64:50 | l3.extend_packed(...) [Ok] | provenance | MaD:34 | +| main.rs:65:31:65:32 | k1 | main.rs:65:31:65:50 | k1.extend_packed(...) [Ok] | provenance | MaD:35 | +| main.rs:65:31:65:50 | k1.extend_packed(...) [Ok] | main.rs:65:31:65:59 | ... .unwrap() | provenance | MaD:44 | | main.rs:65:31:65:59 | ... .unwrap() | main.rs:65:13:65:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:67:9:67:10 | l4 | main.rs:68:31:68:32 | l4 | provenance | | -| main.rs:67:14:67:47 | ...::array::<...>(...) [Ok] | main.rs:67:14:67:56 | ... .unwrap() | provenance | MaD:41 | +| main.rs:67:14:67:47 | ...::array::<...>(...) [Ok] | main.rs:67:14:67:56 | ... .unwrap() | provenance | MaD:44 | | main.rs:67:14:67:56 | ... .unwrap() | main.rs:67:9:67:10 | l4 | provenance | | -| main.rs:67:46:67:46 | v | main.rs:67:14:67:47 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | +| main.rs:67:46:67:46 | v | main.rs:67:14:67:47 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | | main.rs:68:31:68:32 | l4 | main.rs:68:13:68:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:86:35:86:42 | ...: usize | main.rs:87:54:87:54 | v | provenance | | | main.rs:87:9:87:14 | layout | main.rs:88:31:88:36 | layout | provenance | | -| main.rs:87:18:87:58 | ...::from_size_align(...) [Ok] | main.rs:87:18:87:67 | ... .unwrap() | provenance | MaD:41 | +| main.rs:87:18:87:58 | ...::from_size_align(...) [Ok] | main.rs:87:18:87:67 | ... .unwrap() | provenance | MaD:44 | | main.rs:87:18:87:67 | ... .unwrap() | main.rs:87:9:87:14 | layout | provenance | | -| main.rs:87:54:87:54 | v | main.rs:87:18:87:58 | ...::from_size_align(...) [Ok] | provenance | MaD:33 | +| main.rs:87:54:87:54 | v | main.rs:87:18:87:58 | ...::from_size_align(...) [Ok] | provenance | MaD:36 | | main.rs:88:31:88:36 | layout | main.rs:88:13:88:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:91:38:91:45 | ...: usize | main.rs:92:47:92:47 | v | provenance | | | main.rs:91:38:91:45 | ...: usize | main.rs:101:51:101:51 | v | provenance | | @@ -168,16 +173,16 @@ edges | main.rs:91:38:91:45 | ...: usize | main.rs:161:55:161:55 | v | provenance | | | main.rs:92:9:92:10 | l1 | main.rs:96:35:96:36 | l1 | provenance | | | main.rs:92:9:92:10 | l1 | main.rs:102:35:102:36 | l1 | provenance | | -| main.rs:92:14:92:48 | ...::array::<...>(...) [Ok] | main.rs:92:14:92:57 | ... .unwrap() | provenance | MaD:41 | +| main.rs:92:14:92:48 | ...::array::<...>(...) [Ok] | main.rs:92:14:92:57 | ... .unwrap() | provenance | MaD:44 | | main.rs:92:14:92:57 | ... .unwrap() | main.rs:92:9:92:10 | l1 | provenance | | -| main.rs:92:47:92:47 | v | main.rs:92:14:92:48 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | +| main.rs:92:47:92:47 | v | main.rs:92:14:92:48 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | | main.rs:96:35:96:36 | l1 | main.rs:96:17:96:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:96:35:96:36 | l1 | main.rs:109:35:109:36 | l1 | provenance | | | main.rs:96:35:96:36 | l1 | main.rs:111:35:111:36 | l1 | provenance | | | main.rs:101:13:101:14 | l3 | main.rs:103:35:103:36 | l3 | provenance | | -| main.rs:101:18:101:52 | ...::array::<...>(...) [Ok] | main.rs:101:18:101:61 | ... .unwrap() | provenance | MaD:41 | +| main.rs:101:18:101:52 | ...::array::<...>(...) [Ok] | main.rs:101:18:101:61 | ... .unwrap() | provenance | MaD:44 | | main.rs:101:18:101:61 | ... .unwrap() | main.rs:101:13:101:14 | l3 | provenance | | -| main.rs:101:51:101:51 | v | main.rs:101:18:101:52 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | +| main.rs:101:51:101:51 | v | main.rs:101:18:101:52 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | | main.rs:102:35:102:36 | l1 | main.rs:102:17:102:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:102:35:102:36 | l1 | main.rs:109:35:109:36 | l1 | provenance | | | main.rs:102:35:102:36 | l1 | main.rs:111:35:111:36 | l1 | provenance | | @@ -188,28 +193,28 @@ edges | main.rs:111:35:111:36 | l1 | main.rs:111:17:111:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:111:35:111:36 | l1 | main.rs:146:35:146:36 | l1 | provenance | | | main.rs:145:13:145:14 | l9 | main.rs:148:35:148:36 | l9 | provenance | | -| main.rs:145:18:145:52 | ...::array::<...>(...) [Ok] | main.rs:145:18:145:61 | ... .unwrap() | provenance | MaD:41 | +| main.rs:145:18:145:52 | ...::array::<...>(...) [Ok] | main.rs:145:18:145:61 | ... .unwrap() | provenance | MaD:44 | | main.rs:145:18:145:61 | ... .unwrap() | main.rs:145:13:145:14 | l9 | provenance | | -| main.rs:145:51:145:51 | v | main.rs:145:18:145:52 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | +| main.rs:145:51:145:51 | v | main.rs:145:18:145:52 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | | main.rs:146:35:146:36 | l1 | main.rs:146:17:146:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:146:35:146:36 | l1 | main.rs:177:31:177:32 | l1 | provenance | | | main.rs:148:35:148:36 | l9 | main.rs:148:17:148:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:151:9:151:11 | l10 | main.rs:152:31:152:33 | l10 | provenance | | -| main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | main.rs:151:15:151:78 | ... .unwrap() | provenance | MaD:41 | +| main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | main.rs:151:15:151:78 | ... .unwrap() | provenance | MaD:44 | | main.rs:151:15:151:78 | ... .unwrap() | main.rs:151:9:151:11 | l10 | provenance | | -| main.rs:151:48:151:68 | ...::min(...) | main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | -| main.rs:151:62:151:62 | v | main.rs:151:48:151:68 | ...::min(...) | provenance | MaD:43 | +| main.rs:151:48:151:68 | ...::min(...) | main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | +| main.rs:151:62:151:62 | v | main.rs:151:48:151:68 | ...::min(...) | provenance | MaD:46 | | main.rs:152:31:152:33 | l10 | main.rs:152:13:152:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:154:9:154:11 | l11 | main.rs:155:31:155:33 | l11 | provenance | | -| main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | main.rs:154:15:154:78 | ... .unwrap() | provenance | MaD:41 | +| main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | main.rs:154:15:154:78 | ... .unwrap() | provenance | MaD:44 | | main.rs:154:15:154:78 | ... .unwrap() | main.rs:154:9:154:11 | l11 | provenance | | -| main.rs:154:48:154:68 | ...::max(...) | main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | -| main.rs:154:62:154:62 | v | main.rs:154:48:154:68 | ...::max(...) | provenance | MaD:42 | +| main.rs:154:48:154:68 | ...::max(...) | main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | +| main.rs:154:62:154:62 | v | main.rs:154:48:154:68 | ...::max(...) | provenance | MaD:45 | | main.rs:155:31:155:33 | l11 | main.rs:155:13:155:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:161:13:161:15 | l13 | main.rs:162:35:162:37 | l13 | provenance | | -| main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | main.rs:161:19:161:68 | ... .unwrap() | provenance | MaD:41 | +| main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | main.rs:161:19:161:68 | ... .unwrap() | provenance | MaD:44 | | main.rs:161:19:161:68 | ... .unwrap() | main.rs:161:13:161:15 | l13 | provenance | | -| main.rs:161:55:161:55 | v | main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | provenance | MaD:33 | +| main.rs:161:55:161:55 | v | main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | provenance | MaD:36 | | main.rs:162:35:162:37 | l13 | main.rs:162:17:162:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:162:35:162:37 | l13 | main.rs:169:35:169:37 | l13 | provenance | | | main.rs:169:35:169:37 | l13 | main.rs:169:17:169:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | @@ -217,9 +222,9 @@ edges | main.rs:183:29:183:36 | ...: usize | main.rs:192:46:192:46 | v | provenance | | | main.rs:183:29:183:36 | ...: usize | main.rs:202:48:202:48 | v | provenance | | | main.rs:192:9:192:10 | l2 | main.rs:193:38:193:39 | l2 | provenance | | -| main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | main.rs:192:14:192:56 | ... .unwrap() | provenance | MaD:41 | +| main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | main.rs:192:14:192:56 | ... .unwrap() | provenance | MaD:44 | | main.rs:192:14:192:56 | ... .unwrap() | main.rs:192:9:192:10 | l2 | provenance | | -| main.rs:192:46:192:46 | v | main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | +| main.rs:192:46:192:46 | v | main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | | main.rs:193:38:193:39 | l2 | main.rs:193:32:193:36 | alloc | provenance | MaD:12 Sink:MaD:12 | | main.rs:193:38:193:39 | l2 | main.rs:194:45:194:46 | l2 | provenance | | | main.rs:194:45:194:46 | l2 | main.rs:194:32:194:43 | alloc_zeroed | provenance | MaD:13 Sink:MaD:13 | @@ -240,14 +245,18 @@ edges | main.rs:213:51:213:52 | l2 | main.rs:213:36:213:41 | shrink | provenance | MaD:11 Sink:MaD:11 | | main.rs:217:27:217:34 | ...: usize | main.rs:219:26:219:26 | v | provenance | | | main.rs:219:26:219:26 | v | main.rs:219:13:219:24 | ...::malloc | provenance | MaD:20 Sink:MaD:20 | +| main.rs:219:26:219:26 | v | main.rs:219:13:219:24 | ...::malloc | provenance | MaD:23 Sink:MaD:23 | | main.rs:219:26:219:26 | v | main.rs:220:36:220:36 | v | provenance | | | main.rs:220:36:220:36 | v | main.rs:220:13:220:31 | ...::aligned_alloc | provenance | MaD:18 Sink:MaD:18 | | main.rs:220:36:220:36 | v | main.rs:222:30:222:30 | v | provenance | | | main.rs:222:30:222:30 | v | main.rs:222:13:222:24 | ...::calloc | provenance | MaD:19 Sink:MaD:19 | +| main.rs:222:30:222:30 | v | main.rs:222:13:222:24 | ...::calloc | provenance | MaD:22 Sink:MaD:22 | | main.rs:222:30:222:30 | v | main.rs:223:26:223:26 | v | provenance | | | main.rs:223:26:223:26 | v | main.rs:223:13:223:24 | ...::calloc | provenance | MaD:19 Sink:MaD:19 | +| main.rs:223:26:223:26 | v | main.rs:223:13:223:24 | ...::calloc | provenance | MaD:22 Sink:MaD:22 | | main.rs:223:26:223:26 | v | main.rs:224:31:224:31 | v | provenance | | | main.rs:224:31:224:31 | v | main.rs:224:13:224:25 | ...::realloc | provenance | MaD:21 Sink:MaD:21 | +| main.rs:224:31:224:31 | v | main.rs:224:13:224:25 | ...::realloc | provenance | MaD:24 Sink:MaD:24 | | main.rs:227:24:227:31 | ...: usize | main.rs:228:43:228:43 | v | provenance | | | main.rs:228:43:228:43 | v | main.rs:228:13:228:41 | ...::try_with_capacity | provenance | MaD:3 Sink:MaD:3 | | main.rs:228:43:228:43 | v | main.rs:229:39:229:39 | v | provenance | | @@ -258,21 +267,22 @@ edges | main.rs:231:42:231:42 | v | main.rs:231:13:231:40 | ...::with_capacity_in | provenance | MaD:6 Sink:MaD:6 | | main.rs:282:24:282:41 | ...: String | main.rs:283:21:283:30 | user_input | provenance | | | main.rs:283:9:283:17 | num_bytes | main.rs:285:54:285:62 | num_bytes | provenance | | -| main.rs:283:21:283:30 | user_input | main.rs:283:21:283:47 | user_input.parse() [Ok] | provenance | MaD:26 | +| main.rs:283:21:283:30 | user_input | main.rs:283:21:283:47 | user_input.parse() [Ok] | provenance | MaD:29 | | main.rs:283:21:283:47 | user_input.parse() [Ok] | main.rs:283:21:283:48 | TryExpr | provenance | | -| main.rs:283:21:283:48 | TryExpr | main.rs:283:21:283:77 | ... * ... | provenance | MaD:25 | +| main.rs:283:21:283:48 | TryExpr | main.rs:283:21:283:77 | ... * ... | provenance | MaD:28 | | main.rs:283:21:283:77 | ... * ... | main.rs:283:9:283:17 | num_bytes | provenance | | | main.rs:285:9:285:14 | layout | main.rs:287:40:287:45 | layout | provenance | | -| main.rs:285:18:285:66 | ...::from_size_align(...) [Ok] | main.rs:285:18:285:75 | ... .unwrap() | provenance | MaD:41 | +| main.rs:285:18:285:66 | ...::from_size_align(...) [Ok] | main.rs:285:18:285:75 | ... .unwrap() | provenance | MaD:44 | | main.rs:285:18:285:75 | ... .unwrap() | main.rs:285:9:285:14 | layout | provenance | | -| main.rs:285:54:285:62 | num_bytes | main.rs:285:18:285:66 | ...::from_size_align(...) [Ok] | provenance | MaD:33 | +| main.rs:285:54:285:62 | num_bytes | main.rs:285:18:285:66 | ...::from_size_align(...) [Ok] | provenance | MaD:36 | | main.rs:287:40:287:45 | layout | main.rs:287:22:287:38 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:311:25:311:38 | ...::args | main.rs:311:25:311:40 | ...::args(...) [element] | provenance | Src:MaD:22 | -| main.rs:311:25:311:40 | ...::args(...) [element] | main.rs:311:25:311:47 | ... .nth(...) [Some] | provenance | MaD:23 | -| main.rs:311:25:311:47 | ... .nth(...) [Some] | main.rs:311:25:311:74 | ... .unwrap_or(...) | provenance | MaD:39 | +| main.rs:311:25:311:38 | ...::args | main.rs:311:25:311:40 | ...::args(...) [element] | provenance | Src:MaD:25 | +| main.rs:311:25:311:40 | ...::args(...) [element] | main.rs:311:25:311:47 | ... .nth(...) [Some] | provenance | MaD:26 | +| main.rs:311:25:311:47 | ... .nth(...) [Some] | main.rs:311:25:311:74 | ... .unwrap_or(...) | provenance | MaD:42 | | main.rs:311:25:311:74 | ... .unwrap_or(...) | main.rs:282:24:282:41 | ...: String | provenance | | | main.rs:317:26:317:33 | ...: usize | main.rs:331:26:331:26 | a | provenance | | | main.rs:331:26:331:26 | a | main.rs:331:13:331:24 | ...::malloc | provenance | MaD:20 Sink:MaD:20 | +| main.rs:331:26:331:26 | a | main.rs:331:13:331:24 | ...::malloc | provenance | MaD:23 Sink:MaD:23 | | main.rs:339:9:339:9 | v | main.rs:342:34:342:34 | v | provenance | | | main.rs:339:9:339:9 | v | main.rs:343:42:343:42 | v | provenance | | | main.rs:339:9:339:9 | v | main.rs:344:36:344:36 | v | provenance | | @@ -280,11 +290,11 @@ edges | main.rs:339:9:339:9 | v | main.rs:346:25:346:25 | v | provenance | | | main.rs:339:9:339:9 | v | main.rs:347:22:347:22 | v | provenance | | | main.rs:339:9:339:9 | v | main.rs:349:24:349:24 | v | provenance | | -| main.rs:339:13:339:26 | ...::args | main.rs:339:13:339:28 | ...::args(...) [element] | provenance | Src:MaD:22 | -| main.rs:339:13:339:28 | ...::args(...) [element] | main.rs:339:13:339:35 | ... .nth(...) [Some] | provenance | MaD:23 | -| main.rs:339:13:339:35 | ... .nth(...) [Some] | main.rs:339:13:339:65 | ... .unwrap_or(...) | provenance | MaD:39 | -| main.rs:339:13:339:65 | ... .unwrap_or(...) | main.rs:339:13:339:82 | ... .parse() [Ok] | provenance | MaD:26 | -| main.rs:339:13:339:82 | ... .parse() [Ok] | main.rs:339:13:339:91 | ... .unwrap() | provenance | MaD:41 | +| main.rs:339:13:339:26 | ...::args | main.rs:339:13:339:28 | ...::args(...) [element] | provenance | Src:MaD:25 | +| main.rs:339:13:339:28 | ...::args(...) [element] | main.rs:339:13:339:35 | ... .nth(...) [Some] | provenance | MaD:26 | +| main.rs:339:13:339:35 | ... .nth(...) [Some] | main.rs:339:13:339:65 | ... .unwrap_or(...) | provenance | MaD:42 | +| main.rs:339:13:339:65 | ... .unwrap_or(...) | main.rs:339:13:339:82 | ... .parse() [Ok] | provenance | MaD:29 | +| main.rs:339:13:339:82 | ... .parse() [Ok] | main.rs:339:13:339:91 | ... .unwrap() | provenance | MaD:44 | | main.rs:339:13:339:91 | ... .unwrap() | main.rs:339:9:339:9 | v | provenance | | | main.rs:342:34:342:34 | v | main.rs:12:36:12:43 | ...: usize | provenance | | | main.rs:343:42:343:42 | v | main.rs:43:44:43:51 | ...: usize | provenance | | @@ -315,28 +325,31 @@ models | 19 | Sink: libc::unix::calloc; Argument[0,1]; alloc-size | | 20 | Sink: libc::unix::malloc; Argument[0]; alloc-size | | 21 | Sink: libc::unix::realloc; Argument[1]; alloc-size | -| 22 | Source: std::env::args; ReturnValue.Element; commandargs | -| 23 | Summary: <_ as core::iter::traits::iterator::Iterator>::nth; Argument[self].Reference.Element; ReturnValue.Field[core::option::Option::Some(0)]; value | -| 24 | Summary: <_ as core::ops::arith::Add>::add; Argument[self,0]; ReturnValue; taint | -| 25 | Summary: <_ as core::ops::arith::Mul>::mul; Argument[self,0]; ReturnValue; taint | -| 26 | Summary: ::deref; Argument[self]; ReturnValue; value | -| 27 | Summary: ::align_to; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 28 | Summary: ::array; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 29 | Summary: ::extend; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | -| 30 | Summary: ::extend; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | -| 31 | Summary: ::extend_packed; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 32 | Summary: ::extend_packed; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 33 | Summary: ::from_size_align; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 34 | Summary: ::from_size_align_unchecked; Argument[0]; ReturnValue; taint | -| 35 | Summary: ::pad_to_align; Argument[self].Reference; ReturnValue; taint | -| 36 | Summary: ::repeat; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | -| 37 | Summary: ::repeat_packed; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 38 | Summary: ::size; Argument[self].Reference; ReturnValue; taint | -| 39 | Summary: ::unwrap_or; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | -| 40 | Summary: ::expect; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 41 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 42 | Summary: core::cmp::max; Argument[0]; ReturnValue; value | -| 43 | Summary: core::cmp::min; Argument[0]; ReturnValue; value | +| 22 | Sink: libc::windows::calloc; Argument[0,1]; alloc-size | +| 23 | Sink: libc::windows::malloc; Argument[0]; alloc-size | +| 24 | Sink: libc::windows::realloc; Argument[1]; alloc-size | +| 25 | Source: std::env::args; ReturnValue.Element; commandargs | +| 26 | Summary: <_ as core::iter::traits::iterator::Iterator>::nth; Argument[self].Reference.Element; ReturnValue.Field[core::option::Option::Some(0)]; value | +| 27 | Summary: <_ as core::ops::arith::Add>::add; Argument[self,0]; ReturnValue; taint | +| 28 | Summary: <_ as core::ops::arith::Mul>::mul; Argument[self,0]; ReturnValue; taint | +| 29 | Summary: ::deref; Argument[self]; ReturnValue; value | +| 30 | Summary: ::align_to; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 31 | Summary: ::array; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 32 | Summary: ::extend; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | +| 33 | Summary: ::extend; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | +| 34 | Summary: ::extend_packed; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 35 | Summary: ::extend_packed; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 36 | Summary: ::from_size_align; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 37 | Summary: ::from_size_align_unchecked; Argument[0]; ReturnValue; taint | +| 38 | Summary: ::pad_to_align; Argument[self].Reference; ReturnValue; taint | +| 39 | Summary: ::repeat; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | +| 40 | Summary: ::repeat_packed; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 41 | Summary: ::size; Argument[self].Reference; ReturnValue; taint | +| 42 | Summary: ::unwrap_or; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | +| 43 | Summary: ::expect; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 44 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 45 | Summary: core::cmp::max; Argument[0]; ReturnValue; value | +| 46 | Summary: core::cmp::min; Argument[0]; ReturnValue; value | nodes | main.rs:12:36:12:43 | ...: usize | semmle.label | ...: usize | | main.rs:18:13:18:31 | ...::realloc | semmle.label | ...::realloc | @@ -526,14 +539,18 @@ nodes | main.rs:213:51:213:52 | l2 | semmle.label | l2 | | main.rs:217:27:217:34 | ...: usize | semmle.label | ...: usize | | main.rs:219:13:219:24 | ...::malloc | semmle.label | ...::malloc | +| main.rs:219:13:219:24 | ...::malloc | semmle.label | ...::malloc | | main.rs:219:26:219:26 | v | semmle.label | v | | main.rs:220:13:220:31 | ...::aligned_alloc | semmle.label | ...::aligned_alloc | | main.rs:220:36:220:36 | v | semmle.label | v | | main.rs:222:13:222:24 | ...::calloc | semmle.label | ...::calloc | +| main.rs:222:13:222:24 | ...::calloc | semmle.label | ...::calloc | | main.rs:222:30:222:30 | v | semmle.label | v | | main.rs:223:13:223:24 | ...::calloc | semmle.label | ...::calloc | +| main.rs:223:13:223:24 | ...::calloc | semmle.label | ...::calloc | | main.rs:223:26:223:26 | v | semmle.label | v | | main.rs:224:13:224:25 | ...::realloc | semmle.label | ...::realloc | +| main.rs:224:13:224:25 | ...::realloc | semmle.label | ...::realloc | | main.rs:224:31:224:31 | v | semmle.label | v | | main.rs:227:24:227:31 | ...: usize | semmle.label | ...: usize | | main.rs:228:13:228:41 | ...::try_with_capacity | semmle.label | ...::try_with_capacity | @@ -562,6 +579,7 @@ nodes | main.rs:311:25:311:74 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | | main.rs:317:26:317:33 | ...: usize | semmle.label | ...: usize | | main.rs:331:13:331:24 | ...::malloc | semmle.label | ...::malloc | +| main.rs:331:13:331:24 | ...::malloc | semmle.label | ...::malloc | | main.rs:331:26:331:26 | a | semmle.label | a | | main.rs:339:9:339:9 | v | semmle.label | v | | main.rs:339:13:339:26 | ...::args | semmle.label | ...::args | diff --git a/rust/ql/test/query-tests/security/CWE-825/AccessInvalidPointer.expected b/rust/ql/test/query-tests/security/CWE-825/AccessInvalidPointer.expected index d3b5456063ff..0993171ab96a 100644 --- a/rust/ql/test/query-tests/security/CWE-825/AccessInvalidPointer.expected +++ b/rust/ql/test/query-tests/security/CWE-825/AccessInvalidPointer.expected @@ -9,6 +9,7 @@ | deallocation.rs:90:7:90:8 | m2 | deallocation.rs:70:3:70:21 | ...::dealloc | deallocation.rs:90:7:90:8 | m2 | This operation dereferences a pointer that may be $@. | deallocation.rs:70:3:70:21 | ...::dealloc | invalid | | deallocation.rs:95:5:95:31 | ...::write::<...> | deallocation.rs:70:3:70:21 | ...::dealloc | deallocation.rs:95:5:95:31 | ...::write::<...> | This operation dereferences a pointer that may be $@. | deallocation.rs:70:3:70:21 | ...::dealloc | invalid | | deallocation.rs:115:13:115:18 | my_ptr | deallocation.rs:112:3:112:12 | ...::free | deallocation.rs:115:13:115:18 | my_ptr | This operation dereferences a pointer that may be $@. | deallocation.rs:112:3:112:12 | ...::free | invalid | +| deallocation.rs:115:13:115:18 | my_ptr | deallocation.rs:112:3:112:12 | ...::free | deallocation.rs:115:13:115:18 | my_ptr | This operation dereferences a pointer that may be $@. | deallocation.rs:112:3:112:12 | ...::free | invalid | | deallocation.rs:130:14:130:15 | p1 | deallocation.rs:123:23:123:40 | ...::dangling | deallocation.rs:130:14:130:15 | p1 | This operation dereferences a pointer that may be $@. | deallocation.rs:123:23:123:40 | ...::dangling | invalid | | deallocation.rs:131:14:131:15 | p2 | deallocation.rs:124:21:124:42 | ...::dangling_mut | deallocation.rs:131:14:131:15 | p2 | This operation dereferences a pointer that may be $@. | deallocation.rs:124:21:124:42 | ...::dangling_mut | invalid | | deallocation.rs:132:14:132:15 | p3 | deallocation.rs:125:23:125:36 | ...::null | deallocation.rs:132:14:132:15 | p3 | This operation dereferences a pointer that may be $@. | deallocation.rs:125:23:125:36 | ...::null | invalid | @@ -43,6 +44,7 @@ edges | deallocation.rs:70:23:70:35 | [post] m2 as ... | deallocation.rs:95:33:95:34 | m2 | provenance | | | deallocation.rs:95:33:95:34 | m2 | deallocation.rs:95:5:95:31 | ...::write::<...> | provenance | MaD:2 Sink:MaD:2 | | deallocation.rs:112:3:112:12 | ...::free | deallocation.rs:112:14:112:40 | [post] my_ptr as ... | provenance | Src:MaD:9 MaD:9 | +| deallocation.rs:112:3:112:12 | ...::free | deallocation.rs:112:14:112:40 | [post] my_ptr as ... | provenance | Src:MaD:10 MaD:10 | | deallocation.rs:112:14:112:40 | [post] my_ptr as ... | deallocation.rs:115:13:115:18 | my_ptr | provenance | | | deallocation.rs:123:6:123:7 | p1 | deallocation.rs:130:14:130:15 | p1 | provenance | | | deallocation.rs:123:23:123:40 | ...::dangling | deallocation.rs:123:23:123:42 | ...::dangling(...) | provenance | Src:MaD:4 MaD:4 | @@ -92,6 +94,7 @@ models | 7 | Source: core::ptr::null; ReturnValue; pointer-invalidate | | 8 | Source: core::ptr::null_mut; ReturnValue; pointer-invalidate | | 9 | Source: libc::unix::free; Argument[0]; pointer-invalidate | +| 10 | Source: libc::windows::free; Argument[0]; pointer-invalidate | nodes | deallocation.rs:20:3:20:21 | ...::dealloc | semmle.label | ...::dealloc | | deallocation.rs:20:23:20:24 | [post] m1 | semmle.label | [post] m1 | @@ -110,6 +113,7 @@ nodes | deallocation.rs:95:5:95:31 | ...::write::<...> | semmle.label | ...::write::<...> | | deallocation.rs:95:33:95:34 | m2 | semmle.label | m2 | | deallocation.rs:112:3:112:12 | ...::free | semmle.label | ...::free | +| deallocation.rs:112:3:112:12 | ...::free | semmle.label | ...::free | | deallocation.rs:112:14:112:40 | [post] my_ptr as ... | semmle.label | [post] my_ptr as ... | | deallocation.rs:115:13:115:18 | my_ptr | semmle.label | my_ptr | | deallocation.rs:123:6:123:7 | p1 | semmle.label | p1 | From 1bd08217faa2f5d0b3bf12a626fe16d899af6b0e Mon Sep 17 00:00:00 2001 From: Taus Date: Wed, 15 Apr 2026 19:25:40 +0000 Subject: [PATCH 010/190] Rust: fix downgrade script (same format_args_arg_names issue) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties | 1 - 1 file changed, 1 deletion(-) diff --git a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties index 6d4e1d708ba6..30fc1c731cab 100644 --- a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties +++ b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties @@ -2,7 +2,6 @@ description: Downgrade from rust-analyzer 0.0.328 to 0.0.301 compatibility: partial format_args_arg_arg_names.rel: delete -format_args_arg_names.rel: delete struct_field_default_vals.rel: delete variant_const_args.rel: delete try_block_modifiers.rel: delete From ac27c207113bca37f74b097646df4ec174b29cad Mon Sep 17 00:00:00 2001 From: Taus Date: Thu, 16 Apr 2026 14:12:59 +0000 Subject: [PATCH 011/190] Rust: fix consistency test failures from rust-analyzer upgrade - Exclude macro-expanded and attribute paths from PathResolutionConsistency (tokio::main and similar attribute macros resolve to multiple proc macro fns) - Exclude "macro expansion failed" warnings from ExtractionConsistency (compile_error! and undefined macros are expected to fail expansion) - Update pre-existing consistency expectations (net multipleResolvedTargets) - Update type-inference.expected for new RA results Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../ExtractionConsistency.ql | 4 +++- .../internal/PathResolutionConsistency.qll | 4 ++++ .../ExtractionConsistency.expected | 2 -- .../PathResolutionConsistency.expected | 3 +++ .../TypeInferenceConsistency.expected | 4 ++++ .../type-inference/type-inference.expected | 23 ++++++++++++------- .../ExtractionConsistency.expected | 1 - .../PathResolutionConsistency.expected | 6 +++++ .../PathResolutionConsistency.expected | 12 ++++++++++ .../PathResolutionConsistency.expected | 9 ++++++++ .../PathResolutionConsistency.expected | 3 +++ .../PathResolutionConsistency.expected | 2 ++ .../TypeInferenceConsistency.expected | 8 +++++++ 13 files changed, 69 insertions(+), 12 deletions(-) create mode 100644 rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/TypeInferenceConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-295/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-311/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/TypeInferenceConsistency.expected diff --git a/rust/ql/consistency-queries/ExtractionConsistency.ql b/rust/ql/consistency-queries/ExtractionConsistency.ql index c6e9bcdc2cb7..e07ed64df075 100644 --- a/rust/ql/consistency-queries/ExtractionConsistency.ql +++ b/rust/ql/consistency-queries/ExtractionConsistency.ql @@ -12,5 +12,7 @@ query predicate extractionError(ExtractionError ee) { } query predicate extractionWarning(ExtractionWarning ew) { - not exists(ew.getLocation()) or ew.getLocation().fromSource() + (not exists(ew.getLocation()) or ew.getLocation().fromSource()) and + // macro expansion failures are expected for macros like compile_error! and panic! + not ew.getMessage().matches("macro expansion failed for%") } diff --git a/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll b/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll index 807225d1615a..37de5d358151 100644 --- a/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll +++ b/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll @@ -8,6 +8,9 @@ private import PathResolution /** Holds if `p` may resolve to multiple items including `i`. */ query predicate multiplePathResolutions(Path p, ItemNode i) { p.fromSource() and + not p.(AstNode).isInMacroExpansion() and + // exclude paths inside attributes (e.g. `#[tokio::main]`) + not p.getParentNode*() instanceof Attr and i = resolvePath(p) and // `panic` is defined in both `std` and `core`; both are included in the prelude not p.getText() = "panic" and @@ -26,6 +29,7 @@ query predicate multiplePathResolutions(Path p, ItemNode i) { /** Holds if `ie` has multiple resolved targets including `target`. */ query predicate multipleResolvedTargets(InvocationExpr ie, Addressable target) { + not ie.(AstNode).isInMacroExpansion() and target = ie.getResolvedTarget() and strictcount(ie.getResolvedTarget()) > 1 } diff --git a/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/ExtractionConsistency.expected index 5c472b07a14f..e69de29bb2d1 100644 --- a/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/ExtractionConsistency.expected +++ b/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/ExtractionConsistency.expected @@ -1,2 +0,0 @@ -extractionWarning -| macro_expansion.rs:56:9:56:31 | macro expansion failed for 'concat' | diff --git a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected index e69de29bb2d1..4388f45f296e 100644 --- a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,3 @@ +multipleResolvedTargets +| test.rs:23:26:23:66 | ... .text() | +| test.rs:26:26:26:67 | ... .bytes() | diff --git a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/TypeInferenceConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/TypeInferenceConsistency.expected new file mode 100644 index 000000000000..2242144075b9 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/TypeInferenceConsistency.expected @@ -0,0 +1,4 @@ +nonUniqueCertainType +| test.rs:23:26:23:52 | ...::get(...) | dyn(Output).T | +| test.rs:26:26:26:52 | ...::get(...) | dyn(Output).T | +| test.rs:29:24:29:50 | ...::get(...) | dyn(Output).T | diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index 5e870ae6ca5d..0832235788df 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -3669,7 +3669,6 @@ inferCertainType | main.rs:2405:18:2405:42 | ...::method(...) | | main.rs:2369:5:2369:20 | S1 | | main.rs:2405:18:2405:42 | ...::method(...) | T | main.rs:2371:5:2372:14 | S2 | | main.rs:2405:29:2405:41 | ...::default(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2409:21:2409:33 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | | main.rs:2410:13:2410:15 | x10 | | main.rs:2392:5:2394:5 | S5 | | main.rs:2410:13:2410:15 | x10 | T5 | main.rs:2371:5:2372:14 | S2 | | main.rs:2410:19:2413:9 | S5::<...> {...} | | main.rs:2392:5:2394:5 | S5 | @@ -3680,7 +3679,6 @@ inferCertainType | main.rs:2415:19:2415:33 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | | main.rs:2416:13:2416:15 | x13 | | main.rs:2392:5:2394:5 | S5 | | main.rs:2416:19:2419:9 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2418:20:2418:32 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | | main.rs:2420:13:2420:15 | x14 | | {EXTERNAL LOCATION} | i32 | | main.rs:2420:19:2420:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:2421:13:2421:15 | x15 | | main.rs:2369:5:2369:20 | S1 | @@ -12269,10 +12267,7 @@ inferType | main.rs:2408:18:2408:22 | S4(...) | T4 | {EXTERNAL LOCATION} | i32 | | main.rs:2408:21:2408:21 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2409:13:2409:14 | x9 | | main.rs:2390:5:2390:27 | S4 | -| main.rs:2409:13:2409:14 | x9 | T4 | main.rs:2371:5:2372:14 | S2 | | main.rs:2409:18:2409:34 | S4(...) | | main.rs:2390:5:2390:27 | S4 | -| main.rs:2409:18:2409:34 | S4(...) | T4 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2409:21:2409:33 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | | main.rs:2410:13:2410:15 | x10 | | main.rs:2392:5:2394:5 | S5 | | main.rs:2410:13:2410:15 | x10 | T5 | main.rs:2371:5:2372:14 | S2 | | main.rs:2410:19:2413:9 | S5::<...> {...} | | main.rs:2392:5:2394:5 | S5 | @@ -12289,10 +12284,7 @@ inferType | main.rs:2415:19:2415:33 | S5 {...} | T5 | {EXTERNAL LOCATION} | i32 | | main.rs:2415:31:2415:31 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2416:13:2416:15 | x13 | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2416:13:2416:15 | x13 | T5 | main.rs:2371:5:2372:14 | S2 | | main.rs:2416:19:2419:9 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2416:19:2419:9 | S5 {...} | T5 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2418:20:2418:32 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | | main.rs:2420:13:2420:15 | x14 | | {EXTERNAL LOCATION} | i32 | | main.rs:2420:19:2420:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:2420:30:2420:47 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | @@ -15861,3 +15853,18 @@ inferType | regressions.rs:179:24:179:27 | S(...) | T | {EXTERNAL LOCATION} | i32 | | regressions.rs:179:26:179:26 | 1 | | {EXTERNAL LOCATION} | i32 | testFailures +| main.rs:1308:44:1308:62 | //... | Missing result: target=default | +| main.rs:2406:48:2406:80 | //... | Missing result: target=default | +| main.rs:2409:37:2409:69 | //... | Missing result: target=default | +| main.rs:2409:37:2409:69 | //... | Missing result: type=x9:T4.S2 | +| main.rs:2412:40:2412:58 | //... | Missing result: target=default | +| main.rs:2416:22:2416:40 | //... | Missing result: type=x13:T5.S2 | +| main.rs:2418:35:2418:53 | //... | Missing result: target=default | +| main.rs:2574:41:2574:59 | //... | Missing result: target=default | +| main.rs:2698:37:2698:64 | //... | Missing result: target=default | +| overloading.rs:58:67:58:125 | //... | Missing result: target=default | +| overloading.rs:60:68:60:132 | //... | Missing result: target=default | +| overloading.rs:64:68:64:126 | //... | Missing result: target=default | +| overloading.rs:66:69:66:133 | //... | Missing result: target=default | +| overloading.rs:368:37:368:64 | //... | Missing result: target=default | +| overloading.rs:398:57:398:84 | //... | Missing result: target=default | diff --git a/rust/ql/test/query-tests/diagnostics/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/query-tests/diagnostics/CONSISTENCY/ExtractionConsistency.expected index 82c29ac7f2b0..5b4796faa8c5 100644 --- a/rust/ql/test/query-tests/diagnostics/CONSISTENCY/ExtractionConsistency.expected +++ b/rust/ql/test/query-tests/diagnostics/CONSISTENCY/ExtractionConsistency.expected @@ -5,4 +5,3 @@ extractionWarning | does_not_compile.rs:2:21:2:20 | expected SEMICOLON | | does_not_compile.rs:2:26:2:25 | expected SEMICOLON | | error.rs:2:5:2:17 | An error! | -| my_macro.rs:17:9:17:27 | macro expansion failed for 'myUndefinedMacro' | diff --git a/rust/ql/test/query-tests/security/CWE-295/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-295/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..e4c71e75287c --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-295/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,6 @@ +multipleResolvedTargets +| main.rs:36:16:36:41 | ...::builder(...) | +| main.rs:46:16:46:44 | ...::new(...) | +multiplePathResolutions +| main.rs:36:16:36:30 | ...::Client | +| main.rs:46:16:46:37 | ...::ClientBuilder | diff --git a/rust/ql/test/query-tests/security/CWE-311/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-311/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..e0fbd93fd64a --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-311/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,12 @@ +multipleResolvedTargets +| main.rs:20:18:20:39 | ...::new(...) | +| main.rs:21:5:21:20 | client.post(...) | +| main.rs:21:5:21:33 | ... .body(...) | +| main.rs:21:5:21:40 | ... .send() | +| main.rs:34:18:34:39 | ...::new(...) | +| main.rs:35:5:35:36 | client.request(...) | +| main.rs:35:5:35:49 | ... .body(...) | +| main.rs:35:5:35:56 | ... .send() | +multiplePathResolutions +| main.rs:20:18:20:32 | ...::Client | +| main.rs:34:18:34:32 | ...::Client | diff --git a/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..8fdcfa97d675 --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,9 @@ +multipleResolvedTargets +| main.rs:218:14:218:30 | ...::malloc(...) | +| main.rs:219:13:219:27 | ...::malloc(...) | +| main.rs:220:13:220:37 | ...::aligned_alloc(...) | +| main.rs:221:13:221:37 | ...::aligned_alloc(...) | +| main.rs:222:13:222:31 | ...::calloc(...) | +| main.rs:223:13:223:55 | ...::calloc(...) | +| main.rs:224:13:224:32 | ...::realloc(...) | +| main.rs:331:13:331:27 | ...::malloc(...) | diff --git a/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..850ba012c153 --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,3 @@ +multipleResolvedTargets +| deallocation.rs:106:16:106:32 | ...::malloc(...) | +| deallocation.rs:112:3:112:41 | ...::free(...) | diff --git a/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..ac7fc3cad3f0 --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,2 @@ +multiplePathResolutions +| request_forgery_tests.rs:79:5:79:18 | ...::runtime | diff --git a/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/TypeInferenceConsistency.expected b/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/TypeInferenceConsistency.expected new file mode 100644 index 000000000000..b70ece5bb153 --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/TypeInferenceConsistency.expected @@ -0,0 +1,8 @@ +nonUniqueCertainType +| request_forgery_tests.rs:8:24:8:46 | ...::get(...) | dyn(Output).T | +| request_forgery_tests.rs:17:25:17:42 | ...::get(...) | dyn(Output).T | +| request_forgery_tests.rs:21:25:21:42 | ...::get(...) | dyn(Output).T | +| request_forgery_tests.rs:25:25:25:42 | ...::get(...) | dyn(Output).T | +| request_forgery_tests.rs:31:29:31:51 | ...::get(...) | dyn(Output).T | +| request_forgery_tests.rs:37:37:37:59 | ...::get(...) | dyn(Output).T | +| request_forgery_tests.rs:68:28:68:43 | ...::get(...) | dyn(Output).T | From f66f82ce59032397d5339a479b74cb7c1e8beed0 Mon Sep 17 00:00:00 2001 From: Taus Date: Thu, 16 Apr 2026 20:31:11 +0000 Subject: [PATCH 012/190] Rust: fix downgrade script - add missing block_expr_try_block_modifiers Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../upgrade.properties | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties index 30fc1c731cab..a17d7f22b27e 100644 --- a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties +++ b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties @@ -1,12 +1,7 @@ description: Downgrade from rust-analyzer 0.0.328 to 0.0.301 compatibility: partial -format_args_arg_arg_names.rel: delete -struct_field_default_vals.rel: delete -variant_const_args.rel: delete -try_block_modifiers.rel: delete -try_block_modifier_is_try.rel: delete -try_block_modifier_type_reprs.rel: delete +block_expr_try_block_modifiers.rel: delete cfg_atoms.rel: delete cfg_attr_meta.rel: delete cfg_attr_meta_cfg_predicates.rel: delete @@ -15,14 +10,20 @@ cfg_composites.rel: delete cfg_composite_cfg_predicates.rel: delete cfg_meta.rel: delete cfg_meta_cfg_predicates.rel: delete +format_args_arg_arg_names.rel: delete key_value_meta.rel: delete key_value_meta_exprs.rel: delete key_value_meta_paths.rel: delete path_meta.rel: delete path_meta_paths.rel: delete +struct_field_default_vals.rel: delete token_tree_meta.rel: delete token_tree_meta_paths.rel: delete token_tree_meta_token_trees.rel: delete +try_block_modifier_is_try.rel: delete +try_block_modifiers.rel: delete +try_block_modifier_type_reprs.rel: delete unsafe_meta.rel: delete unsafe_meta_is_unsafe.rel: delete unsafe_meta_meta.rel: delete +variant_const_args.rel: delete From a2ecf6571156d33df8ce3ec36e87aa959b3c55b0 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 22 May 2026 17:14:42 +0200 Subject: [PATCH 013/190] Rust: accept test changes --- .../library-tests/type-inference/type-inference.expected | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index 4d1ae6a72624..137b6cab0153 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -15848,11 +15848,11 @@ inferType | regressions.rs:179:26:179:26 | 1 | | {EXTERNAL LOCATION} | i32 | testFailures | main.rs:1308:44:1308:62 | //... | Missing result: target=default | -| main.rs:2406:48:2406:80 | //... | Missing result: target=default | -| main.rs:2409:37:2409:69 | //... | Missing result: target=default | -| main.rs:2409:37:2409:69 | //... | Missing result: type=x9:T4.S2 | +| main.rs:2406:48:2406:84 | //... | Missing result: target=default | +| main.rs:2409:37:2409:73 | //... | Missing result: target=default | +| main.rs:2409:37:2409:73 | //... | Missing result: type=x9@S4:S2 | | main.rs:2412:40:2412:58 | //... | Missing result: target=default | -| main.rs:2416:22:2416:40 | //... | Missing result: type=x13:T5.S2 | +| main.rs:2416:22:2416:44 | //... | Missing result: type=x13@S5:S2 | | main.rs:2418:35:2418:53 | //... | Missing result: target=default | | main.rs:2574:41:2574:59 | //... | Missing result: target=default | | main.rs:2698:37:2698:64 | //... | Missing result: target=default | From 7f2bda10661935680f0aeb664fbd7e92d7d90dc9 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 26 May 2026 18:17:38 +0200 Subject: [PATCH 014/190] Rust: Add full upgrade script for dbscheme migration Adds upgrade.ql with transformations for all schema changes from rust-analyzer 0.0.301 to 0.0.328: - Meta split into PathMeta/KeyValueMeta/TokenTreeMeta/UnsafeMeta - TraitAlias merged into Trait - BlockExpr.isTry() -> TryBlockModifier - StructField.getDefault() -> getDefaultVal() returning ConstArg - Variant.getDiscriminant() -> getConstArg() returning ConstArg - FormatArgsArg.getName() -> getArgName() returning FormatArgsArgName Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../upgrade.properties | 30 ++- .../upgrade.ql | 205 ++++++++++++++++++ 2 files changed, 234 insertions(+), 1 deletion(-) create mode 100644 rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.ql diff --git a/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties index c130c0f83810..55145c26245b 100644 --- a/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties +++ b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties @@ -1,14 +1,29 @@ description: Upgrade from rust-analyzer 0.0.301 to 0.0.328 -compatibility: partial +compatibility: full block_expr_is_try.rel: delete +format_args_arg_names.rel: run upgrade.ql new_format_args_arg_names +format_args_arg_arg_names.rel: run upgrade.ql new_format_args_arg_arg_names meta.rel: delete meta_exprs.rel: delete meta_is_unsafe.rel: delete meta_paths.rel: delete meta_token_trees.rel: delete +path_meta.rel: run upgrade.ql new_path_meta +path_meta_paths.rel: run upgrade.ql new_path_meta_paths +key_value_meta.rel: run upgrade.ql new_key_value_meta +key_value_meta_exprs.rel: run upgrade.ql new_key_value_meta_exprs +key_value_meta_paths.rel: run upgrade.ql new_key_value_meta_paths +token_tree_meta.rel: run upgrade.ql new_token_tree_meta +token_tree_meta_paths.rel: run upgrade.ql new_token_tree_meta_paths +token_tree_meta_token_trees.rel: run upgrade.ql new_token_tree_meta_token_trees +unsafe_meta.rel: run upgrade.ql new_unsafe_meta +unsafe_meta_is_unsafe.rel: run upgrade.ql new_unsafe_meta_is_unsafe +unsafe_meta_meta.rel: run upgrade.ql new_unsafe_meta_meta struct_field_defaults.rel: delete +struct_field_default_vals.rel: run upgrade.ql new_struct_field_default_vals variant_discriminants.rel: delete +variant_const_args.rel: run upgrade.ql new_variant_const_args trait_aliases.rel: delete trait_alias_attrs.rel: delete trait_alias_generic_param_lists.rel: delete @@ -16,3 +31,16 @@ trait_alias_names.rel: delete trait_alias_type_bound_lists.rel: delete trait_alias_visibilities.rel: delete trait_alias_where_clauses.rel: delete +try_block_modifiers.rel: run upgrade.ql new_try_block_modifiers +try_block_modifier_is_try.rel: run upgrade.ql new_try_block_modifier_is_try +block_expr_try_block_modifiers.rel: run upgrade.ql new_block_expr_try_block_modifiers +const_args.rel: run upgrade.ql new_const_args +const_arg_exprs.rel: run upgrade.ql new_const_arg_exprs +traits.rel: run upgrade.ql new_traits +trait_attrs.rel: run upgrade.ql new_trait_attrs +trait_generic_param_lists.rel: run upgrade.ql new_trait_generic_param_lists +trait_names.rel: run upgrade.ql new_trait_names +trait_type_bound_lists.rel: run upgrade.ql new_trait_type_bound_lists +trait_visibilities.rel: run upgrade.ql new_trait_visibilities +trait_where_clauses.rel: run upgrade.ql new_trait_where_clauses +locatable_locations.rel: run upgrade.ql new_locatable_locations diff --git a/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.ql b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.ql new file mode 100644 index 000000000000..db588965363a --- /dev/null +++ b/rust/ql/lib/upgrades/66a489863649185f4a9770f894505803059a1312/upgrade.ql @@ -0,0 +1,205 @@ +class Element extends @element { + string toString() { none() } +} + +class Location extends @location_default { + string toString() { none() } +} + +private predicate oldMetaHasExpr(Element meta) { meta_exprs(meta, _) } + +private predicate oldMetaHasPath(Element meta) { meta_paths(meta, _) } + +private predicate oldMetaHasTokenTree(Element meta) { meta_token_trees(meta, _) } + +private predicate oldMetaIsPath(Element meta) { + oldMetaHasPath(meta) and not oldMetaHasExpr(meta) and not oldMetaHasTokenTree(meta) +} + +private predicate oldMetaIsKeyValue(Element meta) { oldMetaHasPath(meta) and oldMetaHasExpr(meta) } + +private predicate oldMetaIsTokenTree(Element meta) { + oldMetaHasPath(meta) and oldMetaHasTokenTree(meta) and not oldMetaHasExpr(meta) +} + +private predicate oldMetaHasInnerShape(Element meta) { + oldMetaIsPath(meta) or oldMetaIsKeyValue(meta) or oldMetaIsTokenTree(meta) +} + +newtype TAddedElement = + TFormatArgsArgName(Element arg, Element name) { format_args_arg_names(arg, name) } or + TTryBlockModifier(Element block) { block_expr_is_try(block) } or + TStructFieldDefaultConstArg(Element field, Element expr) { struct_field_defaults(field, expr) } or + TVariantDiscriminantConstArg(Element variant, Element expr) { + variant_discriminants(variant, expr) + } or + TUnsafePathMeta(Element meta) { meta_is_unsafe(meta) and oldMetaIsPath(meta) } or + TUnsafeKeyValueMeta(Element meta) { meta_is_unsafe(meta) and oldMetaIsKeyValue(meta) } or + TUnsafeTokenTreeMeta(Element meta) { meta_is_unsafe(meta) and oldMetaIsTokenTree(meta) } + +module Fresh = QlBuiltins::NewEntity; + +class TNewElement = @element or Fresh::EntityId; + +class NewElement extends TNewElement { + string toString() { none() } +} + +private predicate isFreshInnerMeta(NewElement id, Element oldMeta) { + id = Fresh::map(TUnsafePathMeta(oldMeta)) or + id = Fresh::map(TUnsafeKeyValueMeta(oldMeta)) or + id = Fresh::map(TUnsafeTokenTreeMeta(oldMeta)) +} + +query predicate new_format_args_arg_names(NewElement id) { + id = Fresh::map(TFormatArgsArgName(_, _)) +} + +query predicate new_format_args_arg_arg_names(Element id, NewElement arg_name) { + arg_name = Fresh::map(TFormatArgsArgName(id, _)) +} + +query predicate new_try_block_modifiers(NewElement id) { id = Fresh::map(TTryBlockModifier(_)) } + +query predicate new_try_block_modifier_is_try(NewElement id) { + id = Fresh::map(TTryBlockModifier(_)) +} + +query predicate new_block_expr_try_block_modifiers(Element id, NewElement try_block_modifier) { + try_block_modifier = Fresh::map(TTryBlockModifier(id)) +} + +query predicate new_const_args(NewElement id) { + const_args(id) or + id = Fresh::map(TStructFieldDefaultConstArg(_, _)) or + id = Fresh::map(TVariantDiscriminantConstArg(_, _)) +} + +query predicate new_const_arg_exprs(NewElement id, Element expr) { + const_arg_exprs(id, expr) or + id = Fresh::map(TStructFieldDefaultConstArg(_, expr)) or + id = Fresh::map(TVariantDiscriminantConstArg(_, expr)) +} + +query predicate new_struct_field_default_vals(Element id, NewElement default_val) { + default_val = Fresh::map(TStructFieldDefaultConstArg(id, _)) +} + +query predicate new_variant_const_args(Element id, NewElement const_arg) { + const_arg = Fresh::map(TVariantDiscriminantConstArg(id, _)) +} + +query predicate new_traits(Element id) { traits(id) or trait_aliases(id) } + +query predicate new_trait_attrs(Element id, int index, Element attr) { + trait_attrs(id, index, attr) or trait_alias_attrs(id, index, attr) +} + +query predicate new_trait_generic_param_lists(Element id, Element generic_param_list) { + trait_generic_param_lists(id, generic_param_list) or + trait_alias_generic_param_lists(id, generic_param_list) +} + +query predicate new_trait_names(Element id, Element name) { + trait_names(id, name) or trait_alias_names(id, name) +} + +query predicate new_trait_type_bound_lists(Element id, Element type_bound_list) { + trait_type_bound_lists(id, type_bound_list) or trait_alias_type_bound_lists(id, type_bound_list) +} + +query predicate new_trait_visibilities(Element id, Element visibility) { + trait_visibilities(id, visibility) or trait_alias_visibilities(id, visibility) +} + +query predicate new_trait_where_clauses(Element id, Element where_clause) { + trait_where_clauses(id, where_clause) or trait_alias_where_clauses(id, where_clause) +} + +query predicate new_path_meta(NewElement id) { + meta(id) and not meta_is_unsafe(id) and oldMetaIsPath(id) + or + id = Fresh::map(TUnsafePathMeta(_)) +} + +query predicate new_path_meta_paths(NewElement id, Element path) { + meta_paths(id, path) and not meta_is_unsafe(id) and oldMetaIsPath(id) + or + exists(Element oldMeta | id = Fresh::map(TUnsafePathMeta(oldMeta)) and meta_paths(oldMeta, path)) +} + +query predicate new_key_value_meta(NewElement id) { + meta(id) and not meta_is_unsafe(id) and oldMetaIsKeyValue(id) + or + id = Fresh::map(TUnsafeKeyValueMeta(_)) +} + +query predicate new_key_value_meta_exprs(NewElement id, Element expr) { + meta_exprs(id, expr) and not meta_is_unsafe(id) and oldMetaIsKeyValue(id) + or + exists(Element oldMeta | + id = Fresh::map(TUnsafeKeyValueMeta(oldMeta)) and meta_exprs(oldMeta, expr) + ) +} + +query predicate new_key_value_meta_paths(NewElement id, Element path) { + meta_paths(id, path) and not meta_is_unsafe(id) and oldMetaIsKeyValue(id) + or + exists(Element oldMeta | + id = Fresh::map(TUnsafeKeyValueMeta(oldMeta)) and meta_paths(oldMeta, path) + ) +} + +query predicate new_token_tree_meta(NewElement id) { + meta(id) and not meta_is_unsafe(id) and oldMetaIsTokenTree(id) + or + id = Fresh::map(TUnsafeTokenTreeMeta(_)) +} + +query predicate new_token_tree_meta_paths(NewElement id, Element path) { + meta_paths(id, path) and not meta_is_unsafe(id) and oldMetaIsTokenTree(id) + or + exists(Element oldMeta | + id = Fresh::map(TUnsafeTokenTreeMeta(oldMeta)) and meta_paths(oldMeta, path) + ) +} + +query predicate new_token_tree_meta_token_trees(NewElement id, Element token_tree) { + meta_token_trees(id, token_tree) and not meta_is_unsafe(id) and oldMetaIsTokenTree(id) + or + exists(Element oldMeta | + id = Fresh::map(TUnsafeTokenTreeMeta(oldMeta)) and meta_token_trees(oldMeta, token_tree) + ) +} + +query predicate new_unsafe_meta(Element id) { meta_is_unsafe(id) } + +query predicate new_unsafe_meta_is_unsafe(Element id) { meta_is_unsafe(id) } + +query predicate new_unsafe_meta_meta(Element id, NewElement inner) { + meta_is_unsafe(id) and oldMetaHasInnerShape(id) and isFreshInnerMeta(inner, id) +} + +query predicate new_locatable_locations(NewElement id, Location location) { + locatable_locations(id, location) + or + exists(Element arg, Element name | + id = Fresh::map(TFormatArgsArgName(arg, name)) and locatable_locations(name, location) + ) + or + exists(Element block | + id = Fresh::map(TTryBlockModifier(block)) and locatable_locations(block, location) + ) + or + exists(Element field, Element expr | + id = Fresh::map(TStructFieldDefaultConstArg(field, expr)) and + locatable_locations(expr, location) + ) + or + exists(Element variant, Element expr | + id = Fresh::map(TVariantDiscriminantConstArg(variant, expr)) and + locatable_locations(expr, location) + ) + or + exists(Element oldMeta | isFreshInnerMeta(id, oldMeta) and locatable_locations(oldMeta, location)) +} From 25ab2e0280b06801183ecf1ff570bdfae8ce79a5 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Wed, 27 May 2026 09:33:18 +0200 Subject: [PATCH 015/190] Rust: Add full downgrade script for dbscheme migration Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../upgrade.properties | 32 +++- .../upgrade.ql | 174 ++++++++++++++++++ 2 files changed, 205 insertions(+), 1 deletion(-) create mode 100644 rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql diff --git a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties index a17d7f22b27e..1bd49f3382b4 100644 --- a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties +++ b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties @@ -1,7 +1,8 @@ description: Downgrade from rust-analyzer 0.0.328 to 0.0.301 -compatibility: partial +compatibility: full block_expr_try_block_modifiers.rel: delete +block_expr_is_try.rel: run upgrade.ql new_block_expr_is_try cfg_atoms.rel: delete cfg_attr_meta.rel: delete cfg_attr_meta_cfg_predicates.rel: delete @@ -10,16 +11,44 @@ cfg_composites.rel: delete cfg_composite_cfg_predicates.rel: delete cfg_meta.rel: delete cfg_meta_cfg_predicates.rel: delete +const_args.rel: run upgrade.ql new_const_args +const_arg_exprs.rel: run upgrade.ql new_const_arg_exprs format_args_arg_arg_names.rel: delete +format_args_arg_names.rel: run upgrade.ql new_format_args_arg_names key_value_meta.rel: delete key_value_meta_exprs.rel: delete key_value_meta_paths.rel: delete +locatable_locations.rel: run upgrade.ql new_locatable_locations +meta.rel: run upgrade.ql new_meta +meta_exprs.rel: run upgrade.ql new_meta_exprs +meta_is_unsafe.rel: run upgrade.ql new_meta_is_unsafe +meta_paths.rel: run upgrade.ql new_meta_paths +meta_token_trees.rel: run upgrade.ql new_meta_token_trees +names.rel: run upgrade.ql new_names path_meta.rel: delete path_meta_paths.rel: delete struct_field_default_vals.rel: delete +struct_field_defaults.rel: run upgrade.ql new_struct_field_defaults token_tree_meta.rel: delete token_tree_meta_paths.rel: delete token_tree_meta_token_trees.rel: delete +trait_assoc_item_lists.rel: run upgrade.ql new_trait_assoc_item_lists +trait_attrs.rel: run upgrade.ql new_trait_attrs +trait_generic_param_lists.rel: run upgrade.ql new_trait_generic_param_lists +trait_is_auto.rel: run upgrade.ql new_trait_is_auto +trait_is_unsafe.rel: run upgrade.ql new_trait_is_unsafe +trait_names.rel: run upgrade.ql new_trait_names +trait_type_bound_lists.rel: run upgrade.ql new_trait_type_bound_lists +trait_visibilities.rel: run upgrade.ql new_trait_visibilities +trait_where_clauses.rel: run upgrade.ql new_trait_where_clauses +trait_aliases.rel: run upgrade.ql new_trait_aliases +trait_alias_attrs.rel: run upgrade.ql new_trait_alias_attrs +trait_alias_generic_param_lists.rel: run upgrade.ql new_trait_alias_generic_param_lists +trait_alias_names.rel: run upgrade.ql new_trait_alias_names +trait_alias_type_bound_lists.rel: run upgrade.ql new_trait_alias_type_bound_lists +trait_alias_visibilities.rel: run upgrade.ql new_trait_alias_visibilities +trait_alias_where_clauses.rel: run upgrade.ql new_trait_alias_where_clauses +traits.rel: run upgrade.ql new_traits try_block_modifier_is_try.rel: delete try_block_modifiers.rel: delete try_block_modifier_type_reprs.rel: delete @@ -27,3 +56,4 @@ unsafe_meta.rel: delete unsafe_meta_is_unsafe.rel: delete unsafe_meta_meta.rel: delete variant_const_args.rel: delete +variant_discriminants.rel: run upgrade.ql new_variant_discriminants diff --git a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql new file mode 100644 index 000000000000..6cad9ea7277e --- /dev/null +++ b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql @@ -0,0 +1,174 @@ +class Element extends @element { + string toString() { none() } +} + +class Location extends @location_default { + string toString() { none() } +} + +private predicate wrapperConstArg(Element id) { + struct_field_default_vals(_, id) or variant_const_args(_, id) +} + +private predicate traitIsAlias(Element id) { + traits(id) and trait_type_bound_lists(id, _) and not trait_assoc_item_lists(id, _) +} + +private predicate sourceMeta(Element id) { + path_meta(id) or + key_value_meta(id) or + token_tree_meta(id) or + unsafe_meta(id) or + cfg_meta(id) or + cfg_attr_meta(id) +} + +private predicate unsafeInnerMeta(Element id) { + unsafe_meta_meta(_, id) +} + +private predicate metaPath(Element id, Element path) { + path_meta_paths(id, path) or key_value_meta_paths(id, path) or token_tree_meta_paths(id, path) +} + +private predicate metaExpr(Element id, Element expr) { + key_value_meta_exprs(id, expr) +} + +private predicate metaTokenTree(Element id, Element tokenTree) { + token_tree_meta_token_trees(id, tokenTree) +} + +private predicate deletedElement(Element id) { + wrapperConstArg(id) or + unsafeInnerMeta(id) or + cfg_atoms(id) or + cfg_composites(id) or + try_block_modifiers(id) +} + +query predicate new_block_expr_is_try(Element id) { + exists(Element modifier | block_expr_try_block_modifiers(id, modifier) and try_block_modifier_is_try(modifier)) +} + +query predicate new_names(Element id) { + names(id) or format_args_arg_names(id) +} + +query predicate new_format_args_arg_names(Element id, Element name) { + format_args_arg_arg_names(id, name) +} + +query predicate new_const_args(Element id) { + const_args(id) and not wrapperConstArg(id) +} + +query predicate new_const_arg_exprs(Element id, Element expr) { + const_arg_exprs(id, expr) and not wrapperConstArg(id) +} + +query predicate new_struct_field_defaults(Element id, Element expr) { + exists(Element constArg | struct_field_default_vals(id, constArg) and const_arg_exprs(constArg, expr)) +} + +query predicate new_variant_discriminants(Element id, Element expr) { + exists(Element constArg | variant_const_args(id, constArg) and const_arg_exprs(constArg, expr)) +} + +query predicate new_meta(Element id) { + sourceMeta(id) and not unsafeInnerMeta(id) +} + +query predicate new_meta_paths(Element id, Element path) { + metaPath(id, path) and not unsafeInnerMeta(id) + or + exists(Element inner | unsafe_meta_meta(id, inner) and metaPath(inner, path)) +} + +query predicate new_meta_exprs(Element id, Element expr) { + metaExpr(id, expr) and not unsafeInnerMeta(id) + or + exists(Element inner | unsafe_meta_meta(id, inner) and metaExpr(inner, expr)) +} + +query predicate new_meta_token_trees(Element id, Element tokenTree) { + metaTokenTree(id, tokenTree) and not unsafeInnerMeta(id) + or + exists(Element inner | unsafe_meta_meta(id, inner) and metaTokenTree(inner, tokenTree)) +} + +query predicate new_meta_is_unsafe(Element id) { + unsafe_meta_is_unsafe(id) +} + +query predicate new_traits(Element id) { + traits(id) and not traitIsAlias(id) +} + +query predicate new_trait_assoc_item_lists(Element id, Element assocItemList) { + trait_assoc_item_lists(id, assocItemList) and not traitIsAlias(id) +} + +query predicate new_trait_attrs(Element id, int index, Element attr) { + trait_attrs(id, index, attr) and not traitIsAlias(id) +} + +query predicate new_trait_generic_param_lists(Element id, Element genericParamList) { + trait_generic_param_lists(id, genericParamList) and not traitIsAlias(id) +} + +query predicate new_trait_is_auto(Element id) { + trait_is_auto(id) and not traitIsAlias(id) +} + +query predicate new_trait_is_unsafe(Element id) { + trait_is_unsafe(id) and not traitIsAlias(id) +} + +query predicate new_trait_names(Element id, Element name) { + trait_names(id, name) and not traitIsAlias(id) +} + +query predicate new_trait_type_bound_lists(Element id, Element typeBoundList) { + trait_type_bound_lists(id, typeBoundList) and not traitIsAlias(id) +} + +query predicate new_trait_visibilities(Element id, Element visibility) { + trait_visibilities(id, visibility) and not traitIsAlias(id) +} + +query predicate new_trait_where_clauses(Element id, Element whereClause) { + trait_where_clauses(id, whereClause) and not traitIsAlias(id) +} + +query predicate new_trait_aliases(Element id) { + traitIsAlias(id) +} + +query predicate new_trait_alias_attrs(Element id, int index, Element attr) { + trait_attrs(id, index, attr) and traitIsAlias(id) +} + +query predicate new_trait_alias_generic_param_lists(Element id, Element genericParamList) { + trait_generic_param_lists(id, genericParamList) and traitIsAlias(id) +} + +query predicate new_trait_alias_names(Element id, Element name) { + trait_names(id, name) and traitIsAlias(id) +} + +query predicate new_trait_alias_type_bound_lists(Element id, Element typeBoundList) { + trait_type_bound_lists(id, typeBoundList) and traitIsAlias(id) +} + +query predicate new_trait_alias_visibilities(Element id, Element visibility) { + trait_visibilities(id, visibility) and traitIsAlias(id) +} + +query predicate new_trait_alias_where_clauses(Element id, Element whereClause) { + trait_where_clauses(id, whereClause) and traitIsAlias(id) +} + +query predicate new_locatable_locations(Element id, Location location) { + locatable_locations(id, location) and not deletedElement(id) +} From f4faf4cd45882eef6cdccf076778c70886fa776a Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Wed, 27 May 2026 10:32:22 +0200 Subject: [PATCH 016/190] Rust: Filter downgraded comments on removed nodes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../upgrade.properties | 1 + .../109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties index 1bd49f3382b4..9cba151b6f06 100644 --- a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties +++ b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.properties @@ -11,6 +11,7 @@ cfg_composites.rel: delete cfg_composite_cfg_predicates.rel: delete cfg_meta.rel: delete cfg_meta_cfg_predicates.rel: delete +comments.rel: run upgrade.ql new_comments const_args.rel: run upgrade.ql new_const_args const_arg_exprs.rel: run upgrade.ql new_const_arg_exprs format_args_arg_arg_names.rel: delete diff --git a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql index 6cad9ea7277e..ab0c3052dad2 100644 --- a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql +++ b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql @@ -44,6 +44,7 @@ private predicate deletedElement(Element id) { unsafeInnerMeta(id) or cfg_atoms(id) or cfg_composites(id) or + format_args_arg_names(id) or try_block_modifiers(id) } @@ -67,6 +68,10 @@ query predicate new_const_arg_exprs(Element id, Element expr) { const_arg_exprs(id, expr) and not wrapperConstArg(id) } +query predicate new_comments(Element id, Element parent, string text) { + comments(id, parent, text) and not deletedElement(parent) +} + query predicate new_struct_field_defaults(Element id, Element expr) { exists(Element constArg | struct_field_default_vals(id, constArg) and const_arg_exprs(constArg, expr)) } From b89d9ad1e043f642ba2f729ed4b4c64fe58ab722 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Wed, 27 May 2026 10:34:57 +0200 Subject: [PATCH 017/190] Rust: Drop locations for downgraded comments Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../upgrade.ql | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql index ab0c3052dad2..d162d3a6bbdf 100644 --- a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql +++ b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql @@ -39,7 +39,7 @@ private predicate metaTokenTree(Element id, Element tokenTree) { token_tree_meta_token_trees(id, tokenTree) } -private predicate deletedElement(Element id) { +private predicate deletedAstNode(Element id) { wrapperConstArg(id) or unsafeInnerMeta(id) or cfg_atoms(id) or @@ -48,6 +48,12 @@ private predicate deletedElement(Element id) { try_block_modifiers(id) } +private predicate deletedElement(Element id) { + deletedAstNode(id) + or + exists(Element parent, string text | comments(id, parent, text) and deletedAstNode(parent)) +} + query predicate new_block_expr_is_try(Element id) { exists(Element modifier | block_expr_try_block_modifiers(id, modifier) and try_block_modifier_is_try(modifier)) } @@ -69,7 +75,7 @@ query predicate new_const_arg_exprs(Element id, Element expr) { } query predicate new_comments(Element id, Element parent, string text) { - comments(id, parent, text) and not deletedElement(parent) + comments(id, parent, text) and not deletedAstNode(parent) } query predicate new_struct_field_defaults(Element id, Element expr) { From 63d8bb7d5b678a6542e7b57c67268e17ea9404f6 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 28 May 2026 09:00:54 +0200 Subject: [PATCH 018/190] Rust: Format downgrade query Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../upgrade.ql | 48 +++++++------------ 1 file changed, 16 insertions(+), 32 deletions(-) diff --git a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql index d162d3a6bbdf..4fff5c8ddba3 100644 --- a/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql +++ b/rust/downgrades/109496fd2f20f28a35e50b110859e74882ee80d6/upgrade.ql @@ -23,17 +23,13 @@ private predicate sourceMeta(Element id) { cfg_attr_meta(id) } -private predicate unsafeInnerMeta(Element id) { - unsafe_meta_meta(_, id) -} +private predicate unsafeInnerMeta(Element id) { unsafe_meta_meta(_, id) } private predicate metaPath(Element id, Element path) { path_meta_paths(id, path) or key_value_meta_paths(id, path) or token_tree_meta_paths(id, path) } -private predicate metaExpr(Element id, Element expr) { - key_value_meta_exprs(id, expr) -} +private predicate metaExpr(Element id, Element expr) { key_value_meta_exprs(id, expr) } private predicate metaTokenTree(Element id, Element tokenTree) { token_tree_meta_token_trees(id, tokenTree) @@ -55,20 +51,18 @@ private predicate deletedElement(Element id) { } query predicate new_block_expr_is_try(Element id) { - exists(Element modifier | block_expr_try_block_modifiers(id, modifier) and try_block_modifier_is_try(modifier)) + exists(Element modifier | + block_expr_try_block_modifiers(id, modifier) and try_block_modifier_is_try(modifier) + ) } -query predicate new_names(Element id) { - names(id) or format_args_arg_names(id) -} +query predicate new_names(Element id) { names(id) or format_args_arg_names(id) } query predicate new_format_args_arg_names(Element id, Element name) { format_args_arg_arg_names(id, name) } -query predicate new_const_args(Element id) { - const_args(id) and not wrapperConstArg(id) -} +query predicate new_const_args(Element id) { const_args(id) and not wrapperConstArg(id) } query predicate new_const_arg_exprs(Element id, Element expr) { const_arg_exprs(id, expr) and not wrapperConstArg(id) @@ -79,16 +73,16 @@ query predicate new_comments(Element id, Element parent, string text) { } query predicate new_struct_field_defaults(Element id, Element expr) { - exists(Element constArg | struct_field_default_vals(id, constArg) and const_arg_exprs(constArg, expr)) + exists(Element constArg | + struct_field_default_vals(id, constArg) and const_arg_exprs(constArg, expr) + ) } query predicate new_variant_discriminants(Element id, Element expr) { exists(Element constArg | variant_const_args(id, constArg) and const_arg_exprs(constArg, expr)) } -query predicate new_meta(Element id) { - sourceMeta(id) and not unsafeInnerMeta(id) -} +query predicate new_meta(Element id) { sourceMeta(id) and not unsafeInnerMeta(id) } query predicate new_meta_paths(Element id, Element path) { metaPath(id, path) and not unsafeInnerMeta(id) @@ -108,13 +102,9 @@ query predicate new_meta_token_trees(Element id, Element tokenTree) { exists(Element inner | unsafe_meta_meta(id, inner) and metaTokenTree(inner, tokenTree)) } -query predicate new_meta_is_unsafe(Element id) { - unsafe_meta_is_unsafe(id) -} +query predicate new_meta_is_unsafe(Element id) { unsafe_meta_is_unsafe(id) } -query predicate new_traits(Element id) { - traits(id) and not traitIsAlias(id) -} +query predicate new_traits(Element id) { traits(id) and not traitIsAlias(id) } query predicate new_trait_assoc_item_lists(Element id, Element assocItemList) { trait_assoc_item_lists(id, assocItemList) and not traitIsAlias(id) @@ -128,13 +118,9 @@ query predicate new_trait_generic_param_lists(Element id, Element genericParamLi trait_generic_param_lists(id, genericParamList) and not traitIsAlias(id) } -query predicate new_trait_is_auto(Element id) { - trait_is_auto(id) and not traitIsAlias(id) -} +query predicate new_trait_is_auto(Element id) { trait_is_auto(id) and not traitIsAlias(id) } -query predicate new_trait_is_unsafe(Element id) { - trait_is_unsafe(id) and not traitIsAlias(id) -} +query predicate new_trait_is_unsafe(Element id) { trait_is_unsafe(id) and not traitIsAlias(id) } query predicate new_trait_names(Element id, Element name) { trait_names(id, name) and not traitIsAlias(id) @@ -152,9 +138,7 @@ query predicate new_trait_where_clauses(Element id, Element whereClause) { trait_where_clauses(id, whereClause) and not traitIsAlias(id) } -query predicate new_trait_aliases(Element id) { - traitIsAlias(id) -} +query predicate new_trait_aliases(Element id) { traitIsAlias(id) } query predicate new_trait_alias_attrs(Element id, int index, Element attr) { trait_attrs(id, index, attr) and traitIsAlias(id) From 612b9237da553762c57c0aa902ef20d6bb25ffdc Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 2 Jun 2026 16:36:01 +0100 Subject: [PATCH 019/190] Rust: Undo hiding some warnings in the extraction consistency check query. --- rust/ql/consistency-queries/ExtractionConsistency.ql | 4 +--- .../CONSISTENCY/ExtractionConsistency.expected | 2 ++ .../diagnostics/CONSISTENCY/ExtractionConsistency.expected | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/rust/ql/consistency-queries/ExtractionConsistency.ql b/rust/ql/consistency-queries/ExtractionConsistency.ql index e07ed64df075..26ce4c31ecc4 100644 --- a/rust/ql/consistency-queries/ExtractionConsistency.ql +++ b/rust/ql/consistency-queries/ExtractionConsistency.ql @@ -12,7 +12,5 @@ query predicate extractionError(ExtractionError ee) { } query predicate extractionWarning(ExtractionWarning ew) { - (not exists(ew.getLocation()) or ew.getLocation().fromSource()) and - // macro expansion failures are expected for macros like compile_error! and panic! - not ew.getMessage().matches("macro expansion failed for%") + (not exists(ew.getLocation()) or ew.getLocation().fromSource()) } diff --git a/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/ExtractionConsistency.expected index e69de29bb2d1..5c472b07a14f 100644 --- a/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/ExtractionConsistency.expected +++ b/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/ExtractionConsistency.expected @@ -0,0 +1,2 @@ +extractionWarning +| macro_expansion.rs:56:9:56:31 | macro expansion failed for 'concat' | diff --git a/rust/ql/test/query-tests/diagnostics/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/query-tests/diagnostics/CONSISTENCY/ExtractionConsistency.expected index 5b4796faa8c5..82c29ac7f2b0 100644 --- a/rust/ql/test/query-tests/diagnostics/CONSISTENCY/ExtractionConsistency.expected +++ b/rust/ql/test/query-tests/diagnostics/CONSISTENCY/ExtractionConsistency.expected @@ -5,3 +5,4 @@ extractionWarning | does_not_compile.rs:2:21:2:20 | expected SEMICOLON | | does_not_compile.rs:2:26:2:25 | expected SEMICOLON | | error.rs:2:5:2:17 | An error! | +| my_macro.rs:17:9:17:27 | macro expansion failed for 'myUndefinedMacro' | From 9024cbaecb2e6501df1adcafdb382f72542b5743 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 2 Jun 2026 17:04:45 +0100 Subject: [PATCH 020/190] Rust: Remove redundant brackets. --- rust/ql/consistency-queries/ExtractionConsistency.ql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/ql/consistency-queries/ExtractionConsistency.ql b/rust/ql/consistency-queries/ExtractionConsistency.ql index 26ce4c31ecc4..c6e9bcdc2cb7 100644 --- a/rust/ql/consistency-queries/ExtractionConsistency.ql +++ b/rust/ql/consistency-queries/ExtractionConsistency.ql @@ -12,5 +12,5 @@ query predicate extractionError(ExtractionError ee) { } query predicate extractionWarning(ExtractionWarning ew) { - (not exists(ew.getLocation()) or ew.getLocation().fromSource()) + not exists(ew.getLocation()) or ew.getLocation().fromSource() } From db9d781f369fb3edcd11738388b224a0e415f5b1 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 2 Jun 2026 18:07:43 +0100 Subject: [PATCH 021/190] Rust: More impacted test expectations. --- .../sources/database/CONSISTENCY/ExtractionConsistency.expected | 2 ++ .../sources/file/CONSISTENCY/ExtractionConsistency.expected | 2 ++ .../sources/stdin/CONSISTENCY/ExtractionConsistency.expected | 2 ++ .../CWE-079/warp/CONSISTENCY/ExtractionConsistency.expected | 2 ++ 4 files changed, 8 insertions(+) create mode 100644 rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/ExtractionConsistency.expected create mode 100644 rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/ExtractionConsistency.expected create mode 100644 rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/ExtractionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/ExtractionConsistency.expected diff --git a/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/ExtractionConsistency.expected new file mode 100644 index 000000000000..61ef42d077a4 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/ExtractionConsistency.expected @@ -0,0 +1,2 @@ +extractionWarning +| test.rs:221:7:221:10 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/ExtractionConsistency.expected new file mode 100644 index 000000000000..9f7a9af6e891 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/ExtractionConsistency.expected @@ -0,0 +1,2 @@ +extractionWarning +| test.rs:326:7:326:10 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/ExtractionConsistency.expected new file mode 100644 index 000000000000..1669b7895193 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/ExtractionConsistency.expected @@ -0,0 +1,2 @@ +extractionWarning +| test.rs:218:7:218:10 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/ExtractionConsistency.expected new file mode 100644 index 000000000000..133438cef21c --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/ExtractionConsistency.expected @@ -0,0 +1,2 @@ +extractionWarning +| main.rs:1:1:1:1 | macro expansion failed for 'panic' | From 00d297693c94d82b785233ddf532386d0efc5a82 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 3 Jun 2026 11:03:32 +0100 Subject: [PATCH 022/190] Rust: More impacted test expectations (2). --- .../ExtractionConsistency.expected | 2 ++ .../ExtractionConsistency.expected | 2 ++ .../ExtractionConsistency.expected | 2 ++ .../ExtractionConsistency.expected | 22 +++++++++++++++++++ 4 files changed, 28 insertions(+) create mode 100644 rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/ExtractionConsistency.expected create mode 100644 rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/ExtractionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/ExtractionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/ExtractionConsistency.expected diff --git a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/ExtractionConsistency.expected new file mode 100644 index 000000000000..bc5b5c896a5a --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/ExtractionConsistency.expected @@ -0,0 +1,2 @@ +extractionWarning +| test.rs:563:7:563:10 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/ExtractionConsistency.expected new file mode 100644 index 000000000000..eb9d8e47d74c --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/ExtractionConsistency.expected @@ -0,0 +1,2 @@ +extractionWarning +| test.rs:267:62:267:62 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/ExtractionConsistency.expected new file mode 100644 index 000000000000..39c3a932a0ba --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/ExtractionConsistency.expected @@ -0,0 +1,2 @@ +extractionWarning +| main.rs:19:46:19:46 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/ExtractionConsistency.expected new file mode 100644 index 000000000000..e63e6374ba5b --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/ExtractionConsistency.expected @@ -0,0 +1,22 @@ +extractionWarning +| test.rs:16:10:19:5 | macro expansion failed for 'compile_error' | +| test.rs:23:17:24:9 | macro expansion failed for 'compile_error' | +| test.rs:28:3:28:12 | macro expansion failed for 'compile_error' | +| test.rs:33:3:33:12 | macro expansion failed for 'compile_error' | +| test.rs:39:3:39:12 | macro expansion failed for 'compile_error' | +| test.rs:50:3:50:6 | macro expansion failed for 'compile_error' | +| test.rs:55:3:55:6 | macro expansion failed for 'compile_error' | +| test.rs:60:3:60:6 | macro expansion failed for 'compile_error' | +| test.rs:65:3:65:6 | macro expansion failed for 'compile_error' | +| test.rs:73:3:73:6 | macro expansion failed for 'compile_error' | +| test.rs:78:3:78:6 | macro expansion failed for 'compile_error' | +| test.rs:87:3:87:6 | macro expansion failed for 'compile_error' | +| test.rs:94:3:94:6 | macro expansion failed for 'compile_error' | +| test.rs:99:3:99:12 | macro expansion failed for 'compile_error' | +| test.rs:104:3:104:12 | macro expansion failed for 'compile_error' | +| test.rs:112:3:112:12 | macro expansion failed for 'compile_error' | +| test.rs:128:3:128:6 | macro expansion failed for 'compile_error' | +| test.rs:139:3:139:6 | macro expansion failed for 'compile_error' | +| test.rs:144:3:144:6 | macro expansion failed for 'compile_error' | +| test.rs:150:3:150:6 | macro expansion failed for 'compile_error' | +| test.rs:168:3:168:6 | macro expansion failed for 'compile_error' | From 85b2fcedf4eaa131480adb94c61e9f37a64370d9 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 2 Jun 2026 17:15:18 +0100 Subject: [PATCH 023/190] Rust: Undo another change to the consistency check queries. --- rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll | 3 --- .../sources/net/CONSISTENCY/PathResolutionConsistency.expected | 3 +++ .../CWE-918/CONSISTENCY/PathResolutionConsistency.expected | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll b/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll index 37de5d358151..e3416b1480b0 100644 --- a/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll +++ b/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll @@ -8,9 +8,6 @@ private import PathResolution /** Holds if `p` may resolve to multiple items including `i`. */ query predicate multiplePathResolutions(Path p, ItemNode i) { p.fromSource() and - not p.(AstNode).isInMacroExpansion() and - // exclude paths inside attributes (e.g. `#[tokio::main]`) - not p.getParentNode*() instanceof Attr and i = resolvePath(p) and // `panic` is defined in both `std` and `core`; both are included in the prelude not p.getText() = "panic" and diff --git a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected index 4388f45f296e..5be3b1490017 100644 --- a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected @@ -1,3 +1,6 @@ multipleResolvedTargets | test.rs:23:26:23:66 | ... .text() | | test.rs:26:26:26:67 | ... .bytes() | +multiplePathResolutions +| test.rs:517:3:517:13 | ...::main | +| test.rs:563:5:563:6 | ...::runtime | diff --git a/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected index ac7fc3cad3f0..eb6f8590fbdd 100644 --- a/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected @@ -1,2 +1,4 @@ multiplePathResolutions +| request_forgery_tests.rs:60:7:60:17 | ...::main | +| request_forgery_tests.rs:64:9:64:11 | ...::runtime | | request_forgery_tests.rs:79:5:79:18 | ...::runtime | From 436be5c20bdd0790c170c70815e8bcd431f6f6c9 Mon Sep 17 00:00:00 2001 From: Kristen Newbury Date: Fri, 10 Jul 2026 19:36:53 -0400 Subject: [PATCH 024/190] Add implementation for technique to customize environmentCheck in actions queries --- actions/ql/lib/actions.qll | 2 ++ actions/ql/lib/codeql/actions/config/Config.qll | 16 ++++++++++++++++ .../codeql/actions/config/ConfigExtensions.qll | 12 ++++++++++++ .../codeql/actions/security/ControlChecks.qll | 14 +++++++++++++- actions/ql/lib/ext/config/customize_checks.yml | 9 +++++++++ .../ql/lib/ext/config/deployment_environment.yml | 6 ++++++ 6 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 actions/ql/lib/ext/config/customize_checks.yml create mode 100644 actions/ql/lib/ext/config/deployment_environment.yml diff --git a/actions/ql/lib/actions.qll b/actions/ql/lib/actions.qll index 2c1d1cee9259..a1ee60b1694d 100644 --- a/actions/ql/lib/actions.qll +++ b/actions/ql/lib/actions.qll @@ -1 +1,3 @@ import codeql.actions.Ast + +abstract class CustomEnvEnable extends Environment { } diff --git a/actions/ql/lib/codeql/actions/config/Config.qll b/actions/ql/lib/codeql/actions/config/Config.qll index e6359c142582..72f1b7614594 100644 --- a/actions/ql/lib/codeql/actions/config/Config.qll +++ b/actions/ql/lib/codeql/actions/config/Config.qll @@ -164,3 +164,19 @@ predicate untrustedGhCommandDataModel(string cmd_regex, string flag) { predicate actionsPermissionsDataModel(string action, string permission) { Extensions::actionsPermissionsDataModel(action, permission) } + +/** + * MaD models for deployment environments + * Fields: + * - name: deployment environment name, e.g. `Public CI` + */ +predicate enabledDeploymentEnvironmentDataModel(string name) { + Extensions::enabledDeploymentEnvironmentDataModel(name) +} + +/** + * `EnvironmentCheck` implementation model. + */ +predicate selectDeploymentEnvironmentDataModel(string selected) { + Extensions::selectDeploymentEnvironmentDataModel(selected) +} diff --git a/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll b/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll index 87a919359404..e0ca6a4da340 100644 --- a/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll +++ b/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll @@ -88,3 +88,15 @@ extensible predicate untrustedGhCommandDataModel(string cmd_regex, string flag); * - see https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/controlling-permissions-for-github_token for documentation of token permissions. */ extensible predicate actionsPermissionsDataModel(string action, string permission); + +/** + * Holds for deployment environments that exist for a given repository. + * Requires this to be externally supplied but once done can be used to + * toggle precision of whether that suffices or not as a control check. + */ +extensible predicate enabledDeploymentEnvironmentDataModel(string name); + +/** + * Selects which deployment environments model to use to implement `EnvironmentCheck`. + */ +extensible predicate selectDeploymentEnvironmentDataModel(string mechanism); diff --git a/actions/ql/lib/codeql/actions/security/ControlChecks.qll b/actions/ql/lib/codeql/actions/security/ControlChecks.qll index 4d3dbc38c657..e95b2271f811 100644 --- a/actions/ql/lib/codeql/actions/security/ControlChecks.qll +++ b/actions/ql/lib/codeql/actions/security/ControlChecks.qll @@ -277,10 +277,22 @@ abstract class LabelCheck extends ControlCheck { } class EnvironmentCheck extends ControlCheck instanceof Environment { + EnvironmentCheck() { + exists(string selected | + selectDeploymentEnvironmentDataModel(selected) and + if selected = "EnvironmentCheckMaD" + then enabledDeploymentEnvironmentDataModel(this.(Environment).getName()) + else + if selected = "EnvironmentCheckCustomQL" + then this instanceof CustomEnvEnable + else this instanceof Environment + ) + } + // Environment checks are not effective against any mutable attacks // they do actually protect against untrusted code execution (sha) override predicate protectsCategoryAndEvent(string category, string event) { - event = actor_is_attacker_event() and category = any_category() + event = actor_is_attacker_event() and category = toctou_category() or event = actor_not_attacker_event() and category = non_toctou_category() } diff --git a/actions/ql/lib/ext/config/customize_checks.yml b/actions/ql/lib/ext/config/customize_checks.yml new file mode 100644 index 000000000000..c630d8be80c7 --- /dev/null +++ b/actions/ql/lib/ext/config/customize_checks.yml @@ -0,0 +1,9 @@ +extensions: + - addsTo: + pack: codeql/actions-all + extensible: selectDeploymentEnvironmentDataModel + data: + # The possible values this can take are: + # EnvironmentCheckCustomQL - for a custom QL implementation for the sufficient EnvironmentCheck. + # EnvironmentCheckMaD - for a custom MaD list of deployment environments that are relevant to a database. + - [""] \ No newline at end of file diff --git a/actions/ql/lib/ext/config/deployment_environment.yml b/actions/ql/lib/ext/config/deployment_environment.yml new file mode 100644 index 000000000000..6517614139e0 --- /dev/null +++ b/actions/ql/lib/ext/config/deployment_environment.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/actions-all + extensible: enabledDeploymentEnvironmentDataModel + data: + - [""] \ No newline at end of file From cdffef8684c2f2608eee4f691b536a7882310468 Mon Sep 17 00:00:00 2001 From: Kristen Newbury Date: Fri, 10 Jul 2026 19:58:23 -0400 Subject: [PATCH 025/190] Fix accidental change in ControlChecks.qll --- actions/ql/lib/codeql/actions/security/ControlChecks.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actions/ql/lib/codeql/actions/security/ControlChecks.qll b/actions/ql/lib/codeql/actions/security/ControlChecks.qll index e95b2271f811..4a68d50549dc 100644 --- a/actions/ql/lib/codeql/actions/security/ControlChecks.qll +++ b/actions/ql/lib/codeql/actions/security/ControlChecks.qll @@ -292,7 +292,7 @@ class EnvironmentCheck extends ControlCheck instanceof Environment { // Environment checks are not effective against any mutable attacks // they do actually protect against untrusted code execution (sha) override predicate protectsCategoryAndEvent(string category, string event) { - event = actor_is_attacker_event() and category = toctou_category() + event = actor_is_attacker_event() and category = any_category() or event = actor_not_attacker_event() and category = non_toctou_category() } From fbde76e0775911b1dce07202a04b1a8e9ee5fa76 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 14 Jul 2026 13:26:40 +0200 Subject: [PATCH 026/190] C#: Add some GOOD dead store of local test examples. --- .../Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.cs b/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.cs index 03a6644fe800..23ba1a655d05 100644 --- a/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.cs +++ b/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; public class DeadStoreOfLocal { @@ -484,3 +485,16 @@ void Pi() Console.WriteLine($"Pi, {pi,align:F3}"); } } + +class LinqFields +{ + private readonly IEnumerable QueryBackedField = + from x1 in new[] { 1, 2, 3 } + where x1 > 1 + select x1; // GOOD: The query range variable is used by the LINQ expression. + + public static readonly IEnumerable StaticQueryBackedField = + from x2 in new[] { 1, 2, 3 } + where x2 > 1 + select x2; // GOOD: The query range variable is used by the LINQ expression. +} From 6a40b86ff0bfd1bd675bf59096c9d1af8d42d10b Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 14 Jul 2026 13:27:55 +0200 Subject: [PATCH 027/190] C#: Update test expected output. --- .../DeadStoreOfLocal.expected | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.expected b/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.expected index 2073fce06a77..4bbcf8565293 100644 --- a/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.expected +++ b/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.expected @@ -1,21 +1,25 @@ -| DeadStoreOfLocal.cs:12:13:12:20 | Int32 x = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:12:13:12:13 | x | x | -| DeadStoreOfLocal.cs:19:21:19:25 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:18:13:18:13 | x | x | -| DeadStoreOfLocal.cs:44:13:44:20 | Int32 x = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:44:13:44:13 | x | x | -| DeadStoreOfLocal.cs:50:9:50:14 | ... += ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:49:13:49:13 | x | x | -| DeadStoreOfLocal.cs:56:9:56:11 | ...++ | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:55:13:55:13 | x | x | -| DeadStoreOfLocal.cs:82:22:82:24 | String val | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:82:22:82:24 | val | val | -| DeadStoreOfLocal.cs:101:13:101:37 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:94:40:94:44 | extra | extra | -| DeadStoreOfLocal.cs:104:13:104:37 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:94:16:94:20 | info1 | info1 | -| DeadStoreOfLocal.cs:142:26:142:27 | Exception ex | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:142:26:142:27 | ex | ex | -| DeadStoreOfLocal.cs:246:17:246:24 | Int32 y = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:246:17:246:17 | y | y | -| DeadStoreOfLocal.cs:261:17:261:21 | Int32 x = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:261:17:261:17 | x | x | -| DeadStoreOfLocal.cs:300:23:300:28 | Object v1 | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:300:27:300:28 | v1 | v1 | -| DeadStoreOfLocal.cs:314:18:314:23 | Object v2 | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:314:22:314:23 | v2 | v2 | -| DeadStoreOfLocal.cs:331:9:331:32 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:327:23:327:23 | b | b | -| DeadStoreOfLocal.cs:372:13:372:20 | String s = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:372:13:372:13 | s | s | -| DeadStoreOfLocal.cs:472:20:472:76 | FileStream y = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:472:20:472:20 | y | y | +#select +| DeadStoreOfLocal.cs:13:13:13:20 | Int32 x = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:13:13:13:13 | x | x | +| DeadStoreOfLocal.cs:20:21:20:25 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:19:13:19:13 | x | x | +| DeadStoreOfLocal.cs:45:13:45:20 | Int32 x = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:45:13:45:13 | x | x | +| DeadStoreOfLocal.cs:51:9:51:14 | ... += ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:50:13:50:13 | x | x | +| DeadStoreOfLocal.cs:57:9:57:11 | ...++ | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:56:13:56:13 | x | x | +| DeadStoreOfLocal.cs:83:22:83:24 | String val | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:83:22:83:24 | val | val | +| DeadStoreOfLocal.cs:102:13:102:37 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:95:40:95:44 | extra | extra | +| DeadStoreOfLocal.cs:105:13:105:37 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:95:16:95:20 | info1 | info1 | +| DeadStoreOfLocal.cs:143:26:143:27 | Exception ex | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:143:26:143:27 | ex | ex | +| DeadStoreOfLocal.cs:247:17:247:24 | Int32 y = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:247:17:247:17 | y | y | +| DeadStoreOfLocal.cs:262:17:262:21 | Int32 x = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:262:17:262:17 | x | x | +| DeadStoreOfLocal.cs:301:23:301:28 | Object v1 | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:301:27:301:28 | v1 | v1 | +| DeadStoreOfLocal.cs:315:18:315:23 | Object v2 | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:315:22:315:23 | v2 | v2 | +| DeadStoreOfLocal.cs:332:9:332:32 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:328:23:328:23 | b | b | +| DeadStoreOfLocal.cs:373:13:373:20 | String s = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:373:13:373:13 | s | s | +| DeadStoreOfLocal.cs:473:20:473:76 | FileStream y = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:473:20:473:20 | y | y | +| DeadStoreOfLocal.cs:497:9:497:36 | Int32 x2 = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:497:14:497:15 | x2 | x2 | | DeadStoreOfLocalBad.cs:7:13:7:48 | Boolean success = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:7:13:7:19 | success | success | | DeadStoreOfLocalBad.cs:23:32:23:32 | FormatException e | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:23:32:23:32 | e | e | | DeadStoreOfLocalBad.cs:32:22:32:22 | String s | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:32:22:32:22 | s | s | | DeadStoreOfLocalBad.cs:39:18:39:22 | Int32 i | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:39:22:39:22 | i | i | | DeadStoreOfLocalBad.cs:49:18:49:25 | String s | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:49:25:49:25 | s | s | +testFailures +| DeadStoreOfLocal.cs:497:9:497:36 | This assignment to $@ is useless, since its value is never read. | Unexpected result: Alert | From 6d0e0793ed0ebe576d47a19afdb5fe217c2c282a Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 14 Jul 2026 13:33:12 +0200 Subject: [PATCH 028/190] C#: Consider the static constructor the enclosing callable for static member initialization. Note that a class can only have ONE static constructor (so it will be unique). --- csharp/ql/lib/semmle/code/csharp/ExprOrStmtParent.qll | 3 +++ 1 file changed, 3 insertions(+) diff --git a/csharp/ql/lib/semmle/code/csharp/ExprOrStmtParent.qll b/csharp/ql/lib/semmle/code/csharp/ExprOrStmtParent.qll index 2cf09707459d..493337a8edd4 100644 --- a/csharp/ql/lib/semmle/code/csharp/ExprOrStmtParent.qll +++ b/csharp/ql/lib/semmle/code/csharp/ExprOrStmtParent.qll @@ -6,6 +6,7 @@ import csharp private import internal.Location +private import controlflow.internal.ControlFlowGraph /** * INTERNAL: Do not use. @@ -145,6 +146,8 @@ private module Cached { parent*(cfe, c.(Constructor).getObjectInitializerCall()) or parent*(cfe, any(AssignExpr init | c.(ObjectInitMethod).initializes(init))) + or + parent*(cfe, any(Expr init | Initializers::staticMemberInitializer(c, init))) } /** Holds if the enclosing statement of expression `e` is `s`. */ From dbf8c6a3ae45601cbc66c430a2c09942cafb2500 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 14 Jul 2026 13:34:46 +0200 Subject: [PATCH 029/190] C#: Update test expected output. --- .../Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.expected | 4 ---- 1 file changed, 4 deletions(-) diff --git a/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.expected b/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.expected index 4bbcf8565293..27ddb157eca3 100644 --- a/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.expected +++ b/csharp/ql/test/query-tests/Dead Code/DeadStoreOfLocal/DeadStoreOfLocal.expected @@ -1,4 +1,3 @@ -#select | DeadStoreOfLocal.cs:13:13:13:20 | Int32 x = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:13:13:13:13 | x | x | | DeadStoreOfLocal.cs:20:21:20:25 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:19:13:19:13 | x | x | | DeadStoreOfLocal.cs:45:13:45:20 | Int32 x = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:45:13:45:13 | x | x | @@ -15,11 +14,8 @@ | DeadStoreOfLocal.cs:332:9:332:32 | ... = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:328:23:328:23 | b | b | | DeadStoreOfLocal.cs:373:13:373:20 | String s = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:373:13:373:13 | s | s | | DeadStoreOfLocal.cs:473:20:473:76 | FileStream y = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:473:20:473:20 | y | y | -| DeadStoreOfLocal.cs:497:9:497:36 | Int32 x2 = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocal.cs:497:14:497:15 | x2 | x2 | | DeadStoreOfLocalBad.cs:7:13:7:48 | Boolean success = ... | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:7:13:7:19 | success | success | | DeadStoreOfLocalBad.cs:23:32:23:32 | FormatException e | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:23:32:23:32 | e | e | | DeadStoreOfLocalBad.cs:32:22:32:22 | String s | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:32:22:32:22 | s | s | | DeadStoreOfLocalBad.cs:39:18:39:22 | Int32 i | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:39:22:39:22 | i | i | | DeadStoreOfLocalBad.cs:49:18:49:25 | String s | This assignment to $@ is useless, since its value is never read. | DeadStoreOfLocalBad.cs:49:25:49:25 | s | s | -testFailures -| DeadStoreOfLocal.cs:497:9:497:36 | This assignment to $@ is useless, since its value is never read. | Unexpected result: Alert | From 485aee7617ac0d65333d0d4eb2b5ec63d01290b4 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 15 Jul 2026 15:50:14 +0200 Subject: [PATCH 030/190] C#: Add change-note. --- .../2026-07-15-static-member-enclosing-callable.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 csharp/ql/src/change-notes/2026-07-15-static-member-enclosing-callable.md diff --git a/csharp/ql/src/change-notes/2026-07-15-static-member-enclosing-callable.md b/csharp/ql/src/change-notes/2026-07-15-static-member-enclosing-callable.md new file mode 100644 index 000000000000..267f212a991e --- /dev/null +++ b/csharp/ql/src/change-notes/2026-07-15-static-member-enclosing-callable.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Static constructors are now used as the enclosing callable for static member initializer expressions. This improves the precision of a range of queries, including `cs/useless-assignment-to-local` and `cs/dereferenced-value-may-be-null`. From a549f49b840a9956812e0458774140343a64ffe5 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 16 Jul 2026 09:07:57 +0200 Subject: [PATCH 031/190] C#: Add nameof virtual method in constructor test case. --- .../VirtualCallInConstructorOrDestructor.cs | 4 ++++ ...rtualCallInConstructorOrDestructor.expected | 18 +++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.cs b/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.cs index 6db005e00cef..f654c1c0a659 100644 --- a/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.cs +++ b/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.cs @@ -15,6 +15,7 @@ public void f_nonvirtual() { } public void f_interface() { } public virtual int p_virtual { get { return 0; } } + public virtual string p_virtual_string { get { return ""; } } public virtual int p_sealed { get { return 0; } } public int p_nonvirtual { get { return 0; } } @@ -55,11 +56,14 @@ class C : B a = f_sealed; // GOOD a = f_nonvirtual; // GOOD a = f_interface; // GOOD + var f_name = nameof(f_virtual); // GOOD // Property access int i = p_virtual; // $ Alert // BAD i = p_sealed; // GOOD i = p_nonvirtual; // GOOD + var p_name = nameof(p_virtual_string); // GOOD + var p_length_name = nameof(p_virtual_string.Length); // GOOD // Indexer access i = this[0]; // $ Alert // BAD diff --git a/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.expected b/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.expected index 8a97e61bf8cf..4a01b5a57870 100644 --- a/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.expected +++ b/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.expected @@ -1,5 +1,13 @@ -| VirtualCallInConstructorOrDestructor.cs:45:13:45:23 | call to method f_virtual | Avoid virtual calls in a constructor or destructor. | -| VirtualCallInConstructorOrDestructor.cs:54:17:54:25 | access to method f_virtual | Avoid virtual calls in a constructor or destructor. | -| VirtualCallInConstructorOrDestructor.cs:60:21:60:29 | access to property p_virtual | Avoid virtual calls in a constructor or destructor. | -| VirtualCallInConstructorOrDestructor.cs:65:17:65:23 | access to indexer | Avoid virtual calls in a constructor or destructor. | -| VirtualCallInConstructorOrDestructor.cs:70:13:70:21 | access to event e_virtual | Avoid virtual calls in a constructor or destructor. | +#select +| VirtualCallInConstructorOrDestructor.cs:46:13:46:23 | call to method f_virtual | Avoid virtual calls in a constructor or destructor. | +| VirtualCallInConstructorOrDestructor.cs:55:17:55:25 | access to method f_virtual | Avoid virtual calls in a constructor or destructor. | +| VirtualCallInConstructorOrDestructor.cs:59:33:59:41 | access to method f_virtual | Avoid virtual calls in a constructor or destructor. | +| VirtualCallInConstructorOrDestructor.cs:62:21:62:29 | access to property p_virtual | Avoid virtual calls in a constructor or destructor. | +| VirtualCallInConstructorOrDestructor.cs:65:33:65:48 | access to property p_virtual_string | Avoid virtual calls in a constructor or destructor. | +| VirtualCallInConstructorOrDestructor.cs:66:40:66:55 | access to property p_virtual_string | Avoid virtual calls in a constructor or destructor. | +| VirtualCallInConstructorOrDestructor.cs:69:17:69:23 | access to indexer | Avoid virtual calls in a constructor or destructor. | +| VirtualCallInConstructorOrDestructor.cs:74:13:74:21 | access to event e_virtual | Avoid virtual calls in a constructor or destructor. | +testFailures +| VirtualCallInConstructorOrDestructor.cs:59:33:59:41 | Avoid virtual calls in a constructor or destructor. | Unexpected result: Alert | +| VirtualCallInConstructorOrDestructor.cs:65:33:65:48 | Avoid virtual calls in a constructor or destructor. | Unexpected result: Alert | +| VirtualCallInConstructorOrDestructor.cs:66:40:66:55 | Avoid virtual calls in a constructor or destructor. | Unexpected result: Alert | From be6f771bc8531d8cdecaaec4a2950b72d9b0a20d Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 16 Jul 2026 09:15:19 +0200 Subject: [PATCH 032/190] C#: Use any instead of exists. --- .../VirtualCallInConstructorOrDestructor.ql | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql b/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql index a29b39d33a10..8e2919f678ce 100644 --- a/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql +++ b/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql @@ -34,17 +34,15 @@ predicate overriddenSealed(RefType t, Virtualizable d) { } predicate virtualAccessWithThisQualifier(Expr e, Member d) { - exists(VirtualMethodCall c | - c = e and c.getTarget() = d and c.hasThisQualifier() and not c.isImplicit() - ) + e = any(VirtualMethodCall c | c.getTarget() = d and c.hasThisQualifier() and not c.isImplicit()) or - exists(VirtualMethodAccess c | c = e and c.getTarget() = d and c.hasThisQualifier()) + e = any(VirtualMethodAccess c | c.getTarget() = d and c.hasThisQualifier()) or - exists(VirtualPropertyAccess c | c = e and c.getTarget() = d and c.hasThisQualifier()) + e = any(VirtualPropertyAccess c | c.getTarget() = d and c.hasThisQualifier()) or - exists(VirtualIndexerAccess c | c = e and c.getTarget() = d and c.hasThisQualifier()) + e = any(VirtualIndexerAccess c | c.getTarget() = d and c.hasThisQualifier()) or - exists(VirtualEventAccess c | c = e and c.getTarget() = d and c.hasThisQualifier()) + e = any(VirtualEventAccess c | c.getTarget() = d and c.hasThisQualifier()) } from Expr e From 4d8f1503612ad14c26e6d14b556f1fb3035f75fb Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 16 Jul 2026 09:19:01 +0200 Subject: [PATCH 033/190] C#: Allow virtual method/indexer/property/event access in nameof expressions in cs/virtual-call-in-constructor. --- .../ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql | 1 + 1 file changed, 1 insertion(+) diff --git a/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql b/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql index 8e2919f678ce..5effa2f27650 100644 --- a/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql +++ b/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql @@ -19,6 +19,7 @@ predicate virtualCallToSelfInConstructor(Expr e) { (c instanceof Constructor or c instanceof Destructor) and t = c.getDeclaringType() and virtualAccessWithThisQualifier(e, d) and + not e = any(NameOfExpr ne).getAccess().getAChildExpr*() and t.getABaseType*() = d.getDeclaringType() and not t.isSealed() and not overriddenSealed(t.getABaseType*(), d) From f7250f2b9aebae525eae73874cf468572741c5e4 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 16 Jul 2026 09:49:12 +0200 Subject: [PATCH 034/190] C#: Update test expected output. --- .../VirtualCallInConstructorOrDestructor.expected | 8 -------- 1 file changed, 8 deletions(-) diff --git a/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.expected b/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.expected index 4a01b5a57870..e2925c9cbd7b 100644 --- a/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.expected +++ b/csharp/ql/test/query-tests/Bad Practices/VirtualCallInConstructorOrDestructor/VirtualCallInConstructorOrDestructor.expected @@ -1,13 +1,5 @@ -#select | VirtualCallInConstructorOrDestructor.cs:46:13:46:23 | call to method f_virtual | Avoid virtual calls in a constructor or destructor. | | VirtualCallInConstructorOrDestructor.cs:55:17:55:25 | access to method f_virtual | Avoid virtual calls in a constructor or destructor. | -| VirtualCallInConstructorOrDestructor.cs:59:33:59:41 | access to method f_virtual | Avoid virtual calls in a constructor or destructor. | | VirtualCallInConstructorOrDestructor.cs:62:21:62:29 | access to property p_virtual | Avoid virtual calls in a constructor or destructor. | -| VirtualCallInConstructorOrDestructor.cs:65:33:65:48 | access to property p_virtual_string | Avoid virtual calls in a constructor or destructor. | -| VirtualCallInConstructorOrDestructor.cs:66:40:66:55 | access to property p_virtual_string | Avoid virtual calls in a constructor or destructor. | | VirtualCallInConstructorOrDestructor.cs:69:17:69:23 | access to indexer | Avoid virtual calls in a constructor or destructor. | | VirtualCallInConstructorOrDestructor.cs:74:13:74:21 | access to event e_virtual | Avoid virtual calls in a constructor or destructor. | -testFailures -| VirtualCallInConstructorOrDestructor.cs:59:33:59:41 | Avoid virtual calls in a constructor or destructor. | Unexpected result: Alert | -| VirtualCallInConstructorOrDestructor.cs:65:33:65:48 | Avoid virtual calls in a constructor or destructor. | Unexpected result: Alert | -| VirtualCallInConstructorOrDestructor.cs:66:40:66:55 | Avoid virtual calls in a constructor or destructor. | Unexpected result: Alert | From b52ea33566ef7bd5e5c36e5578bf1bab66a494cf Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 16 Jul 2026 09:58:04 +0200 Subject: [PATCH 035/190] C#: Add change-note. --- .../change-notes/2026-07-16-virtual-call-in-constructor.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 csharp/ql/src/change-notes/2026-07-16-virtual-call-in-constructor.md diff --git a/csharp/ql/src/change-notes/2026-07-16-virtual-call-in-constructor.md b/csharp/ql/src/change-notes/2026-07-16-virtual-call-in-constructor.md new file mode 100644 index 000000000000..bd1f5f99a4f5 --- /dev/null +++ b/csharp/ql/src/change-notes/2026-07-16-virtual-call-in-constructor.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The query `cs/virtual-call-in-constructor` has been improved. Uses of virtual members in `nameof` expressions are no longer reported, since they are not calls. From 62408d8518eb3c8a498ec198376f165c19777740 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 16 Jul 2026 11:05:49 +0200 Subject: [PATCH 036/190] C#: Add some generic override modelgenerator test cases. --- .../modelgenerator/dataflow/Summaries.cs | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/csharp/ql/test/utils/modelgenerator/dataflow/Summaries.cs b/csharp/ql/test/utils/modelgenerator/dataflow/Summaries.cs index 4c85b397ac1f..0ccfe69b7a98 100644 --- a/csharp/ql/test/utils/modelgenerator/dataflow/Summaries.cs +++ b/csharp/ql/test/utils/modelgenerator/dataflow/Summaries.cs @@ -278,6 +278,77 @@ public void AddToGenericList(List input, S data) } } +public class GenericWithVirtual1 +{ + // heuristic-summary=Models;GenericWithVirtual1;true;ReturnParam;(T);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=Models;GenericWithVirtual1;true;ReturnParam;(T);;Argument[0];ReturnValue;value;dfc-generated + public virtual T ReturnParam(T input) + { + return input; + } + + // Missing model. Should have been lifted. + // SPURIOUS-neutral=Models;GenericWithVirtual1;StubImplementation;(T);summary;df-generated + public virtual T StubImplementation(T input) + { + throw null; + } +} + +public class DerivedGenericWithVirtual : GenericWithVirtual1 +{ + // SPURIOUS-heuristic-summary=Models;DerivedGenericWithVirtual;true;ReturnParam;(System.String);;Argument[0];ReturnValue;value;df-generated + // SPURIOUS-contentbased-summary=Models;DerivedGenericWithVirtual;true;ReturnParam;(System.String);;Argument[0];ReturnValue;value;dfc-generated + public override string ReturnParam(string input) + { + return input; + } + + // SPURIOUS-heuristic-summary=Models;DerivedGenericWithVirtual;true;StubImplementation;(System.String);;Argument[0];ReturnValue;value;df-generated + // SPURIOUS-contentbased-summary=Models;DerivedGenericWithVirtual;true;StubImplementation;(System.String);;Argument[0];ReturnValue;value;dfc-generated + public override string StubImplementation(string input) + { + return input; + } +} + +public class GenericWithVirtual2 +{ + // heuristic-summary=Models;GenericWithVirtual2;true;ReturnParam;(T);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=Models;GenericWithVirtual2;true;ReturnParam;(T);;Argument[0];ReturnValue;value;dfc-generated + public virtual T ReturnParam(T input) + { + return input; + } + + // Missing model. Should have been lifted. + // SPURIOUS-neutral=Models;GenericWithVirtual2;StubImplementation;(T);summary;df-generated + + public virtual T StubImplementation(T input) + { + throw null; + } +} + +public class NestedGenericWithVirtual : GenericWithVirtual2 { } + +public class DerivedNestedGenericWithVirtual : NestedGenericWithVirtual +{ + // SPURIOUS-heuristic-summary=Models;DerivedNestedGenericWithVirtual;true;ReturnParam;(System.String);;Argument[0];ReturnValue;value;df-generated + // SPURIOUS-contentbased-summary=Models;DerivedNestedGenericWithVirtual;true;ReturnParam;(System.String);;Argument[0];ReturnValue;value;dfc-generated + public override string ReturnParam(string input) + { + return input; + } + + // SPURIOUS-heuristic-summary=Models;DerivedNestedGenericWithVirtual;true;StubImplementation;(System.String);;Argument[0];ReturnValue;value;df-generated + // SPURIOUS-contentbased-summary=Models;DerivedNestedGenericWithVirtual;true;StubImplementation;(System.String);;Argument[0];ReturnValue;value;dfc-generated + public override string StubImplementation(string input) + { + return input; + } +} + public abstract class BaseClassFlow { // heuristic-summary=Models;BaseClassFlow;true;ReturnParam;(System.Object);;Argument[0];ReturnValue;value;df-generated From 541cde98e0bb554f174efeb29bb03f02407c8b9c Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 16 Jul 2026 12:23:53 +0200 Subject: [PATCH 037/190] C#: Lift models to unbound declarations. --- csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll b/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll index 5b1b9e4ae65c..df030529550a 100644 --- a/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll +++ b/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll @@ -213,7 +213,8 @@ module SummaryModelGeneratorInput implements SummaryModelGeneratorInputSig { } private Callable getARelevantOverrideeOrImplementee(Overridable m) { - m.overridesOrImplements(result) and relevant(result) + exists(Callable c | m.overridesOrImplements(c) and result = c.getUnboundDeclaration()) and + relevant(result) } /** From 3fca6734f3d81a77275f5e966690d76eb1117a6d Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 16 Jul 2026 12:24:33 +0200 Subject: [PATCH 038/190] C#: Update model generator expected test output. --- .../modelgenerator/dataflow/Summaries.cs | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/csharp/ql/test/utils/modelgenerator/dataflow/Summaries.cs b/csharp/ql/test/utils/modelgenerator/dataflow/Summaries.cs index 0ccfe69b7a98..afab366f2158 100644 --- a/csharp/ql/test/utils/modelgenerator/dataflow/Summaries.cs +++ b/csharp/ql/test/utils/modelgenerator/dataflow/Summaries.cs @@ -287,8 +287,6 @@ public virtual T ReturnParam(T input) return input; } - // Missing model. Should have been lifted. - // SPURIOUS-neutral=Models;GenericWithVirtual1;StubImplementation;(T);summary;df-generated public virtual T StubImplementation(T input) { throw null; @@ -297,15 +295,15 @@ public virtual T StubImplementation(T input) public class DerivedGenericWithVirtual : GenericWithVirtual1 { - // SPURIOUS-heuristic-summary=Models;DerivedGenericWithVirtual;true;ReturnParam;(System.String);;Argument[0];ReturnValue;value;df-generated - // SPURIOUS-contentbased-summary=Models;DerivedGenericWithVirtual;true;ReturnParam;(System.String);;Argument[0];ReturnValue;value;dfc-generated + // heuristic-summary=Models;GenericWithVirtual1;true;ReturnParam;(T);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=Models;GenericWithVirtual1;true;ReturnParam;(T);;Argument[0];ReturnValue;value;dfc-generated public override string ReturnParam(string input) { return input; } - // SPURIOUS-heuristic-summary=Models;DerivedGenericWithVirtual;true;StubImplementation;(System.String);;Argument[0];ReturnValue;value;df-generated - // SPURIOUS-contentbased-summary=Models;DerivedGenericWithVirtual;true;StubImplementation;(System.String);;Argument[0];ReturnValue;value;dfc-generated + // heuristic-summary=Models;GenericWithVirtual1;true;StubImplementation;(T);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=Models;GenericWithVirtual1;true;StubImplementation;(T);;Argument[0];ReturnValue;value;dfc-generated public override string StubImplementation(string input) { return input; @@ -321,9 +319,6 @@ public virtual T ReturnParam(T input) return input; } - // Missing model. Should have been lifted. - // SPURIOUS-neutral=Models;GenericWithVirtual2;StubImplementation;(T);summary;df-generated - public virtual T StubImplementation(T input) { throw null; @@ -334,15 +329,15 @@ public class NestedGenericWithVirtual : GenericWithVirtual2 { } public class DerivedNestedGenericWithVirtual : NestedGenericWithVirtual { - // SPURIOUS-heuristic-summary=Models;DerivedNestedGenericWithVirtual;true;ReturnParam;(System.String);;Argument[0];ReturnValue;value;df-generated - // SPURIOUS-contentbased-summary=Models;DerivedNestedGenericWithVirtual;true;ReturnParam;(System.String);;Argument[0];ReturnValue;value;dfc-generated + // heuristic-summary=Models;GenericWithVirtual2;true;ReturnParam;(T);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=Models;GenericWithVirtual2;true;ReturnParam;(T);;Argument[0];ReturnValue;value;dfc-generated public override string ReturnParam(string input) { return input; } - // SPURIOUS-heuristic-summary=Models;DerivedNestedGenericWithVirtual;true;StubImplementation;(System.String);;Argument[0];ReturnValue;value;df-generated - // SPURIOUS-contentbased-summary=Models;DerivedNestedGenericWithVirtual;true;StubImplementation;(System.String);;Argument[0];ReturnValue;value;dfc-generated + // heuristic-summary=Models;GenericWithVirtual2;true;StubImplementation;(T);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=Models;GenericWithVirtual2;true;StubImplementation;(T);;Argument[0];ReturnValue;value;dfc-generated public override string StubImplementation(string input) { return input; From 0b365b3622bcaf72e7da345ebbf99b6a39d06257 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 16 Jul 2026 12:26:07 +0200 Subject: [PATCH 039/190] Java: Lift models to source (unbound) declarations. --- java/ql/src/utils/modelgenerator/internal/CaptureModels.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll b/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll index f02f9a5b623d..2fe9079a9f7f 100644 --- a/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll +++ b/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll @@ -167,7 +167,7 @@ module SummaryModelGeneratorInput implements SummaryModelGeneratorInputSig { Parameter asParameter(NodeExtended node) { result = node.asParameter() } private J::Method getARelevantOverride(J::Method m) { - result = m.getAnOverride() and + result = m.getAnOverride().getSourceDeclaration() and relevant(result) and // Other exclusions for overrides. not m instanceof J::ToStringMethod From f184d28ddae49ad9efd200e25c6eaf909b06442b Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 16 Jul 2026 14:39:28 +0200 Subject: [PATCH 040/190] Java: Add java generics test cases. --- .../modelgenerator/dataflow/p/Generics.java | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 java/ql/test/utils/modelgenerator/dataflow/p/Generics.java diff --git a/java/ql/test/utils/modelgenerator/dataflow/p/Generics.java b/java/ql/test/utils/modelgenerator/dataflow/p/Generics.java new file mode 100644 index 000000000000..46d81c8bb7ae --- /dev/null +++ b/java/ql/test/utils/modelgenerator/dataflow/p/Generics.java @@ -0,0 +1,62 @@ +package p; + +public class Generics { + + public class Generic1 { + // heuristic-summary=p;Generics$Generic1;true;ReturnParam;(Object);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=p;Generics$Generic1;true;ReturnParam;(Object);;Argument[0];ReturnValue;value;dfc-generated + public T ReturnParam(T input) { + return input; + } + + public T StubImplementation(T input) { + return null; + } + } + + public class DerivedGeneric extends Generic1 { + // heuristic-summary=p;Generics$Generic1;true;ReturnParam;(Object);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=p;Generics$Generic1;true;ReturnParam;(Object);;Argument[0];ReturnValue;value;dfc-generated + @Override + public String ReturnParam(String input) { + return input; + } + + // heuristic-summary=p;Generics$Generic1;true;StubImplementation;(Object);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=p;Generics$Generic1;true;StubImplementation;(Object);;Argument[0];ReturnValue;value;dfc-generated + @Override + public String StubImplementation(String input) { + return input; + } + } + + public class Generic2 { + // heuristic-summary=p;Generics$Generic2;true;ReturnParam;(Object);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=p;Generics$Generic2;true;ReturnParam;(Object);;Argument[0];ReturnValue;value;dfc-generated + public T ReturnParam(T input) { + return input; + } + + public T StubImplementation(T input) { + return null; + } + } + + public class NestedGeneric extends Generic2 { } + + public class DerivedNestedGeneric extends NestedGeneric { + // heuristic-summary=p;Generics$Generic2;true;ReturnParam;(Object);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=p;Generics$Generic2;true;ReturnParam;(Object);;Argument[0];ReturnValue;value;dfc-generated + @Override + public String ReturnParam(String input) { + return input; + } + + // heuristic-summary=p;Generics$Generic2;true;StubImplementation;(Object);;Argument[0];ReturnValue;value;df-generated + // contentbased-summary=p;Generics$Generic2;true;StubImplementation;(Object);;Argument[0];ReturnValue;value;dfc-generated + @Override + public String StubImplementation(String input) { + return input; + } + } +} From 57903295aa20d83d70de38d9e270ab3098c50b4d Mon Sep 17 00:00:00 2001 From: Kristen Newbury Date: Tue, 21 Jul 2026 16:03:50 -0400 Subject: [PATCH 041/190] Address review comments --- actions/ql/lib/actions.qll | 2 -- actions/ql/lib/codeql/actions/config/Config.qll | 7 ------- .../lib/codeql/actions/config/ConfigExtensions.qll | 5 ----- .../lib/codeql/actions/security/ControlChecks.qll | 13 ++++--------- actions/ql/lib/ext/config/customize_checks.yml | 9 --------- .../ql/lib/ext/config/deployment_environment.yml | 3 +-- 6 files changed, 5 insertions(+), 34 deletions(-) delete mode 100644 actions/ql/lib/ext/config/customize_checks.yml diff --git a/actions/ql/lib/actions.qll b/actions/ql/lib/actions.qll index a1ee60b1694d..2c1d1cee9259 100644 --- a/actions/ql/lib/actions.qll +++ b/actions/ql/lib/actions.qll @@ -1,3 +1 @@ import codeql.actions.Ast - -abstract class CustomEnvEnable extends Environment { } diff --git a/actions/ql/lib/codeql/actions/config/Config.qll b/actions/ql/lib/codeql/actions/config/Config.qll index 72f1b7614594..27e24514c091 100644 --- a/actions/ql/lib/codeql/actions/config/Config.qll +++ b/actions/ql/lib/codeql/actions/config/Config.qll @@ -173,10 +173,3 @@ predicate actionsPermissionsDataModel(string action, string permission) { predicate enabledDeploymentEnvironmentDataModel(string name) { Extensions::enabledDeploymentEnvironmentDataModel(name) } - -/** - * `EnvironmentCheck` implementation model. - */ -predicate selectDeploymentEnvironmentDataModel(string selected) { - Extensions::selectDeploymentEnvironmentDataModel(selected) -} diff --git a/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll b/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll index e0ca6a4da340..f8cdc8e66c6a 100644 --- a/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll +++ b/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll @@ -95,8 +95,3 @@ extensible predicate actionsPermissionsDataModel(string action, string permissio * toggle precision of whether that suffices or not as a control check. */ extensible predicate enabledDeploymentEnvironmentDataModel(string name); - -/** - * Selects which deployment environments model to use to implement `EnvironmentCheck`. - */ -extensible predicate selectDeploymentEnvironmentDataModel(string mechanism); diff --git a/actions/ql/lib/codeql/actions/security/ControlChecks.qll b/actions/ql/lib/codeql/actions/security/ControlChecks.qll index 4a68d50549dc..7bde120e432a 100644 --- a/actions/ql/lib/codeql/actions/security/ControlChecks.qll +++ b/actions/ql/lib/codeql/actions/security/ControlChecks.qll @@ -278,15 +278,10 @@ abstract class LabelCheck extends ControlCheck { class EnvironmentCheck extends ControlCheck instanceof Environment { EnvironmentCheck() { - exists(string selected | - selectDeploymentEnvironmentDataModel(selected) and - if selected = "EnvironmentCheckMaD" - then enabledDeploymentEnvironmentDataModel(this.(Environment).getName()) - else - if selected = "EnvironmentCheckCustomQL" - then this instanceof CustomEnvEnable - else this instanceof Environment - ) + // if there are any custom tuples use those + if enabledDeploymentEnvironmentDataModel(_) + then enabledDeploymentEnvironmentDataModel(this.(Environment).getName()) + else this instanceof Environment } // Environment checks are not effective against any mutable attacks diff --git a/actions/ql/lib/ext/config/customize_checks.yml b/actions/ql/lib/ext/config/customize_checks.yml deleted file mode 100644 index c630d8be80c7..000000000000 --- a/actions/ql/lib/ext/config/customize_checks.yml +++ /dev/null @@ -1,9 +0,0 @@ -extensions: - - addsTo: - pack: codeql/actions-all - extensible: selectDeploymentEnvironmentDataModel - data: - # The possible values this can take are: - # EnvironmentCheckCustomQL - for a custom QL implementation for the sufficient EnvironmentCheck. - # EnvironmentCheckMaD - for a custom MaD list of deployment environments that are relevant to a database. - - [""] \ No newline at end of file diff --git a/actions/ql/lib/ext/config/deployment_environment.yml b/actions/ql/lib/ext/config/deployment_environment.yml index 6517614139e0..eed2911c2758 100644 --- a/actions/ql/lib/ext/config/deployment_environment.yml +++ b/actions/ql/lib/ext/config/deployment_environment.yml @@ -2,5 +2,4 @@ extensions: - addsTo: pack: codeql/actions-all extensible: enabledDeploymentEnvironmentDataModel - data: - - [""] \ No newline at end of file + data: [] \ No newline at end of file From 854b5e8d8b169248840d83c318fdb9f3e9dfb184 Mon Sep 17 00:00:00 2001 From: Kristen Newbury Date: Wed, 22 Jul 2026 10:27:25 -0400 Subject: [PATCH 042/190] Add ControlCheck library test --- .../basic/.github/workflows/controlcheck.yml | 16 ++++++++++++++++ .../basic/controlchecktest.expected | 1 + .../library-tests/basic/controlchecktest.ext.yml | 8 ++++++++ .../test/library-tests/basic/controlchecktest.ql | 5 +++++ 4 files changed, 30 insertions(+) create mode 100644 actions/ql/test/library-tests/basic/.github/workflows/controlcheck.yml create mode 100644 actions/ql/test/library-tests/basic/controlchecktest.expected create mode 100644 actions/ql/test/library-tests/basic/controlchecktest.ext.yml create mode 100644 actions/ql/test/library-tests/basic/controlchecktest.ql diff --git a/actions/ql/test/library-tests/basic/.github/workflows/controlcheck.yml b/actions/ql/test/library-tests/basic/.github/workflows/controlcheck.yml new file mode 100644 index 000000000000..bd8ba15784b4 --- /dev/null +++ b/actions/ql/test/library-tests/basic/.github/workflows/controlcheck.yml @@ -0,0 +1,16 @@ +on: + pull_request_target: + types: [Created] +jobs: + test1: + environment: EnvironmentInRepo + runs-on: ubuntu-latest + steps: + - name: Test 1 + run: echo "test1" + test2: + environment: EnvironmentNotInRepo + runs-on: ubuntu-latest + steps: + - name: Test 2 + run: echo "test2" \ No newline at end of file diff --git a/actions/ql/test/library-tests/basic/controlchecktest.expected b/actions/ql/test/library-tests/basic/controlchecktest.expected new file mode 100644 index 000000000000..ac2f7ac38aa1 --- /dev/null +++ b/actions/ql/test/library-tests/basic/controlchecktest.expected @@ -0,0 +1 @@ +| .github/workflows/controlcheck.yml:6:18:6:34 | EnvironmentInRepo | diff --git a/actions/ql/test/library-tests/basic/controlchecktest.ext.yml b/actions/ql/test/library-tests/basic/controlchecktest.ext.yml new file mode 100644 index 000000000000..c20b01db5a22 --- /dev/null +++ b/actions/ql/test/library-tests/basic/controlchecktest.ext.yml @@ -0,0 +1,8 @@ +extensions: + - addsTo: + pack: codeql/actions-all + extensible: enabledDeploymentEnvironmentDataModel + data: + # assumed to exist in a repo where controlcheck.yml exists + # realisitically would need to be manually/externally provided + - ["EnvironmentInRepo"] \ No newline at end of file diff --git a/actions/ql/test/library-tests/basic/controlchecktest.ql b/actions/ql/test/library-tests/basic/controlchecktest.ql new file mode 100644 index 000000000000..1daba58fe749 --- /dev/null +++ b/actions/ql/test/library-tests/basic/controlchecktest.ql @@ -0,0 +1,5 @@ +import actions +import codeql.actions.security.ControlChecks + +from ControlCheck c +select c From 07e3e346dd8028d553d748e9ac9dbc32750b2d2c Mon Sep 17 00:00:00 2001 From: Kristen Newbury Date: Wed, 22 Jul 2026 12:00:39 -0400 Subject: [PATCH 043/190] Add change note ControlCheck change --- .../2026-07-22-environment-check-sanitizer-mad.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 actions/ql/lib/change-notes/2026-07-22-environment-check-sanitizer-mad.md diff --git a/actions/ql/lib/change-notes/2026-07-22-environment-check-sanitizer-mad.md b/actions/ql/lib/change-notes/2026-07-22-environment-check-sanitizer-mad.md new file mode 100644 index 000000000000..ef901cdc7603 --- /dev/null +++ b/actions/ql/lib/change-notes/2026-07-22-environment-check-sanitizer-mad.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added an option to `EnvironmentCheck` to become specified by a MaD model, otherwise it will continue as the default it previously was. Without adding models to `actions/ql/lib/ext/config/deployment_environment.yml` the behavior of every query will be unchanged. When models are added queries using `ControlCheck` may find more results in cases where an enironment is no longer a sufficient sanitizer. \ No newline at end of file From 5927a8683a9ab26b3df1ce8f05fb3ea2f10d2d39 Mon Sep 17 00:00:00 2001 From: Kristen Newbury Date: Wed, 22 Jul 2026 12:01:34 -0400 Subject: [PATCH 044/190] Fix spelling mistake in doc --- actions/ql/test/library-tests/basic/controlchecktest.ext.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actions/ql/test/library-tests/basic/controlchecktest.ext.yml b/actions/ql/test/library-tests/basic/controlchecktest.ext.yml index c20b01db5a22..96ded8ff2b2c 100644 --- a/actions/ql/test/library-tests/basic/controlchecktest.ext.yml +++ b/actions/ql/test/library-tests/basic/controlchecktest.ext.yml @@ -4,5 +4,5 @@ extensions: extensible: enabledDeploymentEnvironmentDataModel data: # assumed to exist in a repo where controlcheck.yml exists - # realisitically would need to be manually/externally provided + # realistically would need to be manually/externally provided - ["EnvironmentInRepo"] \ No newline at end of file From a9d1b4be39cba19643c84ec25bdcb8e1e54be519 Mon Sep 17 00:00:00 2001 From: Kristen Newbury Date: Wed, 22 Jul 2026 12:05:13 -0400 Subject: [PATCH 045/190] Improve doc --- actions/ql/lib/codeql/actions/config/ConfigExtensions.qll | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll b/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll index f8cdc8e66c6a..4ee438fc63cb 100644 --- a/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll +++ b/actions/ql/lib/codeql/actions/config/ConfigExtensions.qll @@ -90,8 +90,10 @@ extensible predicate untrustedGhCommandDataModel(string cmd_regex, string flag); extensible predicate actionsPermissionsDataModel(string action, string permission); /** - * Holds for deployment environments that exist for a given repository. + * Holds for deployment environments that exist with `name` for a given repository. + * * - 'name' is the name of the environment defined. + * E.g. for the deployment environment `environment: EnvironmentInRepo`, `name` is `EnvironmentInRepo`. * Requires this to be externally supplied but once done can be used to - * toggle precision of whether that suffices or not as a control check. + * toggle precision of whether that suffices or not as a control check by contributing to `EnvironmentCheck`. */ extensible predicate enabledDeploymentEnvironmentDataModel(string name); From 1e6e8577da8fbdf116ed9dca3e63636ae02e9819 Mon Sep 17 00:00:00 2001 From: Kristen Newbury Date: Thu, 23 Jul 2026 10:55:33 -0400 Subject: [PATCH 046/190] Fix missing test expected file adjustments, expected --- .../library-tests/basic/commands.expected | 2 + .../ql/test/library-tests/basic/test.expected | 73 +++++++++++++++++++ 2 files changed, 75 insertions(+) diff --git a/actions/ql/test/library-tests/basic/commands.expected b/actions/ql/test/library-tests/basic/commands.expected index 82ea1739b28a..adbcdb5a40a7 100644 --- a/actions/ql/test/library-tests/basic/commands.expected +++ b/actions/ql/test/library-tests/basic/commands.expected @@ -16,6 +16,8 @@ | .github/workflows/commands.yml:28:9:31:2 | Run Step | wc -l | | .github/workflows/commands.yml:34:9:37:6 | Run Step | command1 | | .github/workflows/commands.yml:34:9:37:6 | Run Step | command2 | +| .github/workflows/controlcheck.yml:9:9:11:2 | Run Step | echo "test1" | +| .github/workflows/controlcheck.yml:15:9:16:25 | Run Step | echo "test2" | | .github/workflows/expression_nodes.yml:7:9:8:6 | Run Step | LINE 1echo '${{ github.event.comment.body }}' | | .github/workflows/expression_nodes.yml:8:9:10:6 | Run Step | LINE 1 echo '${{ github.event.comment.body }}' | | .github/workflows/expression_nodes.yml:10:9:13:6 | Run Step | LINE 1 echo '${{ github.event.comment.body }}' | diff --git a/actions/ql/test/library-tests/basic/test.expected b/actions/ql/test/library-tests/basic/test.expected index 4de3336aba7b..7c1c560c87e1 100644 --- a/actions/ql/test/library-tests/basic/test.expected +++ b/actions/ql/test/library-tests/basic/test.expected @@ -1,5 +1,6 @@ files | .github/workflows/commands.yml:0:0:0:0 | .github/workflows/commands.yml | +| .github/workflows/controlcheck.yml:0:0:0:0 | .github/workflows/controlcheck.yml | | .github/workflows/expression_nodes.yml:0:0:0:0 | .github/workflows/expression_nodes.yml | | .github/workflows/many_strings.yml:0:0:0:0 | .github/workflows/many_strings.yml | | .github/workflows/multiline2.yml:0:0:0:0 | .github/workflows/multiline2.yml | @@ -7,8 +8,10 @@ files | .github/workflows/poisonable_steps.yml:0:0:0:0 | .github/workflows/poisonable_steps.yml | | .github/workflows/shell.yml:0:0:0:0 | .github/workflows/shell.yml | | .github/workflows/test.yml:0:0:0:0 | .github/workflows/test.yml | +| controlchecktest.ext.yml:0:0:0:0 | controlchecktest.ext.yml | workflows | .github/workflows/commands.yml:1:1:39:30 | on: push | +| .github/workflows/controlcheck.yml:1:1:16:25 | on: | | .github/workflows/expression_nodes.yml:1:1:21:47 | on: issue_comment | | .github/workflows/many_strings.yml:1:1:18:1211 | on: | | .github/workflows/multiline2.yml:1:1:89:35 | on: | @@ -21,6 +24,8 @@ compositeActions jobs | .github/workflows/commands.yml:9:5:31:2 | Job: local_commands | | .github/workflows/commands.yml:32:5:39:30 | Job: local_commands2 | +| .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | +| .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | | .github/workflows/expression_nodes.yml:5:5:21:47 | Job: echo-chamber | | .github/workflows/many_strings.yml:9:5:18:1211 | Job: Test | | .github/workflows/multiline2.yml:9:5:89:35 | Job: Test | @@ -35,6 +40,8 @@ jobs localJobs | .github/workflows/commands.yml:9:5:31:2 | Job: local_commands | | .github/workflows/commands.yml:32:5:39:30 | Job: local_commands2 | +| .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | +| .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | | .github/workflows/expression_nodes.yml:5:5:21:47 | Job: echo-chamber | | .github/workflows/many_strings.yml:9:5:18:1211 | Job: Test | | .github/workflows/multiline2.yml:9:5:89:35 | Job: Test | @@ -57,6 +64,8 @@ steps | .github/workflows/commands.yml:28:9:31:2 | Run Step | | .github/workflows/commands.yml:34:9:37:6 | Run Step | | .github/workflows/commands.yml:37:9:39:30 | Run Step | +| .github/workflows/controlcheck.yml:9:9:11:2 | Run Step | +| .github/workflows/controlcheck.yml:15:9:16:25 | Run Step | | .github/workflows/expression_nodes.yml:7:9:8:6 | Run Step | | .github/workflows/expression_nodes.yml:8:9:10:6 | Run Step | | .github/workflows/expression_nodes.yml:10:9:13:6 | Run Step | @@ -180,6 +189,10 @@ runStepChildren | .github/workflows/commands.yml:34:9:37:6 | Run Step | .github/workflows/commands.yml:35:14:36:30 | command1 ; command2\n | | .github/workflows/commands.yml:37:9:39:30 | Run Step | .github/workflows/commands.yml:37:16:37:19 | pwsh | | .github/workflows/commands.yml:37:9:39:30 | Run Step | .github/workflows/commands.yml:38:14:39:30 | command3 \| command4\n | +| .github/workflows/controlcheck.yml:9:9:11:2 | Run Step | .github/workflows/controlcheck.yml:9:15:9:20 | Test 1 | +| .github/workflows/controlcheck.yml:9:9:11:2 | Run Step | .github/workflows/controlcheck.yml:10:14:10:25 | echo "test1" | +| .github/workflows/controlcheck.yml:15:9:16:25 | Run Step | .github/workflows/controlcheck.yml:15:15:15:20 | Test 2 | +| .github/workflows/controlcheck.yml:15:9:16:25 | Run Step | .github/workflows/controlcheck.yml:16:14:16:25 | echo "test2" | | .github/workflows/expression_nodes.yml:7:9:8:6 | Run Step | .github/workflows/expression_nodes.yml:7:14:7:58 | LINE 1echo '${{ github.event.comment.body }}' | | .github/workflows/expression_nodes.yml:8:9:10:6 | Run Step | .github/workflows/expression_nodes.yml:8:14:9:57 | LINE 1 echo '${{ github.event.comment.body }}'\n | | .github/workflows/expression_nodes.yml:10:9:13:6 | Run Step | .github/workflows/expression_nodes.yml:10:14:12:53 | LINE 1 echo '${{ github.event.comment.body }}'\nLINE 2 echo '${{github.event.issue.body}}'\n | @@ -347,6 +360,43 @@ parentNodes | .github/workflows/commands.yml:38:14:39:30 | command3 \| command4\n | .github/workflows/commands.yml:1:1:39:30 | on: push | | .github/workflows/commands.yml:38:14:39:30 | command3 \| command4\n | .github/workflows/commands.yml:32:5:39:30 | Job: local_commands2 | | .github/workflows/commands.yml:38:14:39:30 | command3 \| command4\n | .github/workflows/commands.yml:37:9:39:30 | Run Step | +| .github/workflows/controlcheck.yml:2:3:2:21 | pull_request_target | .github/workflows/controlcheck.yml:2:3:3:21 | pull_request_target: | +| .github/workflows/controlcheck.yml:2:3:3:21 | pull_request_target: | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:3:13:3:19 | Created | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:3:13:3:19 | Created | .github/workflows/controlcheck.yml:2:3:2:21 | pull_request_target | +| .github/workflows/controlcheck.yml:3:13:3:19 | Created | .github/workflows/controlcheck.yml:2:3:3:21 | pull_request_target: | +| .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:6:18:6:34 | EnvironmentInRepo | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:6:18:6:34 | EnvironmentInRepo | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:6:18:6:34 | EnvironmentInRepo | .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | +| .github/workflows/controlcheck.yml:6:18:6:34 | EnvironmentInRepo | .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | +| .github/workflows/controlcheck.yml:6:18:6:34 | EnvironmentInRepo | .github/workflows/controlcheck.yml:6:18:6:34 | EnvironmentInRepo | +| .github/workflows/controlcheck.yml:6:18:6:34 | EnvironmentInRepo | .github/workflows/controlcheck.yml:6:18:6:34 | EnvironmentInRepo | +| .github/workflows/controlcheck.yml:7:14:7:26 | ubuntu-latest | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:7:14:7:26 | ubuntu-latest | .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | +| .github/workflows/controlcheck.yml:9:9:11:2 | Run Step | .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | +| .github/workflows/controlcheck.yml:9:15:9:20 | Test 1 | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:9:15:9:20 | Test 1 | .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | +| .github/workflows/controlcheck.yml:9:15:9:20 | Test 1 | .github/workflows/controlcheck.yml:9:9:11:2 | Run Step | +| .github/workflows/controlcheck.yml:10:14:10:25 | echo "test1" | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:10:14:10:25 | echo "test1" | .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | +| .github/workflows/controlcheck.yml:10:14:10:25 | echo "test1" | .github/workflows/controlcheck.yml:9:9:11:2 | Run Step | +| .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:12:18:12:37 | EnvironmentNotInRepo | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:12:18:12:37 | EnvironmentNotInRepo | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:12:18:12:37 | EnvironmentNotInRepo | .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | +| .github/workflows/controlcheck.yml:12:18:12:37 | EnvironmentNotInRepo | .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | +| .github/workflows/controlcheck.yml:12:18:12:37 | EnvironmentNotInRepo | .github/workflows/controlcheck.yml:12:18:12:37 | EnvironmentNotInRepo | +| .github/workflows/controlcheck.yml:12:18:12:37 | EnvironmentNotInRepo | .github/workflows/controlcheck.yml:12:18:12:37 | EnvironmentNotInRepo | +| .github/workflows/controlcheck.yml:13:14:13:26 | ubuntu-latest | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:13:14:13:26 | ubuntu-latest | .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | +| .github/workflows/controlcheck.yml:15:9:16:25 | Run Step | .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | +| .github/workflows/controlcheck.yml:15:15:15:20 | Test 2 | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:15:15:15:20 | Test 2 | .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | +| .github/workflows/controlcheck.yml:15:15:15:20 | Test 2 | .github/workflows/controlcheck.yml:15:9:16:25 | Run Step | +| .github/workflows/controlcheck.yml:16:14:16:25 | echo "test2" | .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:16:14:16:25 | echo "test2" | .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | +| .github/workflows/controlcheck.yml:16:14:16:25 | echo "test2" | .github/workflows/controlcheck.yml:15:9:16:25 | Run Step | | .github/workflows/expression_nodes.yml:1:5:1:17 | issue_comment | .github/workflows/expression_nodes.yml:1:1:21:47 | on: issue_comment | | .github/workflows/expression_nodes.yml:1:5:1:17 | issue_comment | .github/workflows/expression_nodes.yml:1:1:21:47 | on: issue_comment | | .github/workflows/expression_nodes.yml:1:5:1:17 | issue_comment | .github/workflows/expression_nodes.yml:1:5:1:17 | issue_comment | @@ -905,6 +955,16 @@ cfgNodes | .github/workflows/commands.yml:35:14:36:30 | command1 ; command2\n | | .github/workflows/commands.yml:37:9:39:30 | Run Step | | .github/workflows/commands.yml:38:14:39:30 | command3 \| command4\n | +| .github/workflows/controlcheck.yml:1:1:16:25 | enter on: | +| .github/workflows/controlcheck.yml:1:1:16:25 | exit on: | +| .github/workflows/controlcheck.yml:1:1:16:25 | exit on: (normal) | +| .github/workflows/controlcheck.yml:1:1:16:25 | on: | +| .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | +| .github/workflows/controlcheck.yml:9:9:11:2 | Run Step | +| .github/workflows/controlcheck.yml:10:14:10:25 | echo "test1" | +| .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | +| .github/workflows/controlcheck.yml:15:9:16:25 | Run Step | +| .github/workflows/controlcheck.yml:16:14:16:25 | echo "test2" | | .github/workflows/expression_nodes.yml:1:1:21:47 | enter on: issue_comment | | .github/workflows/expression_nodes.yml:1:1:21:47 | exit on: issue_comment | | .github/workflows/expression_nodes.yml:1:1:21:47 | exit on: issue_comment (normal) | @@ -1140,6 +1200,12 @@ dfNodes | .github/workflows/commands.yml:35:14:36:30 | command1 ; command2\n | | .github/workflows/commands.yml:37:9:39:30 | Run Step | | .github/workflows/commands.yml:38:14:39:30 | command3 \| command4\n | +| .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | +| .github/workflows/controlcheck.yml:9:9:11:2 | Run Step | +| .github/workflows/controlcheck.yml:10:14:10:25 | echo "test1" | +| .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | +| .github/workflows/controlcheck.yml:15:9:16:25 | Run Step | +| .github/workflows/controlcheck.yml:16:14:16:25 | echo "test2" | | .github/workflows/expression_nodes.yml:5:5:21:47 | Job: echo-chamber | | .github/workflows/expression_nodes.yml:7:9:8:6 | Run Step | | .github/workflows/expression_nodes.yml:7:14:7:58 | LINE 1echo '${{ github.event.comment.body }}' | @@ -1353,6 +1419,12 @@ nodeLocations | .github/workflows/commands.yml:35:14:36:30 | command1 ; command2\n | .github/workflows/commands.yml:35:14:36:30 | .github/workflows/commands.yml@35:14:36:30 | | .github/workflows/commands.yml:37:9:39:30 | Run Step | .github/workflows/commands.yml:37:9:39:30 | .github/workflows/commands.yml@37:9:39:30 | | .github/workflows/commands.yml:38:14:39:30 | command3 \| command4\n | .github/workflows/commands.yml:38:14:39:30 | .github/workflows/commands.yml@38:14:39:30 | +| .github/workflows/controlcheck.yml:6:5:11:2 | Job: test1 | .github/workflows/controlcheck.yml:6:5:11:2 | .github/workflows/controlcheck.yml@6:5:11:2 | +| .github/workflows/controlcheck.yml:9:9:11:2 | Run Step | .github/workflows/controlcheck.yml:9:9:11:2 | .github/workflows/controlcheck.yml@9:9:11:2 | +| .github/workflows/controlcheck.yml:10:14:10:25 | echo "test1" | .github/workflows/controlcheck.yml:10:14:10:25 | .github/workflows/controlcheck.yml@10:14:10:25 | +| .github/workflows/controlcheck.yml:12:5:16:25 | Job: test2 | .github/workflows/controlcheck.yml:12:5:16:25 | .github/workflows/controlcheck.yml@12:5:16:25 | +| .github/workflows/controlcheck.yml:15:9:16:25 | Run Step | .github/workflows/controlcheck.yml:15:9:16:25 | .github/workflows/controlcheck.yml@15:9:16:25 | +| .github/workflows/controlcheck.yml:16:14:16:25 | echo "test2" | .github/workflows/controlcheck.yml:16:14:16:25 | .github/workflows/controlcheck.yml@16:14:16:25 | | .github/workflows/expression_nodes.yml:5:5:21:47 | Job: echo-chamber | .github/workflows/expression_nodes.yml:5:5:21:47 | .github/workflows/expression_nodes.yml@5:5:21:47 | | .github/workflows/expression_nodes.yml:7:9:8:6 | Run Step | .github/workflows/expression_nodes.yml:7:9:8:6 | .github/workflows/expression_nodes.yml@7:9:8:6 | | .github/workflows/expression_nodes.yml:7:14:7:58 | LINE 1echo '${{ github.event.comment.body }}' | .github/workflows/expression_nodes.yml:7:14:7:58 | .github/workflows/expression_nodes.yml@7:14:7:58 | @@ -1541,6 +1613,7 @@ nodeLocations | .github/workflows/test.yml:40:20:40:53 | needs.job1.outputs.job_output | .github/workflows/test.yml:40:20:40:53 | .github/workflows/test.yml@40:20:40:53 | scopes | .github/workflows/commands.yml:1:1:39:30 | on: push | +| .github/workflows/controlcheck.yml:1:1:16:25 | on: | | .github/workflows/expression_nodes.yml:1:1:21:47 | on: issue_comment | | .github/workflows/many_strings.yml:1:1:18:1211 | on: | | .github/workflows/multiline2.yml:1:1:89:35 | on: | From 1d6ac57dd63a91b85a02a5b0bc5490510d6aa1f6 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 3 Aug 2026 15:36:47 +0200 Subject: [PATCH 047/190] Rust: Restore built-in derive macro expansion under rust-analyzer 0.0.328 rust-analyzer 0.0.317 re-modeled built-in derives (`Debug`, `PartialEq`, `Eq`, ...) as synthetic impls rather than syntactic macro expansions, so `Semantics::expand_derive_macro` returns nothing for them and the 0.0.328 upgrade silently dropped their extraction. This regressed queries that depend on the derived impls (e.g. `rust/insecure-cookie`). Reconstruct the expansions extractor-side by re-running the still-public built-in derive expander over the ADT and emitting the resulting `impl` items. Synthesized nodes are not in the semantics cache, so their source locations are resolved through the expansion span map instead of `Semantics::original_range`. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 86c6ce1d-a625-491a-94ea-eae08d3cc1be --- Cargo.lock | 1 + MODULE.bazel | 1 + .../tree_sitter_extractors_deps/BUILD.bazel | 12 + .../tree_sitter_extractors_deps/defs.bzl | 2 + rust/extractor/Cargo.toml | 1 + rust/extractor/src/translate/base.rs | 105 +++- .../canonical_path/canonical_paths.expected | 3 + .../generated/MacroItems/MacroItems.expected | 2 + .../macro-expansion/PrintAst.expected | 197 +++++++ .../macro-expansion/test.expected | 3 + .../type-inference/type-inference.expected | 23 +- .../security/CWE-614/InsecureCookie.expected | 528 ++++++++++++++---- 12 files changed, 750 insertions(+), 128 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a6fc6ddca7ff..4c787086bddc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -505,6 +505,7 @@ dependencies = [ "ra_ap_project_model", "ra_ap_span", "ra_ap_syntax", + "ra_ap_syntax-bridge", "ra_ap_vfs", "rust-extractor-macros", "serde", diff --git a/MODULE.bazel b/MODULE.bazel index 9ecf728200fb..e06b7ce9bbdc 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -135,6 +135,7 @@ use_repo( "vendor_ts__ra_ap_span-0.0.328", "vendor_ts__ra_ap_stdx-0.0.328", "vendor_ts__ra_ap_syntax-0.0.328", + "vendor_ts__ra_ap_syntax-bridge-0.0.328", "vendor_ts__ra_ap_vfs-0.0.328", "vendor_ts__rand-0.10.1", "vendor_ts__rayon-1.12.0", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel index 8d1a63e1e5ef..579a8a61fd86 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel @@ -457,6 +457,18 @@ alias( tags = ["manual"], ) +alias( + name = "ra_ap_syntax-bridge-0.0.328", + actual = "@vendor_ts__ra_ap_syntax-bridge-0.0.328//:ra_ap_syntax_bridge", + tags = ["manual"], +) + +alias( + name = "ra_ap_syntax-bridge", + actual = "@vendor_ts__ra_ap_syntax-bridge-0.0.328//:ra_ap_syntax_bridge", + tags = ["manual"], +) + alias( name = "ra_ap_vfs-0.0.328", actual = "@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs", diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl index 75ec0cf7fd85..a1542cc9cda4 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl @@ -350,6 +350,7 @@ _NORMAL_DEPENDENCIES = { "ra_ap_project_model": Label("@vendor_ts__ra_ap_project_model-0.0.328//:ra_ap_project_model"), "ra_ap_span": Label("@vendor_ts__ra_ap_span-0.0.328//:ra_ap_span"), "ra_ap_syntax": Label("@vendor_ts__ra_ap_syntax-0.0.328//:ra_ap_syntax"), + "ra_ap_syntax-bridge": Label("@vendor_ts__ra_ap_syntax-bridge-0.0.328//:ra_ap_syntax_bridge"), "ra_ap_vfs": Label("@vendor_ts__ra_ap_vfs-0.0.328//:ra_ap_vfs"), "serde": Label("@vendor_ts__serde-1.0.228//:serde"), "serde_json": Label("@vendor_ts__serde_json-1.0.150//:serde_json"), @@ -4498,6 +4499,7 @@ def crate_repositories(): struct(repo = "vendor_ts__ra_ap_span-0.0.328", is_dev_dep = False), struct(repo = "vendor_ts__ra_ap_stdx-0.0.328", is_dev_dep = False), struct(repo = "vendor_ts__ra_ap_syntax-0.0.328", is_dev_dep = False), + struct(repo = "vendor_ts__ra_ap_syntax-bridge-0.0.328", is_dev_dep = False), struct(repo = "vendor_ts__ra_ap_vfs-0.0.328", is_dev_dep = False), struct(repo = "vendor_ts__rayon-1.12.0", is_dev_dep = False), struct(repo = "vendor_ts__regex-1.12.3", is_dev_dep = False), diff --git a/rust/extractor/Cargo.toml b/rust/extractor/Cargo.toml index 41199b7c8f98..60376b5b67e8 100644 --- a/rust/extractor/Cargo.toml +++ b/rust/extractor/Cargo.toml @@ -20,6 +20,7 @@ ra_ap_load-cargo = "0.0.328" ra_ap_paths = "0.0.328" ra_ap_project_model = "0.0.328" ra_ap_syntax = "0.0.328" +ra_ap_syntax-bridge = "0.0.328" ra_ap_vfs = "0.0.328" ra_ap_parser = "0.0.328" ra_ap_span = "0.0.328" diff --git a/rust/extractor/src/translate/base.rs b/rust/extractor/src/translate/base.rs index 403e69c50c39..62ff3d5fa10e 100644 --- a/rust/extractor/src/translate/base.rs +++ b/rust/extractor/src/translate/base.rs @@ -6,16 +6,19 @@ use crate::trap::{Label, TrapClass}; use ra_ap_base_db::EditionedFileId; use ra_ap_hir::Semantics; use ra_ap_hir::db::ExpandDatabase; -use ra_ap_hir_expand::{ExpandResult, ExpandTo, InFile}; +use ra_ap_hir_expand::builtin::{BuiltinDeriveExpander, find_builtin_derive}; +use ra_ap_hir_expand::span_map::ExpansionSpanMap; +use ra_ap_hir_expand::{ExpandResult, ExpandTo, InFile, map_node_range_up_rooted}; use ra_ap_ide_db::RootDatabase; use ra_ap_ide_db::line_index::{LineCol, LineIndex}; -use ra_ap_parser::SyntaxKind; +use ra_ap_parser::{SyntaxKind, TopEntryPoint}; use ra_ap_span::TextSize; use ra_ap_syntax::ast::HasAttrs; use ra_ap_syntax::{ AstNode, NodeOrToken, SyntaxElementChildren, SyntaxError, SyntaxNode, SyntaxToken, TextRange, ast, }; +use ra_ap_syntax_bridge::{DocCommentDesugarMode, syntax_node_to_token_tree, token_tree_to_syntax_node}; impl Emission for Translator<'_> { fn pre_emit(&mut self, node: &ast::Item) -> Option> { @@ -128,6 +131,10 @@ pub struct Translator<'a> { source_kind: SourceKind, pub(crate) macro_context_depth: usize, diagnostic_count: usize, + /// When emitting a reconstructed built-in derive expansion, holds the span map of the + /// synthesized syntax tree. Those nodes are not registered in the semantics cache, so + /// locations are resolved through this map instead of `Semantics::original_range`. + builtin_derive_span_map: Option, } const UNKNOWN_LOCATION: (LineCol, LineCol) = @@ -154,6 +161,7 @@ impl<'a> Translator<'a> { source_kind, macro_context_depth: 0, diagnostic_count: 0, + builtin_derive_span_map: None, } } fn location(&self, range: TextRange) -> Option<(LineCol, LineCol)> { @@ -177,6 +185,15 @@ impl<'a> Translator<'a> { } pub fn text_range_for_node(&mut self, node: &impl ast::AstNode) -> Option { + if let Some(span_map) = self.builtin_derive_span_map.as_ref() { + // Nodes synthesized by a reconstructed built-in derive expansion are not in the + // semantics cache; resolve their original source range through the expansion span map. + let semantics = self.semantics.as_ref()?; + let file_id = self.file_id?; + let file_range = + map_node_range_up_rooted(semantics.db, span_map, node.syntax().text_range())?; + return (file_id == file_range.file_id).then_some(file_range.range); + } if let Some(semantics) = self.semantics.as_ref() { let file_range = semantics.original_range(node.syntax()); let file_id = self.file_id?; @@ -411,6 +428,11 @@ impl<'a> Translator<'a> { // way as from version 0.0.274 rust-analyser only expands in the context of an expansion return; } + if self.builtin_derive_span_map.is_some() { + // inside a reconstructed built-in derive expansion the macro call is not registered in + // the semantics cache, so it cannot (and need not) be expanded further + return; + } if let Some(expanded) = self .semantics .as_ref() @@ -582,7 +604,8 @@ impl<'a> Translator<'a> { fn is_attribute_macro_target(&self, node: &ast::Item) -> bool { // rust-analyzer considers as an `attr_macro_call` also a plain macro call, but we want to // process that differently (in `extract_macro_call_expanded`) - !matches!(node, ast::Item::MacroCall(_)) + self.builtin_derive_span_map.is_none() + && !matches!(node, ast::Item::MacroCall(_)) && self.semantics.is_some_and(|semantics| { let file = semantics.hir_file_for(node.syntax()); let node = InFile::new(file, node); @@ -703,6 +726,51 @@ impl<'a> Translator<'a> { } } + /// Reconstructs the expansion of a built-in derive macro (e.g. `Debug`, `PartialEq`). + /// + /// Since rust-analyzer 0.0.317 built-in derives are modeled as synthetic impls rather than + /// syntactic macro expansions, `Semantics::expand_derive_macro` no longer returns anything for + /// them. We re-run the still-public built-in derive expander over the ADT and emit the resulting + /// `impl` items ourselves. The synthesized nodes are not registered in the semantics + /// cache, so `builtin_derive_span_map` is set for the duration of the emission to route their + /// locations through the expansion span map. + fn emit_builtin_derive_expansion( + &mut self, + adt: &ast::Adt, + expander: BuiltinDeriveExpander, + ) -> Option> { + let semantics = self.semantics?; + let db = semantics.db; + let file_id = semantics.hir_file_for(adt.syntax()); + let span_map = db.span_map(file_id); + let call_site = span_map.span_for_range(adt.syntax().text_range()); + let input = syntax_node_to_token_tree( + adt.syntax(), + span_map.as_ref(), + call_site, + DocCommentDesugarMode::ProcMacro, + ); + let ExpandResult { value: output, err } = expander.expander()(db, call_site, &input); + let edition = self.file_id?.edition(db); + let (parsed, output_span_map) = + token_tree_to_syntax_node(&output, TopEntryPoint::MacroItems, &mut |_| edition); + let items = ast::MacroItems::cast(parsed.syntax_node())?; + if let Some(err) = err { + let rendered = err.render_to_string(db); + self.emit_diagnostic_for_node( + adt, + DiagnosticSeverity::Warning, + "item_expansion".to_owned(), + format!("built-in derive expansion failed ({})", rendered.kind), + rendered.message, + ); + } + let previous = self.builtin_derive_span_map.replace(output_span_map); + let result = self.emit_macro_items(&items); + self.builtin_derive_span_map = previous; + result + } + pub(crate) fn emit_derive_expansion( &mut self, node: &(impl Into + Clone), @@ -712,14 +780,29 @@ impl<'a> Translator<'a> { return; }; let node: ast::Adt = node.clone().into(); - let expansions = node - .attrs() - .filter_map(|attr| attr.meta()) - .filter_map(|meta| semantics.expand_derive_macro(&meta)) - .flatten() - .flatten() - .filter_map(|expanded| self.process_item_macro_expansion(&node, expanded)) - .collect::>(); + let mut expansions = Vec::new(); + for meta in node.attrs().filter_map(|attr| attr.meta()) { + let Some(expanded) = semantics.expand_derive_macro(&meta) else { + continue; + }; + // `resolve_derive_macro` yields one entry per derive, including built-in ones for which + // `expand_derive_macro` returns `None`; we use it to recover the built-in expander. + let resolved = semantics.resolve_derive_macro(&meta).unwrap_or_default(); + for (i, expanded) in expanded.into_iter().enumerate() { + let label = if let Some(expanded) = expanded { + self.process_item_macro_expansion(&node, expanded) + } else if let Some(expander) = resolved + .get(i) + .and_then(|m| m.as_ref()) + .and_then(|m| find_builtin_derive(&m.name(semantics.db))) + { + self.emit_builtin_derive_expansion(&node, expander) + } else { + None + }; + expansions.extend(label); + } + } generated::TypeItem::emit_derive_macro_expansions( label.into(), expansions, diff --git a/rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected b/rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected index 5778e6f3a83a..b6187932ec9b 100644 --- a/rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected +++ b/rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected @@ -3,6 +3,9 @@ | {EXTERNAL LOCATION} | fn trim | ::trim | | lib.rs:1:1:1:18 | mod anonymous | test::anonymous | | lib.rs:2:1:2:16 | mod regular | test::regular | +| regular.rs:1:1:2:18 | fn eq | ::eq | +| regular.rs:1:1:2:18 | impl ...::Eq for Struct::<...> { ... } | | +| regular.rs:1:1:2:18 | impl ...::PartialEq for Struct::<...> { ... } | | | regular.rs:1:1:2:18 | struct Struct | test::regular::Struct | | regular.rs:4:1:6:1 | trait Trait | test::regular::Trait | | regular.rs:5:5:5:16 | fn f | <_ as test::regular::Trait>::f | diff --git a/rust/ql/test/extractor-tests/generated/MacroItems/MacroItems.expected b/rust/ql/test/extractor-tests/generated/MacroItems/MacroItems.expected index c7b6ab807aac..a3560c0fdef1 100644 --- a/rust/ql/test/extractor-tests/generated/MacroItems/MacroItems.expected +++ b/rust/ql/test/extractor-tests/generated/MacroItems/MacroItems.expected @@ -1,5 +1,7 @@ instances | gen_macro_items.rs:5:5:5:12 | MacroItems | +| gen_macro_items.rs:12:5:13:15 | MacroItems | getItem | gen_macro_items.rs:5:5:5:12 | MacroItems | 0 | gen_macro_items.rs:5:5:5:38 | use ...::Path | | gen_macro_items.rs:5:5:5:12 | MacroItems | 1 | gen_macro_items.rs:5:5:5:38 | fn get_parent | +| gen_macro_items.rs:12:5:13:15 | MacroItems | 0 | gen_macro_items.rs:12:5:13:15 | impl ...::Debug for Bar::<...> { ... } | diff --git a/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected b/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected index a12af2dc3ed9..672ce3d5bbe6 100644 --- a/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected +++ b/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected @@ -720,6 +720,94 @@ macro_expansion.rs: # 79| getSegment(): [PathSegment] i32 # 79| getIdentifier(): [NameRef] i32 # 83| getItem(17): [Struct] struct MyDerive +# 83| getDeriveMacroExpansion(0): [MacroItems] MacroItems +# 83| getItem(0): [Impl] impl ...::Debug for MyDerive::<...> { ... } +# 83| getAssocItemList(): [AssocItemList] AssocItemList +# 83| getAssocItem(0): [Function] fn fmt +# 83| getParamList(): [ParamList] ParamList +# 83| getParam(0): [Param] ...: ... +# 83| getTypeRepr(): [RefTypeRepr] RefTypeRepr +# 83| getTypeRepr(): [PathTypeRepr] ...::Formatter +# 83| getPath(): [Path] ...::Formatter +# 83| getQualifier(): [Path] ...::fmt +# 83| getQualifier(): [Path] $crate +# 83| getSegment(): [PathSegment] $crate +# 83| getIdentifier(): [NameRef] $crate +# 83| getSegment(): [PathSegment] fmt +# 83| getIdentifier(): [NameRef] fmt +# 83| getSegment(): [PathSegment] Formatter +# 83| getIdentifier(): [NameRef] Formatter +# 83| getPat(): [IdentPat] f +# 83| getName(): [Name] f +# 83| getSelfParam(): [SelfParam] SelfParam +# 83| getName(): [Name] self +# 83| getFunctionBody(): [BlockExpr] { ... } +# 83| getStmtList(): [StmtList] StmtList +# 83| getTailExpr(): [MatchExpr] match self { ... } +# 83| getScrutinee(): [VariableAccess] self +# 83| getPath(): [Path] self +# 83| getSegment(): [PathSegment] self +# 83| getIdentifier(): [NameRef] self +# 83| getMatchArmList(): [MatchArmList] MatchArmList +# 83| getArm(0): [MatchArm] ... => ... +# 83| getExpr(): [MethodCallExpr] ... .finish() +# 83| getArgList(): [ArgList] ArgList +# 83| getIdentifier(): [NameRef] finish +# 83| getReceiver(): [MethodCallExpr] ... .field(...) +# 83| getArgList(): [ArgList] ArgList +# 83| getArg(0): [StringLiteralExpr] "field" +# 83| getArg(1): [RefExpr] &field +# 85| getExpr(): [VariableAccess] field +# 85| getPath(): [Path] field +# 85| getSegment(): [PathSegment] field +# 85| getIdentifier(): [NameRef] field +# 83| getIdentifier(): [NameRef] field +# 83| getReceiver(): [MethodCallExpr] f.debug_struct(...) +# 83| getArgList(): [ArgList] ArgList +# 83| getArg(0): [StringLiteralExpr] "MyDerive" +# 83| getIdentifier(): [NameRef] debug_struct +# 83| getReceiver(): [VariableAccess] f +# 83| getPath(): [Path] f +# 83| getSegment(): [PathSegment] f +# 83| getIdentifier(): [NameRef] f +# 83| getPat(): [StructPat] MyDerive {...} +# 84| getPath(): [Path] MyDerive +# 84| getSegment(): [PathSegment] MyDerive +# 84| getIdentifier(): [NameRef] MyDerive +# 83| getStructPatFieldList(): [StructPatFieldList] StructPatFieldList +# 83| getField(0): [StructPatField] field: ... +# 85| getIdentifier(): [NameRef] field +# 85| getPat(): [IdentPat] field +# 85| getName(): [Name] field +# 83| getName(): [Name] fmt +# 83| getRetType(): [RetTypeRepr] RetTypeRepr +# 83| getTypeRepr(): [PathTypeRepr] ...::Result +# 83| getPath(): [Path] ...::Result +# 83| getQualifier(): [Path] ...::fmt +# 83| getQualifier(): [Path] $crate +# 83| getSegment(): [PathSegment] $crate +# 83| getIdentifier(): [NameRef] $crate +# 83| getSegment(): [PathSegment] fmt +# 83| getIdentifier(): [NameRef] fmt +# 83| getSegment(): [PathSegment] Result +# 83| getIdentifier(): [NameRef] Result +# 83| getGenericParamList(): [GenericParamList] <...> +# 83| getSelfTy(): [PathTypeRepr] MyDerive::<...> +# 83| getPath(): [Path] MyDerive::<...> +# 83| getSegment(): [PathSegment] MyDerive::<...> +# 83| getGenericArgList(): [GenericArgList] <...> +# 84| getIdentifier(): [NameRef] MyDerive +# 83| getTrait(): [PathTypeRepr] ...::Debug +# 83| getPath(): [Path] ...::Debug +# 83| getQualifier(): [Path] ...::fmt +# 83| getQualifier(): [Path] $crate +# 83| getSegment(): [PathSegment] $crate +# 83| getIdentifier(): [NameRef] $crate +# 83| getSegment(): [PathSegment] fmt +# 83| getIdentifier(): [NameRef] fmt +# 83| getSegment(): [PathSegment] Debug +# 83| getIdentifier(): [NameRef] Debug +# 83| getWhereClause(): [WhereClause] WhereClause # 83| getAttr(0): [Attr] Attr # 83| getMeta(): [TokenTreeMeta] TokenTreeMeta # 83| getPath(): [Path] derive @@ -735,6 +823,115 @@ macro_expansion.rs: # 85| getSegment(): [PathSegment] usize # 85| getIdentifier(): [NameRef] usize # 88| getItem(18): [Enum] enum MyDeriveEnum +# 88| getDeriveMacroExpansion(0): [MacroItems] MacroItems +# 88| getItem(0): [Impl] impl ...::PartialEq for MyDeriveEnum::<...> { ... } +# 88| getAssocItemList(): [AssocItemList] AssocItemList +# 88| getAssocItem(0): [Function] fn eq +# 88| getParamList(): [ParamList] ParamList +# 88| getParam(0): [Param] ...: ... +# 88| getTypeRepr(): [RefTypeRepr] RefTypeRepr +# 88| getTypeRepr(): [PathTypeRepr] Self +# 88| getPath(): [Path] Self +# 88| getSegment(): [PathSegment] Self +# 88| getIdentifier(): [NameRef] Self +# 88| getPat(): [IdentPat] other +# 88| getName(): [Name] other +# 88| getSelfParam(): [SelfParam] SelfParam +# 88| getName(): [Name] self +# 88| getFunctionBody(): [BlockExpr] { ... } +# 88| getStmtList(): [StmtList] StmtList +# 88| getTailExpr(): [MatchExpr] match ... { ... } +# 88| getScrutinee(): [TupleExpr] TupleExpr +# 88| getField(0): [VariableAccess] self +# 88| getPath(): [Path] self +# 88| getSegment(): [PathSegment] self +# 88| getIdentifier(): [NameRef] self +# 88| getField(1): [VariableAccess] other +# 88| getPath(): [Path] other +# 88| getSegment(): [PathSegment] other +# 88| getIdentifier(): [NameRef] other +# 88| getMatchArmList(): [MatchArmList] MatchArmList +# 88| getArm(0): [MatchArm] ... => true +# 88| getExpr(): [BooleanLiteralExpr] true +# 88| getPat(): [TuplePat] TuplePat +# 88| getField(0): [PathPat] ...::Variant1 +# 88| getPath(): [Path] ...::Variant1 +# 89| getQualifier(): [Path] MyDeriveEnum +# 89| getSegment(): [PathSegment] MyDeriveEnum +# 89| getIdentifier(): [NameRef] MyDeriveEnum +# 90| getSegment(): [PathSegment] Variant1 +# 90| getIdentifier(): [NameRef] Variant1 +# 88| getField(1): [PathPat] ...::Variant1 +# 88| getPath(): [Path] ...::Variant1 +# 89| getQualifier(): [Path] MyDeriveEnum +# 89| getSegment(): [PathSegment] MyDeriveEnum +# 89| getIdentifier(): [NameRef] MyDeriveEnum +# 90| getSegment(): [PathSegment] Variant1 +# 90| getIdentifier(): [NameRef] Variant1 +# 88| getArm(1): [MatchArm] ... => true +# 88| getExpr(): [BooleanLiteralExpr] true +# 88| getPat(): [TuplePat] TuplePat +# 88| getField(0): [PathPat] ...::Variant2 +# 88| getPath(): [Path] ...::Variant2 +# 89| getQualifier(): [Path] MyDeriveEnum +# 89| getSegment(): [PathSegment] MyDeriveEnum +# 89| getIdentifier(): [NameRef] MyDeriveEnum +# 91| getSegment(): [PathSegment] Variant2 +# 91| getIdentifier(): [NameRef] Variant2 +# 88| getField(1): [PathPat] ...::Variant2 +# 88| getPath(): [Path] ...::Variant2 +# 89| getQualifier(): [Path] MyDeriveEnum +# 89| getSegment(): [PathSegment] MyDeriveEnum +# 89| getIdentifier(): [NameRef] MyDeriveEnum +# 91| getSegment(): [PathSegment] Variant2 +# 91| getIdentifier(): [NameRef] Variant2 +# 88| getArm(2): [MatchArm] ... => false +# 88| getExpr(): [BooleanLiteralExpr] false +# 88| getPat(): [IdentPat] _unused +# 88| getName(): [Name] _unused +# 88| getName(): [Name] eq +# 88| getRetType(): [RetTypeRepr] RetTypeRepr +# 88| getTypeRepr(): [PathTypeRepr] bool +# 88| getPath(): [Path] bool +# 88| getSegment(): [PathSegment] bool +# 88| getIdentifier(): [NameRef] bool +# 88| getGenericParamList(): [GenericParamList] <...> +# 88| getSelfTy(): [PathTypeRepr] MyDeriveEnum::<...> +# 88| getPath(): [Path] MyDeriveEnum::<...> +# 88| getSegment(): [PathSegment] MyDeriveEnum::<...> +# 88| getGenericArgList(): [GenericArgList] <...> +# 89| getIdentifier(): [NameRef] MyDeriveEnum +# 88| getTrait(): [PathTypeRepr] ...::PartialEq +# 88| getPath(): [Path] ...::PartialEq +# 88| getQualifier(): [Path] ...::cmp +# 88| getQualifier(): [Path] $crate +# 88| getSegment(): [PathSegment] $crate +# 88| getIdentifier(): [NameRef] $crate +# 88| getSegment(): [PathSegment] cmp +# 88| getIdentifier(): [NameRef] cmp +# 88| getSegment(): [PathSegment] PartialEq +# 88| getIdentifier(): [NameRef] PartialEq +# 88| getWhereClause(): [WhereClause] WhereClause +# 88| getDeriveMacroExpansion(1): [MacroItems] MacroItems +# 88| getItem(0): [Impl] impl ...::Eq for MyDeriveEnum::<...> { ... } +# 88| getAssocItemList(): [AssocItemList] AssocItemList +# 88| getGenericParamList(): [GenericParamList] <...> +# 88| getSelfTy(): [PathTypeRepr] MyDeriveEnum::<...> +# 88| getPath(): [Path] MyDeriveEnum::<...> +# 88| getSegment(): [PathSegment] MyDeriveEnum::<...> +# 88| getGenericArgList(): [GenericArgList] <...> +# 89| getIdentifier(): [NameRef] MyDeriveEnum +# 88| getTrait(): [PathTypeRepr] ...::Eq +# 88| getPath(): [Path] ...::Eq +# 88| getQualifier(): [Path] ...::cmp +# 88| getQualifier(): [Path] $crate +# 88| getSegment(): [PathSegment] $crate +# 88| getIdentifier(): [NameRef] $crate +# 88| getSegment(): [PathSegment] cmp +# 88| getIdentifier(): [NameRef] cmp +# 88| getSegment(): [PathSegment] Eq +# 88| getIdentifier(): [NameRef] Eq +# 88| getWhereClause(): [WhereClause] WhereClause # 88| getAttr(0): [Attr] Attr # 88| getMeta(): [TokenTreeMeta] TokenTreeMeta # 88| getPath(): [Path] derive diff --git a/rust/ql/test/extractor-tests/macro-expansion/test.expected b/rust/ql/test/extractor-tests/macro-expansion/test.expected index 985be0f6b7dd..108fa52ced94 100644 --- a/rust/ql/test/extractor-tests/macro-expansion/test.expected +++ b/rust/ql/test/extractor-tests/macro-expansion/test.expected @@ -15,6 +15,9 @@ attribute_macros | macro_expansion.rs:31:5:34:5 | (item with attribute macro expansion) | 1 | macro_expansion.rs:32:5:34:5 | fn bzz_1 | | macro_expansion.rs:31:5:34:5 | (item with attribute macro expansion) | 2 | macro_expansion.rs:32:5:34:5 | fn bzz_2 | derive_macros +| macro_expansion.rs:83:1:86:1 | struct MyDerive | 0 | 0 | macro_expansion.rs:83:1:86:1 | impl ...::Debug for MyDerive::<...> { ... } | +| macro_expansion.rs:88:1:92:1 | enum MyDeriveEnum | 0 | 0 | macro_expansion.rs:88:1:92:1 | impl ...::PartialEq for MyDeriveEnum::<...> { ... } | +| macro_expansion.rs:88:1:92:1 | enum MyDeriveEnum | 1 | 0 | macro_expansion.rs:88:1:92:1 | impl ...::Eq for MyDeriveEnum::<...> { ... } | | macro_expansion.rs:98:1:102:1 | union MyDeriveUnion | 0 | 0 | macro_expansion.rs:99:7:99:19 | const CONST_MyDeriveUnion | | macro_expansion.rs:98:1:102:1 | union MyDeriveUnion | 0 | 1 | macro_expansion.rs:99:7:99:19 | impl MyTrait for MyDeriveUnion { ... } | macro_calls diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index 137b6cab0153..3344fc45f74f 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -3669,6 +3669,7 @@ inferCertainType | main.rs:2405:18:2405:42 | ...::method(...) | | main.rs:2369:5:2369:20 | S1 | | main.rs:2405:18:2405:42 | ...::method(...) | T | main.rs:2371:5:2372:14 | S2 | | main.rs:2405:29:2405:41 | ...::default(...) | | main.rs:2369:5:2369:20 | S1 | +| main.rs:2409:21:2409:33 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | | main.rs:2410:13:2410:15 | x10 | | main.rs:2392:5:2394:5 | S5 | | main.rs:2410:13:2410:15 | x10 | T5 | main.rs:2371:5:2372:14 | S2 | | main.rs:2410:19:2413:9 | S5::<...> {...} | | main.rs:2392:5:2394:5 | S5 | @@ -3679,6 +3680,7 @@ inferCertainType | main.rs:2415:19:2415:33 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | | main.rs:2416:13:2416:15 | x13 | | main.rs:2392:5:2394:5 | S5 | | main.rs:2416:19:2419:9 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | +| main.rs:2418:20:2418:32 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | | main.rs:2420:13:2420:15 | x14 | | {EXTERNAL LOCATION} | i32 | | main.rs:2420:19:2420:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:2421:13:2421:15 | x15 | | main.rs:2369:5:2369:20 | S1 | @@ -12267,7 +12269,10 @@ inferType | main.rs:2408:18:2408:22 | S4(...) | T4 | {EXTERNAL LOCATION} | i32 | | main.rs:2408:21:2408:21 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2409:13:2409:14 | x9 | | main.rs:2390:5:2390:27 | S4 | +| main.rs:2409:13:2409:14 | x9 | T4 | main.rs:2371:5:2372:14 | S2 | | main.rs:2409:18:2409:34 | S4(...) | | main.rs:2390:5:2390:27 | S4 | +| main.rs:2409:18:2409:34 | S4(...) | T4 | main.rs:2371:5:2372:14 | S2 | +| main.rs:2409:21:2409:33 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | | main.rs:2410:13:2410:15 | x10 | | main.rs:2392:5:2394:5 | S5 | | main.rs:2410:13:2410:15 | x10 | T5 | main.rs:2371:5:2372:14 | S2 | | main.rs:2410:19:2413:9 | S5::<...> {...} | | main.rs:2392:5:2394:5 | S5 | @@ -12284,7 +12289,10 @@ inferType | main.rs:2415:19:2415:33 | S5 {...} | T5 | {EXTERNAL LOCATION} | i32 | | main.rs:2415:31:2415:31 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2416:13:2416:15 | x13 | | main.rs:2392:5:2394:5 | S5 | +| main.rs:2416:13:2416:15 | x13 | T5 | main.rs:2371:5:2372:14 | S2 | | main.rs:2416:19:2419:9 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | +| main.rs:2416:19:2419:9 | S5 {...} | T5 | main.rs:2371:5:2372:14 | S2 | +| main.rs:2418:20:2418:32 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | | main.rs:2420:13:2420:15 | x14 | | {EXTERNAL LOCATION} | i32 | | main.rs:2420:19:2420:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:2420:30:2420:47 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | @@ -15847,18 +15855,3 @@ inferType | regressions.rs:179:24:179:27 | S(...) | T | {EXTERNAL LOCATION} | i32 | | regressions.rs:179:26:179:26 | 1 | | {EXTERNAL LOCATION} | i32 | testFailures -| main.rs:1308:44:1308:62 | //... | Missing result: target=default | -| main.rs:2406:48:2406:84 | //... | Missing result: target=default | -| main.rs:2409:37:2409:73 | //... | Missing result: target=default | -| main.rs:2409:37:2409:73 | //... | Missing result: type=x9@S4:S2 | -| main.rs:2412:40:2412:58 | //... | Missing result: target=default | -| main.rs:2416:22:2416:44 | //... | Missing result: type=x13@S5:S2 | -| main.rs:2418:35:2418:53 | //... | Missing result: target=default | -| main.rs:2574:41:2574:59 | //... | Missing result: target=default | -| main.rs:2698:37:2698:64 | //... | Missing result: target=default | -| overloading.rs:58:67:58:125 | //... | Missing result: target=default | -| overloading.rs:60:68:60:132 | //... | Missing result: target=default | -| overloading.rs:64:68:64:126 | //... | Missing result: target=default | -| overloading.rs:66:69:66:133 | //... | Missing result: target=default | -| overloading.rs:368:37:368:64 | //... | Missing result: target=default | -| overloading.rs:398:57:398:84 | //... | Missing result: target=default | diff --git a/rust/ql/test/query-tests/security/CWE-614/InsecureCookie.expected b/rust/ql/test/query-tests/security/CWE-614/InsecureCookie.expected index 15f6280fa524..7decd880f595 100644 --- a/rust/ql/test/query-tests/security/CWE-614/InsecureCookie.expected +++ b/rust/ql/test/query-tests/security/CWE-614/InsecureCookie.expected @@ -23,111 +23,325 @@ | main.rs:49:41:49:45 | build | main.rs:49:5:49:25 | ...::build(...) | main.rs:49:41:49:45 | build | Cookie attribute 'Secure' is not set to true. | | main.rs:50:56:50:60 | build | main.rs:50:5:50:40 | ...::build(...) | main.rs:50:56:50:60 | build | Cookie attribute 'Secure' is not set to true. | | main.rs:53:65:53:69 | build | main.rs:53:5:53:49 | ... .secure(...) | main.rs:53:65:53:69 | build | Cookie attribute 'Secure' is not set to true. | +| main.rs:59:9:59:11 | add | main.rs:58:17:58:27 | ...::new | main.rs:59:9:59:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:60:9:60:20 | add_original | main.rs:58:17:58:27 | ...::new | main.rs:60:9:60:20 | add_original | Cookie attribute 'Secure' is not set to true. | +| main.rs:64:9:64:11 | add | main.rs:63:5:63:5 | [SSA] a | main.rs:64:9:64:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:64:9:64:11 | add | main.rs:63:5:63:5 | a | main.rs:64:9:64:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:69:16:69:18 | add | main.rs:68:17:68:29 | ...::named | main.rs:69:16:69:18 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:70:16:70:27 | add_original | main.rs:63:5:63:5 | [SSA] a | main.rs:70:16:70:27 | add_original | Cookie attribute 'Secure' is not set to true. | +| main.rs:70:16:70:27 | add_original | main.rs:63:5:63:5 | a | main.rs:70:16:70:27 | add_original | Cookie attribute 'Secure' is not set to true. | +| main.rs:72:16:72:18 | add | main.rs:71:5:71:5 | [SSA] b | main.rs:72:16:72:18 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:72:16:72:18 | add | main.rs:71:5:71:5 | b | main.rs:72:16:72:18 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:78:17:78:19 | add | main.rs:77:17:77:28 | ...::from | main.rs:78:17:78:19 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:79:17:79:28 | add_original | main.rs:63:5:63:5 | [SSA] a | main.rs:79:17:79:28 | add_original | Cookie attribute 'Secure' is not set to true. | +| main.rs:79:17:79:28 | add_original | main.rs:63:5:63:5 | a | main.rs:79:17:79:28 | add_original | Cookie attribute 'Secure' is not set to true. | +| main.rs:83:17:83:19 | add | main.rs:77:17:77:28 | ...::from | main.rs:83:17:83:19 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:88:9:88:11 | add | main.rs:87:17:87:28 | ...::from | main.rs:88:9:88:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:94:9:94:11 | add | main.rs:87:17:87:28 | ...::from | main.rs:94:9:94:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:123:13:123:18 | insert | main.rs:122:13:122:41 | ...::new | main.rs:123:13:123:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:131:13:131:18 | insert | main.rs:130:13:130:13 | b | main.rs:131:13:131:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:147:13:147:18 | insert | main.rs:146:13:146:13 | f | main.rs:147:13:147:18 | insert | Cookie attribute 'Secure' is not set to true. | | main.rs:152:13:152:18 | insert | main.rs:151:13:151:42 | ...::from | main.rs:152:13:152:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:156:13:156:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:156:13:156:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:157:13:157:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:157:13:157:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:158:13:158:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:158:13:158:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:159:13:159:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:159:13:159:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:160:13:160:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:160:13:160:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:161:13:161:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:161:13:161:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:162:13:162:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:162:13:162:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:163:13:163:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:163:13:163:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:164:13:164:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:164:13:164:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:165:13:165:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:165:13:165:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:166:13:166:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:166:13:166:18 | insert | Cookie attribute 'Secure' is not set to true. | +| main.rs:167:13:167:18 | insert | main.rs:155:13:155:41 | ...::new | main.rs:167:13:167:18 | insert | Cookie attribute 'Secure' is not set to true. | | main.rs:173:61:173:65 | build | main.rs:173:22:173:34 | ...::build | main.rs:173:61:173:65 | build | Cookie attribute 'Secure' is not set to true. | | main.rs:197:55:197:60 | finish | main.rs:197:5:197:39 | ...::build(...) | main.rs:197:55:197:60 | finish | Cookie attribute 'Secure' is not set to true. | | main.rs:198:65:198:70 | finish | main.rs:198:5:198:39 | ...::build(...) | main.rs:198:65:198:70 | finish | Cookie attribute 'Secure' is not set to true. | +| main.rs:202:9:202:11 | add | main.rs:201:5:201:11 | [SSA] cookie1 | main.rs:202:9:202:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:202:9:202:11 | add | main.rs:201:5:201:11 | cookie1 | main.rs:202:9:202:11 | add | Cookie attribute 'Secure' is not set to true. | | main.rs:212:41:212:46 | finish | main.rs:212:5:212:22 | ...::build | main.rs:212:41:212:46 | finish | Cookie attribute 'Secure' is not set to true. | +| main.rs:215:9:215:11 | add | main.rs:214:19:214:34 | ...::new | main.rs:215:9:215:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:219:9:219:11 | add | main.rs:218:5:218:11 | [SSA] cookie2 | main.rs:219:9:219:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:219:9:219:11 | add | main.rs:218:5:218:11 | cookie2 | main.rs:219:9:219:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:229:9:229:11 | add | main.rs:228:5:228:11 | [SSA] cookie1 | main.rs:229:9:229:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:229:9:229:11 | add | main.rs:228:5:228:11 | cookie1 | main.rs:229:9:229:11 | add | Cookie attribute 'Secure' is not set to true. | | main.rs:242:9:242:41 | ...::new | main.rs:241:29:241:62 | ...::new(...) | main.rs:242:9:242:41 | ...::new | Cookie attribute 'Secure' is not set to true. | | main.rs:245:9:245:41 | ...::new | main.rs:244:30:244:63 | ...::new(...) | main.rs:245:9:245:41 | ...::new | Cookie attribute 'Secure' is not set to true. | | main.rs:259:59:259:64 | finish | main.rs:259:5:259:43 | ...::build(...) | main.rs:259:59:259:64 | finish | Cookie attribute 'Secure' is not set to true. | | main.rs:260:69:260:74 | finish | main.rs:260:5:260:43 | ...::build(...) | main.rs:260:69:260:74 | finish | Cookie attribute 'Secure' is not set to true. | +| main.rs:264:9:264:11 | add | main.rs:263:5:263:11 | [SSA] cookie1 | main.rs:264:9:264:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:264:9:264:11 | add | main.rs:263:5:263:11 | cookie1 | main.rs:264:9:264:11 | add | Cookie attribute 'Secure' is not set to true. | | main.rs:274:45:274:50 | finish | main.rs:274:5:274:26 | ...::build | main.rs:274:45:274:50 | finish | Cookie attribute 'Secure' is not set to true. | +| main.rs:277:9:277:11 | add | main.rs:276:19:276:38 | ...::new | main.rs:277:9:277:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:281:9:281:11 | add | main.rs:280:5:280:11 | [SSA] cookie2 | main.rs:281:9:281:11 | add | Cookie attribute 'Secure' is not set to true. | +| main.rs:281:9:281:11 | add | main.rs:280:5:280:11 | cookie2 | main.rs:281:9:281:11 | add | Cookie attribute 'Secure' is not set to true. | edges -| main.rs:8:19:8:50 | ...::build(...) | main.rs:8:19:8:64 | ... .secure(...) | provenance | MaD:9 | +| main.rs:8:19:8:50 | ...::build(...) | main.rs:8:19:8:64 | ... .secure(...) | provenance | MaD:35 | | main.rs:8:19:8:64 | ... .secure(...) | main.rs:8:66:8:70 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:16:19:16:31 | ...::build | main.rs:16:19:16:50 | ...::build(...) | provenance | Src:MaD:6 MaD:6 | +| main.rs:16:19:16:31 | ...::build | main.rs:16:19:16:50 | ...::build(...) | provenance | Src:MaD:15 MaD:15 | | main.rs:16:19:16:50 | ...::build(...) | main.rs:16:52:16:56 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:20:5:20:36 | ...::build(...) | main.rs:20:5:20:54 | ... .secure(...) | provenance | MaD:9 | +| main.rs:20:5:20:36 | ...::build(...) | main.rs:20:5:20:54 | ... .secure(...) | provenance | MaD:35 | | main.rs:20:5:20:54 | ... .secure(...) | main.rs:20:56:20:60 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:21:5:21:36 | ...::build(...) | main.rs:21:5:21:55 | ... .secure(...) | provenance | MaD:9 | +| main.rs:21:5:21:36 | ...::build(...) | main.rs:21:5:21:55 | ... .secure(...) | provenance | MaD:35 | | main.rs:21:5:21:55 | ... .secure(...) | main.rs:21:57:21:61 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:25:5:25:36 | ...::build(...) | main.rs:25:5:25:52 | ... .secure(...) | provenance | MaD:9 | +| main.rs:25:5:25:36 | ...::build(...) | main.rs:25:5:25:52 | ... .secure(...) | provenance | MaD:35 | | main.rs:25:5:25:52 | ... .secure(...) | main.rs:25:54:25:58 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:26:5:26:36 | ...::build(...) | main.rs:26:5:26:50 | ... .secure(...) | provenance | MaD:9 | +| main.rs:26:5:26:36 | ...::build(...) | main.rs:26:5:26:50 | ... .secure(...) | provenance | MaD:35 | | main.rs:26:5:26:50 | ... .secure(...) | main.rs:26:52:26:56 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:27:5:27:36 | ...::build(...) | main.rs:27:5:27:51 | ... .secure(...) | provenance | MaD:9 | +| main.rs:27:5:27:36 | ...::build(...) | main.rs:27:5:27:51 | ... .secure(...) | provenance | MaD:35 | | main.rs:27:5:27:51 | ... .secure(...) | main.rs:27:53:27:57 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:28:5:28:36 | ...::build(...) | main.rs:28:5:28:60 | ... .secure(...) | provenance | MaD:9 | +| main.rs:28:5:28:36 | ...::build(...) | main.rs:28:5:28:60 | ... .secure(...) | provenance | MaD:35 | | main.rs:28:5:28:60 | ... .secure(...) | main.rs:28:62:28:66 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:29:5:29:36 | ...::build(...) | main.rs:29:5:29:60 | ... .secure(...) | provenance | MaD:9 | +| main.rs:29:5:29:36 | ...::build(...) | main.rs:29:5:29:60 | ... .secure(...) | provenance | MaD:35 | | main.rs:29:5:29:60 | ... .secure(...) | main.rs:29:62:29:66 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:33:9:33:40 | ...::build(...) | main.rs:33:9:33:58 | ... .secure(...) | provenance | MaD:9 | +| main.rs:33:9:33:40 | ...::build(...) | main.rs:33:9:33:58 | ... .secure(...) | provenance | MaD:35 | | main.rs:33:9:33:58 | ... .secure(...) | main.rs:33:60:33:64 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:35:9:35:40 | ...::build(...) | main.rs:35:9:35:58 | ... .secure(...) | provenance | MaD:9 | +| main.rs:35:9:35:40 | ...::build(...) | main.rs:35:9:35:58 | ... .secure(...) | provenance | MaD:35 | | main.rs:35:9:35:58 | ... .secure(...) | main.rs:35:60:35:64 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:39:5:39:39 | ...::new(...) | main.rs:39:5:39:53 | ... .secure(...) | provenance | MaD:9 | +| main.rs:39:5:39:39 | ...::new(...) | main.rs:39:5:39:53 | ... .secure(...) | provenance | MaD:35 | | main.rs:39:5:39:53 | ... .secure(...) | main.rs:39:55:39:59 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:40:5:40:50 | ... .expires(...) | main.rs:40:5:40:64 | ... .secure(...) | provenance | MaD:9 | +| main.rs:40:5:40:50 | ... .expires(...) | main.rs:40:5:40:64 | ... .secure(...) | provenance | MaD:35 | | main.rs:40:5:40:64 | ... .secure(...) | main.rs:40:66:40:70 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:41:5:41:79 | ... .max_age(...) | main.rs:41:5:41:93 | ... .secure(...) | provenance | MaD:9 | +| main.rs:41:5:41:79 | ... .max_age(...) | main.rs:41:5:41:93 | ... .secure(...) | provenance | MaD:35 | | main.rs:41:5:41:93 | ... .secure(...) | main.rs:41:95:41:99 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:42:5:42:58 | ... .domain(...) | main.rs:42:5:42:72 | ... .secure(...) | provenance | MaD:9 | +| main.rs:42:5:42:58 | ... .domain(...) | main.rs:42:5:42:72 | ... .secure(...) | provenance | MaD:35 | | main.rs:42:5:42:72 | ... .secure(...) | main.rs:42:74:42:78 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:43:5:43:46 | ... .path(...) | main.rs:43:5:43:60 | ... .secure(...) | provenance | MaD:9 | +| main.rs:43:5:43:46 | ... .path(...) | main.rs:43:5:43:60 | ... .secure(...) | provenance | MaD:35 | | main.rs:43:5:43:60 | ... .secure(...) | main.rs:43:62:43:66 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:44:5:44:52 | ... .http_only(...) | main.rs:44:5:44:66 | ... .secure(...) | provenance | MaD:9 | +| main.rs:44:5:44:52 | ... .http_only(...) | main.rs:44:5:44:66 | ... .secure(...) | provenance | MaD:35 | | main.rs:44:5:44:66 | ... .secure(...) | main.rs:44:68:44:72 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:45:5:45:72 | ... .same_site(...) | main.rs:45:5:45:86 | ... .secure(...) | provenance | MaD:9 | +| main.rs:45:5:45:72 | ... .same_site(...) | main.rs:45:5:45:86 | ... .secure(...) | provenance | MaD:35 | | main.rs:45:5:45:86 | ... .secure(...) | main.rs:45:88:45:92 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:46:5:46:48 | ... .permanent() | main.rs:46:5:46:62 | ... .secure(...) | provenance | MaD:9 | +| main.rs:46:5:46:48 | ... .permanent() | main.rs:46:5:46:62 | ... .secure(...) | provenance | MaD:35 | | main.rs:46:5:46:62 | ... .secure(...) | main.rs:46:64:46:68 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:47:5:47:46 | ... .removal() | main.rs:47:5:47:60 | ... .secure(...) | provenance | MaD:9 | +| main.rs:47:5:47:46 | ... .removal() | main.rs:47:5:47:60 | ... .secure(...) | provenance | MaD:35 | | main.rs:47:5:47:60 | ... .secure(...) | main.rs:47:62:47:66 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:48:5:48:36 | ...::build(...) | main.rs:48:5:48:50 | ... .secure(...) | provenance | MaD:9 | +| main.rs:48:5:48:36 | ...::build(...) | main.rs:48:5:48:50 | ... .secure(...) | provenance | MaD:35 | | main.rs:48:5:48:50 | ... .secure(...) | main.rs:48:52:48:57 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:49:5:49:25 | ...::build(...) | main.rs:49:5:49:39 | ... .secure(...) | provenance | MaD:9 | +| main.rs:49:5:49:25 | ...::build(...) | main.rs:49:5:49:39 | ... .secure(...) | provenance | MaD:35 | | main.rs:49:5:49:39 | ... .secure(...) | main.rs:49:41:49:45 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:50:5:50:40 | ...::build(...) | main.rs:50:5:50:54 | ... .secure(...) | provenance | MaD:9 | +| main.rs:50:5:50:40 | ...::build(...) | main.rs:50:5:50:54 | ... .secure(...) | provenance | MaD:35 | | main.rs:50:5:50:54 | ... .secure(...) | main.rs:50:56:50:60 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:53:5:53:49 | ... .secure(...) | main.rs:53:5:53:63 | ... .secure(...) | provenance | MaD:9 | +| main.rs:53:5:53:49 | ... .secure(...) | main.rs:53:5:53:63 | ... .secure(...) | provenance | MaD:35 | | main.rs:53:5:53:63 | ... .secure(...) | main.rs:53:65:53:69 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:114:5:114:17 | ...::build | main.rs:114:5:114:36 | ...::build(...) | provenance | Src:MaD:6 MaD:6 | -| main.rs:114:5:114:36 | ...::build(...) | main.rs:114:5:114:54 | ... .partitioned(...) | provenance | MaD:7 | +| main.rs:58:9:58:13 | mut a | main.rs:59:13:59:13 | a | provenance | | +| main.rs:58:9:58:13 | mut a | main.rs:60:22:60:22 | a | provenance | | +| main.rs:58:17:58:27 | ...::new | main.rs:58:17:58:44 | ...::new(...) | provenance | Src:MaD:17 MaD:17 | +| main.rs:58:17:58:44 | ...::new(...) | main.rs:58:9:58:13 | mut a | provenance | | +| main.rs:59:13:59:13 | a | main.rs:59:13:59:21 | a.clone() | provenance | MaD:18 | +| main.rs:59:13:59:21 | a.clone() | main.rs:59:9:59:11 | add | provenance | MaD:4 Sink:MaD:4 | +| main.rs:60:22:60:22 | a | main.rs:60:22:60:30 | a.clone() | provenance | MaD:18 | +| main.rs:60:22:60:30 | a.clone() | main.rs:60:9:60:20 | add_original | provenance | MaD:5 Sink:MaD:5 | +| main.rs:63:5:63:5 | [SSA] a | main.rs:64:13:64:13 | a | provenance | | +| main.rs:63:5:63:5 | [SSA] a | main.rs:70:29:70:29 | a | provenance | | +| main.rs:63:5:63:5 | [SSA] a | main.rs:79:30:79:30 | a | provenance | | +| main.rs:63:5:63:5 | a | main.rs:64:13:64:13 | a | provenance | | +| main.rs:63:5:63:5 | a | main.rs:70:29:70:29 | a | provenance | | +| main.rs:63:5:63:5 | a | main.rs:79:30:79:30 | a | provenance | | +| main.rs:64:13:64:13 | a | main.rs:64:13:64:21 | a.clone() | provenance | MaD:18 | +| main.rs:64:13:64:21 | a.clone() | main.rs:64:9:64:11 | add | provenance | MaD:4 Sink:MaD:4 | +| main.rs:68:9:68:13 | mut b | main.rs:69:20:69:20 | b | provenance | | +| main.rs:68:17:68:29 | ...::named | main.rs:68:17:68:37 | ...::named(...) | provenance | Src:MaD:16 MaD:16 | +| main.rs:68:17:68:37 | ...::named(...) | main.rs:68:9:68:13 | mut b | provenance | | +| main.rs:69:20:69:20 | b | main.rs:69:20:69:28 | b.clone() | provenance | MaD:18 | +| main.rs:69:20:69:28 | b.clone() | main.rs:69:16:69:18 | add | provenance | MaD:8 Sink:MaD:8 | +| main.rs:70:29:70:29 | a | main.rs:70:29:70:37 | a.clone() | provenance | MaD:18 | +| main.rs:70:29:70:37 | a.clone() | main.rs:70:16:70:27 | add_original | provenance | MaD:9 Sink:MaD:9 | +| main.rs:71:5:71:5 | [SSA] b | main.rs:72:20:72:20 | b | provenance | | +| main.rs:71:5:71:5 | b | main.rs:72:20:72:20 | b | provenance | | +| main.rs:72:20:72:20 | b | main.rs:72:20:72:28 | b.clone() | provenance | MaD:18 | +| main.rs:72:20:72:28 | b.clone() | main.rs:72:16:72:18 | add | provenance | MaD:8 Sink:MaD:8 | +| main.rs:77:9:77:13 | mut c | main.rs:78:21:78:21 | c | provenance | | +| main.rs:77:9:77:13 | mut c | main.rs:83:21:83:21 | c | provenance | | +| main.rs:77:17:77:28 | ...::from | main.rs:77:17:77:36 | ...::from(...) | provenance | Src:MaD:14 MaD:14 | +| main.rs:77:17:77:36 | ...::from(...) | main.rs:77:9:77:13 | mut c | provenance | | +| main.rs:78:21:78:21 | c | main.rs:78:21:78:29 | c.clone() | provenance | MaD:18 | +| main.rs:78:21:78:29 | c.clone() | main.rs:78:17:78:19 | add | provenance | MaD:6 Sink:MaD:6 | +| main.rs:79:30:79:30 | a | main.rs:79:30:79:38 | a.clone() | provenance | MaD:18 | +| main.rs:79:30:79:38 | a.clone() | main.rs:79:17:79:28 | add_original | provenance | MaD:7 Sink:MaD:7 | +| main.rs:83:21:83:21 | c | main.rs:83:21:83:29 | c.clone() | provenance | MaD:18 | +| main.rs:83:21:83:29 | c.clone() | main.rs:83:17:83:19 | add | provenance | MaD:6 Sink:MaD:6 | +| main.rs:87:9:87:13 | mut d | main.rs:88:13:88:13 | d | provenance | | +| main.rs:87:9:87:13 | mut d | main.rs:94:13:94:13 | d | provenance | | +| main.rs:87:17:87:28 | ...::from | main.rs:87:17:87:36 | ...::from(...) | provenance | Src:MaD:14 MaD:14 | +| main.rs:87:17:87:36 | ...::from(...) | main.rs:87:9:87:13 | mut d | provenance | | +| main.rs:88:13:88:13 | d | main.rs:88:13:88:21 | d.clone() | provenance | MaD:18 | +| main.rs:88:13:88:21 | d.clone() | main.rs:88:9:88:11 | add | provenance | MaD:4 Sink:MaD:4 | +| main.rs:94:13:94:13 | d | main.rs:94:13:94:21 | d.clone() | provenance | MaD:18 | +| main.rs:94:13:94:21 | d.clone() | main.rs:94:9:94:11 | add | provenance | MaD:4 Sink:MaD:4 | +| main.rs:114:5:114:17 | ...::build | main.rs:114:5:114:36 | ...::build(...) | provenance | Src:MaD:15 MaD:15 | +| main.rs:114:5:114:36 | ...::build(...) | main.rs:114:5:114:54 | ... .partitioned(...) | provenance | MaD:33 | | main.rs:114:5:114:54 | ... .partitioned(...) | main.rs:114:56:114:60 | build | provenance | MaD:2 Sink:MaD:2 | +| main.rs:122:9:122:9 | a | main.rs:123:20:123:20 | a | provenance | | +| main.rs:122:13:122:41 | ...::new | main.rs:122:13:122:58 | ...::new(...) | provenance | Src:MaD:13 MaD:13 | +| main.rs:122:13:122:58 | ...::new(...) | main.rs:122:9:122:9 | a | provenance | | +| main.rs:123:20:123:20 | a | main.rs:123:20:123:28 | a.clone() | provenance | MaD:18 | +| main.rs:123:20:123:28 | a.clone() | main.rs:123:13:123:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:130:9:130:9 | c | main.rs:131:20:131:20 | c | provenance | | +| main.rs:130:9:130:9 | c | main.rs:134:13:134:13 | c | provenance | | +| main.rs:130:13:130:13 | b | main.rs:130:13:130:31 | b.set_secure(...) | provenance | MaD:28 | +| main.rs:130:13:130:31 | b.set_secure(...) | main.rs:130:9:130:9 | c | provenance | | +| main.rs:131:20:131:20 | c | main.rs:131:20:131:28 | c.clone() | provenance | MaD:18 | +| main.rs:131:20:131:28 | c.clone() | main.rs:131:13:131:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:134:9:134:9 | d | main.rs:135:20:135:20 | d | provenance | | +| main.rs:134:13:134:13 | c | main.rs:134:13:134:35 | c.set_partitioned(...) | provenance | MaD:25 | +| main.rs:134:13:134:35 | c.set_partitioned(...) | main.rs:134:9:134:9 | d | provenance | | +| main.rs:135:20:135:20 | d | main.rs:135:20:135:28 | d.clone() | provenance | MaD:18 | +| main.rs:135:20:135:28 | d.clone() | main.rs:135:13:135:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:146:9:146:9 | g | main.rs:147:20:147:20 | g | provenance | | +| main.rs:146:13:146:13 | f | main.rs:146:13:146:31 | f.set_secure(...) | provenance | MaD:28 | +| main.rs:146:13:146:31 | f.set_secure(...) | main.rs:146:9:146:9 | g | provenance | | +| main.rs:147:20:147:20 | g | main.rs:147:20:147:28 | g.clone() | provenance | MaD:18 | +| main.rs:147:20:147:28 | g.clone() | main.rs:147:13:147:18 | insert | provenance | MaD:1 Sink:MaD:1 | | main.rs:151:9:151:9 | h | main.rs:152:20:152:20 | h | provenance | | -| main.rs:151:13:151:42 | ...::from | main.rs:151:13:151:61 | ...::from(...) | provenance | Src:MaD:5 MaD:5 | +| main.rs:151:13:151:42 | ...::from | main.rs:151:13:151:61 | ...::from(...) | provenance | Src:MaD:12 MaD:12 | | main.rs:151:13:151:61 | ...::from(...) | main.rs:151:9:151:9 | h | provenance | | | main.rs:152:20:152:20 | h | main.rs:152:13:152:18 | insert | provenance | MaD:1 Sink:MaD:1 | -| main.rs:173:22:173:34 | ...::build | main.rs:173:22:173:59 | ...::build(...) | provenance | Src:MaD:6 MaD:6 | +| main.rs:155:9:155:9 | i | main.rs:156:20:156:20 | i | provenance | | +| main.rs:155:9:155:9 | i | main.rs:157:20:157:20 | i | provenance | | +| main.rs:155:9:155:9 | i | main.rs:158:20:158:20 | i | provenance | | +| main.rs:155:9:155:9 | i | main.rs:159:20:159:20 | i | provenance | | +| main.rs:155:9:155:9 | i | main.rs:160:20:160:20 | i | provenance | | +| main.rs:155:9:155:9 | i | main.rs:161:20:161:20 | i | provenance | | +| main.rs:155:9:155:9 | i | main.rs:162:20:162:20 | i | provenance | | +| main.rs:155:9:155:9 | i | main.rs:163:20:163:20 | i | provenance | | +| main.rs:155:9:155:9 | i | main.rs:164:20:164:20 | i | provenance | | +| main.rs:155:9:155:9 | i | main.rs:165:20:165:20 | i | provenance | | +| main.rs:155:9:155:9 | i | main.rs:166:20:166:20 | i | provenance | | +| main.rs:155:9:155:9 | i | main.rs:167:20:167:20 | i | provenance | | +| main.rs:155:13:155:41 | ...::new | main.rs:155:13:155:58 | ...::new(...) | provenance | Src:MaD:13 MaD:13 | +| main.rs:155:13:155:58 | ...::new(...) | main.rs:155:9:155:9 | i | provenance | | +| main.rs:156:20:156:20 | i | main.rs:156:20:156:28 | i.clone() | provenance | MaD:18 | +| main.rs:156:20:156:28 | i.clone() | main.rs:156:20:156:46 | ... .set_name(...) | provenance | MaD:24 | +| main.rs:156:20:156:46 | ... .set_name(...) | main.rs:156:13:156:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:157:20:157:20 | i | main.rs:157:20:157:28 | i.clone() | provenance | MaD:18 | +| main.rs:157:20:157:28 | i.clone() | main.rs:157:20:157:48 | ... .set_value(...) | provenance | MaD:29 | +| main.rs:157:20:157:48 | ... .set_value(...) | main.rs:157:13:157:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:158:20:158:20 | i | main.rs:158:20:158:28 | i.clone() | provenance | MaD:18 | +| main.rs:158:20:158:28 | i.clone() | main.rs:158:20:158:48 | ... .set_http_only(...) | provenance | MaD:22 | +| main.rs:158:20:158:48 | ... .set_http_only(...) | main.rs:158:13:158:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:159:20:159:20 | i | main.rs:159:20:159:28 | i.clone() | provenance | MaD:18 | +| main.rs:159:20:159:28 | i.clone() | main.rs:159:20:159:70 | ... .set_same_site(...) | provenance | MaD:27 | +| main.rs:159:20:159:70 | ... .set_same_site(...) | main.rs:159:13:159:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:160:20:160:20 | i | main.rs:160:20:160:28 | i.clone() | provenance | MaD:18 | +| main.rs:160:20:160:28 | i.clone() | main.rs:160:20:160:46 | ... .set_max_age(...) | provenance | MaD:23 | +| main.rs:160:20:160:46 | ... .set_max_age(...) | main.rs:160:13:160:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:161:20:161:20 | i | main.rs:161:20:161:28 | i.clone() | provenance | MaD:18 | +| main.rs:161:20:161:28 | i.clone() | main.rs:161:20:161:42 | ... .set_path(...) | provenance | MaD:26 | +| main.rs:161:20:161:42 | ... .set_path(...) | main.rs:161:13:161:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:162:20:162:20 | i | main.rs:162:20:162:28 | i.clone() | provenance | MaD:18 | +| main.rs:162:20:162:28 | i.clone() | main.rs:162:20:162:41 | ... .unset_path() | provenance | MaD:32 | +| main.rs:162:20:162:41 | ... .unset_path() | main.rs:162:13:162:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:163:20:163:20 | i | main.rs:163:20:163:28 | i.clone() | provenance | MaD:18 | +| main.rs:163:20:163:28 | i.clone() | main.rs:163:20:163:54 | ... .set_domain(...) | provenance | MaD:20 | +| main.rs:163:20:163:54 | ... .set_domain(...) | main.rs:163:13:163:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:164:20:164:20 | i | main.rs:164:20:164:28 | i.clone() | provenance | MaD:18 | +| main.rs:164:20:164:28 | i.clone() | main.rs:164:20:164:43 | ... .unset_domain() | provenance | MaD:30 | +| main.rs:164:20:164:43 | ... .unset_domain() | main.rs:164:13:164:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:165:20:165:20 | i | main.rs:165:20:165:28 | i.clone() | provenance | MaD:18 | +| main.rs:165:20:165:28 | i.clone() | main.rs:165:20:165:46 | ... .set_expires(...) | provenance | MaD:21 | +| main.rs:165:20:165:46 | ... .set_expires(...) | main.rs:165:13:165:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:166:20:166:20 | i | main.rs:166:20:166:28 | i.clone() | provenance | MaD:18 | +| main.rs:166:20:166:28 | i.clone() | main.rs:166:20:166:44 | ... .unset_expires() | provenance | MaD:31 | +| main.rs:166:20:166:44 | ... .unset_expires() | main.rs:166:13:166:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:167:20:167:20 | i | main.rs:167:20:167:28 | i.clone() | provenance | MaD:18 | +| main.rs:167:20:167:28 | i.clone() | main.rs:167:20:167:45 | ... .make_permanent() | provenance | MaD:19 | +| main.rs:167:20:167:45 | ... .make_permanent() | main.rs:167:13:167:18 | insert | provenance | MaD:1 Sink:MaD:1 | +| main.rs:173:22:173:34 | ...::build | main.rs:173:22:173:59 | ...::build(...) | provenance | Src:MaD:15 MaD:15 | | main.rs:173:22:173:59 | ...::build(...) | main.rs:173:61:173:65 | build | provenance | MaD:2 Sink:MaD:2 | -| main.rs:197:5:197:39 | ...::build(...) | main.rs:197:5:197:53 | ... .secure(...) | provenance | MaD:9 | +| main.rs:197:5:197:39 | ...::build(...) | main.rs:197:5:197:53 | ... .secure(...) | provenance | MaD:35 | | main.rs:197:5:197:53 | ... .secure(...) | main.rs:197:55:197:60 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:198:5:198:39 | ...::build(...) | main.rs:198:5:198:53 | ... .secure(...) | provenance | MaD:9 | -| main.rs:198:5:198:53 | ... .secure(...) | main.rs:198:5:198:63 | ... .path(...) | provenance | MaD:8 | +| main.rs:198:5:198:39 | ...::build(...) | main.rs:198:5:198:53 | ... .secure(...) | provenance | MaD:35 | +| main.rs:198:5:198:53 | ... .secure(...) | main.rs:198:5:198:63 | ... .path(...) | provenance | MaD:34 | | main.rs:198:5:198:63 | ... .path(...) | main.rs:198:65:198:70 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:212:5:212:22 | ...::build | main.rs:212:5:212:39 | ...::build(...) | provenance | Src:MaD:6 MaD:6 | +| main.rs:201:5:201:11 | [SSA] cookie1 | main.rs:202:13:202:19 | cookie1 | provenance | | +| main.rs:201:5:201:11 | cookie1 | main.rs:202:13:202:19 | cookie1 | provenance | | +| main.rs:202:13:202:19 | cookie1 | main.rs:202:13:202:27 | cookie1.clone() | provenance | MaD:18 | +| main.rs:202:13:202:27 | cookie1.clone() | main.rs:202:9:202:11 | add | provenance | MaD:4 Sink:MaD:4 | +| main.rs:212:5:212:22 | ...::build | main.rs:212:5:212:39 | ...::build(...) | provenance | Src:MaD:15 MaD:15 | | main.rs:212:5:212:39 | ...::build(...) | main.rs:212:41:212:46 | finish | provenance | MaD:3 Sink:MaD:3 | +| main.rs:214:9:214:15 | cookie3 | main.rs:215:13:215:19 | cookie3 | provenance | | +| main.rs:214:19:214:34 | ...::new | main.rs:214:19:214:51 | ...::new(...) | provenance | Src:MaD:17 MaD:17 | +| main.rs:214:19:214:51 | ...::new(...) | main.rs:214:9:214:15 | cookie3 | provenance | | +| main.rs:215:13:215:19 | cookie3 | main.rs:215:13:215:27 | cookie3.clone() | provenance | MaD:18 | +| main.rs:215:13:215:27 | cookie3.clone() | main.rs:215:9:215:11 | add | provenance | MaD:4 Sink:MaD:4 | +| main.rs:218:5:218:11 | [SSA] cookie2 | main.rs:219:13:219:19 | cookie2 | provenance | | +| main.rs:218:5:218:11 | cookie2 | main.rs:219:13:219:19 | cookie2 | provenance | | +| main.rs:219:13:219:19 | cookie2 | main.rs:219:13:219:27 | cookie2.clone() | provenance | MaD:18 | +| main.rs:219:13:219:27 | cookie2.clone() | main.rs:219:9:219:11 | add | provenance | MaD:4 Sink:MaD:4 | +| main.rs:228:5:228:11 | [SSA] cookie1 | main.rs:229:13:229:19 | cookie1 | provenance | | +| main.rs:228:5:228:11 | cookie1 | main.rs:229:13:229:19 | cookie1 | provenance | | +| main.rs:229:13:229:19 | cookie1 | main.rs:229:13:229:27 | cookie1.clone() | provenance | MaD:18 | +| main.rs:229:13:229:27 | cookie1.clone() | main.rs:229:9:229:11 | add | provenance | MaD:11 Sink:MaD:11 | | main.rs:241:9:241:25 | cookie_config_bad | main.rs:242:43:242:59 | cookie_config_bad | provenance | | -| main.rs:241:29:241:62 | ...::new(...) | main.rs:241:29:241:76 | ... .secure(...) | provenance | MaD:12 | +| main.rs:241:29:241:62 | ...::new(...) | main.rs:241:29:241:76 | ... .secure(...) | provenance | MaD:38 | | main.rs:241:29:241:76 | ... .secure(...) | main.rs:241:9:241:25 | cookie_config_bad | provenance | | -| main.rs:242:43:242:59 | cookie_config_bad | main.rs:242:9:242:41 | ...::new | provenance | MaD:4 Sink:MaD:4 | +| main.rs:242:43:242:59 | cookie_config_bad | main.rs:242:9:242:41 | ...::new | provenance | MaD:10 Sink:MaD:10 | | main.rs:244:9:244:26 | cookie_config_bad2 | main.rs:245:43:245:60 | cookie_config_bad2 | provenance | | -| main.rs:244:30:244:63 | ...::new(...) | main.rs:244:30:244:77 | ... .secure(...) | provenance | MaD:12 | -| main.rs:244:30:244:77 | ... .secure(...) | main.rs:244:30:244:90 | ... .name(...) | provenance | MaD:10 | -| main.rs:244:30:244:90 | ... .name(...) | main.rs:244:30:244:100 | ... .path(...) | provenance | MaD:11 | +| main.rs:244:30:244:63 | ...::new(...) | main.rs:244:30:244:77 | ... .secure(...) | provenance | MaD:38 | +| main.rs:244:30:244:77 | ... .secure(...) | main.rs:244:30:244:90 | ... .name(...) | provenance | MaD:36 | +| main.rs:244:30:244:90 | ... .name(...) | main.rs:244:30:244:100 | ... .path(...) | provenance | MaD:37 | | main.rs:244:30:244:100 | ... .path(...) | main.rs:244:9:244:26 | cookie_config_bad2 | provenance | | -| main.rs:245:43:245:60 | cookie_config_bad2 | main.rs:245:9:245:41 | ...::new | provenance | MaD:4 Sink:MaD:4 | -| main.rs:259:5:259:43 | ...::build(...) | main.rs:259:5:259:57 | ... .secure(...) | provenance | MaD:9 | +| main.rs:245:43:245:60 | cookie_config_bad2 | main.rs:245:9:245:41 | ...::new | provenance | MaD:10 Sink:MaD:10 | +| main.rs:259:5:259:43 | ...::build(...) | main.rs:259:5:259:57 | ... .secure(...) | provenance | MaD:35 | | main.rs:259:5:259:57 | ... .secure(...) | main.rs:259:59:259:64 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:260:5:260:43 | ...::build(...) | main.rs:260:5:260:57 | ... .secure(...) | provenance | MaD:9 | -| main.rs:260:5:260:57 | ... .secure(...) | main.rs:260:5:260:67 | ... .path(...) | provenance | MaD:8 | +| main.rs:260:5:260:43 | ...::build(...) | main.rs:260:5:260:57 | ... .secure(...) | provenance | MaD:35 | +| main.rs:260:5:260:57 | ... .secure(...) | main.rs:260:5:260:67 | ... .path(...) | provenance | MaD:34 | | main.rs:260:5:260:67 | ... .path(...) | main.rs:260:69:260:74 | finish | provenance | MaD:3 Sink:MaD:3 | -| main.rs:274:5:274:26 | ...::build | main.rs:274:5:274:43 | ...::build(...) | provenance | Src:MaD:6 MaD:6 | +| main.rs:263:5:263:11 | [SSA] cookie1 | main.rs:264:13:264:19 | cookie1 | provenance | | +| main.rs:263:5:263:11 | cookie1 | main.rs:264:13:264:19 | cookie1 | provenance | | +| main.rs:264:13:264:19 | cookie1 | main.rs:264:13:264:27 | cookie1.clone() | provenance | MaD:18 | +| main.rs:264:13:264:27 | cookie1.clone() | main.rs:264:9:264:11 | add | provenance | MaD:4 Sink:MaD:4 | +| main.rs:274:5:274:26 | ...::build | main.rs:274:5:274:43 | ...::build(...) | provenance | Src:MaD:15 MaD:15 | | main.rs:274:5:274:43 | ...::build(...) | main.rs:274:45:274:50 | finish | provenance | MaD:3 Sink:MaD:3 | +| main.rs:276:9:276:15 | cookie3 | main.rs:277:13:277:19 | cookie3 | provenance | | +| main.rs:276:19:276:38 | ...::new | main.rs:276:19:276:55 | ...::new(...) | provenance | Src:MaD:17 MaD:17 | +| main.rs:276:19:276:55 | ...::new(...) | main.rs:276:9:276:15 | cookie3 | provenance | | +| main.rs:277:13:277:19 | cookie3 | main.rs:277:13:277:27 | cookie3.clone() | provenance | MaD:18 | +| main.rs:277:13:277:27 | cookie3.clone() | main.rs:277:9:277:11 | add | provenance | MaD:4 Sink:MaD:4 | +| main.rs:280:5:280:11 | [SSA] cookie2 | main.rs:281:13:281:19 | cookie2 | provenance | | +| main.rs:280:5:280:11 | cookie2 | main.rs:281:13:281:19 | cookie2 | provenance | | +| main.rs:281:13:281:19 | cookie2 | main.rs:281:13:281:27 | cookie2.clone() | provenance | MaD:18 | +| main.rs:281:13:281:27 | cookie2.clone() | main.rs:281:9:281:11 | add | provenance | MaD:4 Sink:MaD:4 | models | 1 | Sink: ::insert; Argument[0]; cookie-use | | 2 | Sink: ::build; Argument[self]; cookie-use | | 3 | Sink: ::finish; Argument[self]; cookie-use | -| 4 | Sink: ::new; Argument[0]; cookie-use | -| 5 | Source: ::from; ReturnValue; cookie-create | -| 6 | Source: ::build; ReturnValue; cookie-create | -| 7 | Summary: ::partitioned; Argument[self].OptionalBarrier[cookie-partitioned-arg0]; ReturnValue; taint | -| 8 | Summary: ::path; Argument[self]; ReturnValue; taint | -| 9 | Summary: ::secure; Argument[self].OptionalBarrier[cookie-secure-arg0]; ReturnValue; taint | -| 10 | Summary: ::name; Argument[self]; ReturnValue; taint | -| 11 | Summary: ::path; Argument[self]; ReturnValue; taint | -| 12 | Summary: ::secure; Argument[self].OptionalBarrier[cookie-secure-arg0]; ReturnValue; taint | +| 4 | Sink: ::add; Argument[0]; cookie-use | +| 5 | Sink: ::add_original; Argument[0]; cookie-use | +| 6 | Sink: ::add; Argument[0]; cookie-use | +| 7 | Sink: ::add_original; Argument[0]; cookie-use | +| 8 | Sink: ::add; Argument[0]; cookie-use | +| 9 | Sink: ::add_original; Argument[0]; cookie-use | +| 10 | Sink: ::new; Argument[0]; cookie-use | +| 11 | Sink: ::add; Argument[0]; cookie-use | +| 12 | Source: ::from; ReturnValue; cookie-create | +| 13 | Source: ::new; ReturnValue; cookie-create | +| 14 | Source: ::from; ReturnValue; cookie-create | +| 15 | Source: ::build; ReturnValue; cookie-create | +| 16 | Source: ::named; ReturnValue; cookie-create | +| 17 | Source: ::new; ReturnValue; cookie-create | +| 18 | Summary: <_ as core::clone::Clone>::clone; Argument[self].Reference; ReturnValue; value | +| 19 | Summary: ::make_permanent; Argument[self]; ReturnValue; taint | +| 20 | Summary: ::set_domain; Argument[self]; ReturnValue; taint | +| 21 | Summary: ::set_expires; Argument[self]; ReturnValue; taint | +| 22 | Summary: ::set_http_only; Argument[self]; ReturnValue; taint | +| 23 | Summary: ::set_max_age; Argument[self]; ReturnValue; taint | +| 24 | Summary: ::set_name; Argument[self]; ReturnValue; taint | +| 25 | Summary: ::set_partitioned; Argument[self].OptionalBarrier[cookie-partitioned-arg0]; ReturnValue; taint | +| 26 | Summary: ::set_path; Argument[self]; ReturnValue; taint | +| 27 | Summary: ::set_same_site; Argument[self]; ReturnValue; taint | +| 28 | Summary: ::set_secure; Argument[self].OptionalBarrier[cookie-secure-arg0]; ReturnValue; taint | +| 29 | Summary: ::set_value; Argument[self]; ReturnValue; taint | +| 30 | Summary: ::unset_domain; Argument[self]; ReturnValue; taint | +| 31 | Summary: ::unset_expires; Argument[self]; ReturnValue; taint | +| 32 | Summary: ::unset_path; Argument[self]; ReturnValue; taint | +| 33 | Summary: ::partitioned; Argument[self].OptionalBarrier[cookie-partitioned-arg0]; ReturnValue; taint | +| 34 | Summary: ::path; Argument[self]; ReturnValue; taint | +| 35 | Summary: ::secure; Argument[self].OptionalBarrier[cookie-secure-arg0]; ReturnValue; taint | +| 36 | Summary: ::name; Argument[self]; ReturnValue; taint | +| 37 | Summary: ::path; Argument[self]; ReturnValue; taint | +| 38 | Summary: ::secure; Argument[self].OptionalBarrier[cookie-secure-arg0]; ReturnValue; taint | nodes | main.rs:8:19:8:50 | ...::build(...) | semmle.label | ...::build(...) | | main.rs:8:19:8:64 | ... .secure(...) | semmle.label | ... .secure(...) | @@ -201,15 +415,139 @@ nodes | main.rs:53:5:53:49 | ... .secure(...) | semmle.label | ... .secure(...) | | main.rs:53:5:53:63 | ... .secure(...) | semmle.label | ... .secure(...) | | main.rs:53:65:53:69 | build | semmle.label | build | +| main.rs:58:9:58:13 | mut a | semmle.label | mut a | +| main.rs:58:17:58:27 | ...::new | semmle.label | ...::new | +| main.rs:58:17:58:44 | ...::new(...) | semmle.label | ...::new(...) | +| main.rs:59:9:59:11 | add | semmle.label | add | +| main.rs:59:13:59:13 | a | semmle.label | a | +| main.rs:59:13:59:21 | a.clone() | semmle.label | a.clone() | +| main.rs:60:9:60:20 | add_original | semmle.label | add_original | +| main.rs:60:22:60:22 | a | semmle.label | a | +| main.rs:60:22:60:30 | a.clone() | semmle.label | a.clone() | +| main.rs:63:5:63:5 | [SSA] a | semmle.label | [SSA] a | +| main.rs:63:5:63:5 | a | semmle.label | a | +| main.rs:64:9:64:11 | add | semmle.label | add | +| main.rs:64:13:64:13 | a | semmle.label | a | +| main.rs:64:13:64:21 | a.clone() | semmle.label | a.clone() | +| main.rs:68:9:68:13 | mut b | semmle.label | mut b | +| main.rs:68:17:68:29 | ...::named | semmle.label | ...::named | +| main.rs:68:17:68:37 | ...::named(...) | semmle.label | ...::named(...) | +| main.rs:69:16:69:18 | add | semmle.label | add | +| main.rs:69:20:69:20 | b | semmle.label | b | +| main.rs:69:20:69:28 | b.clone() | semmle.label | b.clone() | +| main.rs:70:16:70:27 | add_original | semmle.label | add_original | +| main.rs:70:29:70:29 | a | semmle.label | a | +| main.rs:70:29:70:37 | a.clone() | semmle.label | a.clone() | +| main.rs:71:5:71:5 | [SSA] b | semmle.label | [SSA] b | +| main.rs:71:5:71:5 | b | semmle.label | b | +| main.rs:72:16:72:18 | add | semmle.label | add | +| main.rs:72:20:72:20 | b | semmle.label | b | +| main.rs:72:20:72:28 | b.clone() | semmle.label | b.clone() | +| main.rs:77:9:77:13 | mut c | semmle.label | mut c | +| main.rs:77:17:77:28 | ...::from | semmle.label | ...::from | +| main.rs:77:17:77:36 | ...::from(...) | semmle.label | ...::from(...) | +| main.rs:78:17:78:19 | add | semmle.label | add | +| main.rs:78:21:78:21 | c | semmle.label | c | +| main.rs:78:21:78:29 | c.clone() | semmle.label | c.clone() | +| main.rs:79:17:79:28 | add_original | semmle.label | add_original | +| main.rs:79:30:79:30 | a | semmle.label | a | +| main.rs:79:30:79:38 | a.clone() | semmle.label | a.clone() | +| main.rs:83:17:83:19 | add | semmle.label | add | +| main.rs:83:21:83:21 | c | semmle.label | c | +| main.rs:83:21:83:29 | c.clone() | semmle.label | c.clone() | +| main.rs:87:9:87:13 | mut d | semmle.label | mut d | +| main.rs:87:17:87:28 | ...::from | semmle.label | ...::from | +| main.rs:87:17:87:36 | ...::from(...) | semmle.label | ...::from(...) | +| main.rs:88:9:88:11 | add | semmle.label | add | +| main.rs:88:13:88:13 | d | semmle.label | d | +| main.rs:88:13:88:21 | d.clone() | semmle.label | d.clone() | +| main.rs:94:9:94:11 | add | semmle.label | add | +| main.rs:94:13:94:13 | d | semmle.label | d | +| main.rs:94:13:94:21 | d.clone() | semmle.label | d.clone() | | main.rs:114:5:114:17 | ...::build | semmle.label | ...::build | | main.rs:114:5:114:36 | ...::build(...) | semmle.label | ...::build(...) | | main.rs:114:5:114:54 | ... .partitioned(...) | semmle.label | ... .partitioned(...) | | main.rs:114:56:114:60 | build | semmle.label | build | +| main.rs:122:9:122:9 | a | semmle.label | a | +| main.rs:122:13:122:41 | ...::new | semmle.label | ...::new | +| main.rs:122:13:122:58 | ...::new(...) | semmle.label | ...::new(...) | +| main.rs:123:13:123:18 | insert | semmle.label | insert | +| main.rs:123:20:123:20 | a | semmle.label | a | +| main.rs:123:20:123:28 | a.clone() | semmle.label | a.clone() | +| main.rs:130:9:130:9 | c | semmle.label | c | +| main.rs:130:13:130:13 | b | semmle.label | b | +| main.rs:130:13:130:31 | b.set_secure(...) | semmle.label | b.set_secure(...) | +| main.rs:131:13:131:18 | insert | semmle.label | insert | +| main.rs:131:20:131:20 | c | semmle.label | c | +| main.rs:131:20:131:28 | c.clone() | semmle.label | c.clone() | +| main.rs:134:9:134:9 | d | semmle.label | d | +| main.rs:134:13:134:13 | c | semmle.label | c | +| main.rs:134:13:134:35 | c.set_partitioned(...) | semmle.label | c.set_partitioned(...) | +| main.rs:135:13:135:18 | insert | semmle.label | insert | +| main.rs:135:20:135:20 | d | semmle.label | d | +| main.rs:135:20:135:28 | d.clone() | semmle.label | d.clone() | +| main.rs:146:9:146:9 | g | semmle.label | g | +| main.rs:146:13:146:13 | f | semmle.label | f | +| main.rs:146:13:146:31 | f.set_secure(...) | semmle.label | f.set_secure(...) | +| main.rs:147:13:147:18 | insert | semmle.label | insert | +| main.rs:147:20:147:20 | g | semmle.label | g | +| main.rs:147:20:147:28 | g.clone() | semmle.label | g.clone() | | main.rs:151:9:151:9 | h | semmle.label | h | | main.rs:151:13:151:42 | ...::from | semmle.label | ...::from | | main.rs:151:13:151:61 | ...::from(...) | semmle.label | ...::from(...) | | main.rs:152:13:152:18 | insert | semmle.label | insert | | main.rs:152:20:152:20 | h | semmle.label | h | +| main.rs:155:9:155:9 | i | semmle.label | i | +| main.rs:155:13:155:41 | ...::new | semmle.label | ...::new | +| main.rs:155:13:155:58 | ...::new(...) | semmle.label | ...::new(...) | +| main.rs:156:13:156:18 | insert | semmle.label | insert | +| main.rs:156:20:156:20 | i | semmle.label | i | +| main.rs:156:20:156:28 | i.clone() | semmle.label | i.clone() | +| main.rs:156:20:156:46 | ... .set_name(...) | semmle.label | ... .set_name(...) | +| main.rs:157:13:157:18 | insert | semmle.label | insert | +| main.rs:157:20:157:20 | i | semmle.label | i | +| main.rs:157:20:157:28 | i.clone() | semmle.label | i.clone() | +| main.rs:157:20:157:48 | ... .set_value(...) | semmle.label | ... .set_value(...) | +| main.rs:158:13:158:18 | insert | semmle.label | insert | +| main.rs:158:20:158:20 | i | semmle.label | i | +| main.rs:158:20:158:28 | i.clone() | semmle.label | i.clone() | +| main.rs:158:20:158:48 | ... .set_http_only(...) | semmle.label | ... .set_http_only(...) | +| main.rs:159:13:159:18 | insert | semmle.label | insert | +| main.rs:159:20:159:20 | i | semmle.label | i | +| main.rs:159:20:159:28 | i.clone() | semmle.label | i.clone() | +| main.rs:159:20:159:70 | ... .set_same_site(...) | semmle.label | ... .set_same_site(...) | +| main.rs:160:13:160:18 | insert | semmle.label | insert | +| main.rs:160:20:160:20 | i | semmle.label | i | +| main.rs:160:20:160:28 | i.clone() | semmle.label | i.clone() | +| main.rs:160:20:160:46 | ... .set_max_age(...) | semmle.label | ... .set_max_age(...) | +| main.rs:161:13:161:18 | insert | semmle.label | insert | +| main.rs:161:20:161:20 | i | semmle.label | i | +| main.rs:161:20:161:28 | i.clone() | semmle.label | i.clone() | +| main.rs:161:20:161:42 | ... .set_path(...) | semmle.label | ... .set_path(...) | +| main.rs:162:13:162:18 | insert | semmle.label | insert | +| main.rs:162:20:162:20 | i | semmle.label | i | +| main.rs:162:20:162:28 | i.clone() | semmle.label | i.clone() | +| main.rs:162:20:162:41 | ... .unset_path() | semmle.label | ... .unset_path() | +| main.rs:163:13:163:18 | insert | semmle.label | insert | +| main.rs:163:20:163:20 | i | semmle.label | i | +| main.rs:163:20:163:28 | i.clone() | semmle.label | i.clone() | +| main.rs:163:20:163:54 | ... .set_domain(...) | semmle.label | ... .set_domain(...) | +| main.rs:164:13:164:18 | insert | semmle.label | insert | +| main.rs:164:20:164:20 | i | semmle.label | i | +| main.rs:164:20:164:28 | i.clone() | semmle.label | i.clone() | +| main.rs:164:20:164:43 | ... .unset_domain() | semmle.label | ... .unset_domain() | +| main.rs:165:13:165:18 | insert | semmle.label | insert | +| main.rs:165:20:165:20 | i | semmle.label | i | +| main.rs:165:20:165:28 | i.clone() | semmle.label | i.clone() | +| main.rs:165:20:165:46 | ... .set_expires(...) | semmle.label | ... .set_expires(...) | +| main.rs:166:13:166:18 | insert | semmle.label | insert | +| main.rs:166:20:166:20 | i | semmle.label | i | +| main.rs:166:20:166:28 | i.clone() | semmle.label | i.clone() | +| main.rs:166:20:166:44 | ... .unset_expires() | semmle.label | ... .unset_expires() | +| main.rs:167:13:167:18 | insert | semmle.label | insert | +| main.rs:167:20:167:20 | i | semmle.label | i | +| main.rs:167:20:167:28 | i.clone() | semmle.label | i.clone() | +| main.rs:167:20:167:45 | ... .make_permanent() | semmle.label | ... .make_permanent() | | main.rs:173:22:173:34 | ...::build | semmle.label | ...::build | | main.rs:173:22:173:59 | ...::build(...) | semmle.label | ...::build(...) | | main.rs:173:61:173:65 | build | semmle.label | build | @@ -220,9 +558,30 @@ nodes | main.rs:198:5:198:53 | ... .secure(...) | semmle.label | ... .secure(...) | | main.rs:198:5:198:63 | ... .path(...) | semmle.label | ... .path(...) | | main.rs:198:65:198:70 | finish | semmle.label | finish | +| main.rs:201:5:201:11 | [SSA] cookie1 | semmle.label | [SSA] cookie1 | +| main.rs:201:5:201:11 | cookie1 | semmle.label | cookie1 | +| main.rs:202:9:202:11 | add | semmle.label | add | +| main.rs:202:13:202:19 | cookie1 | semmle.label | cookie1 | +| main.rs:202:13:202:27 | cookie1.clone() | semmle.label | cookie1.clone() | | main.rs:212:5:212:22 | ...::build | semmle.label | ...::build | | main.rs:212:5:212:39 | ...::build(...) | semmle.label | ...::build(...) | | main.rs:212:41:212:46 | finish | semmle.label | finish | +| main.rs:214:9:214:15 | cookie3 | semmle.label | cookie3 | +| main.rs:214:19:214:34 | ...::new | semmle.label | ...::new | +| main.rs:214:19:214:51 | ...::new(...) | semmle.label | ...::new(...) | +| main.rs:215:9:215:11 | add | semmle.label | add | +| main.rs:215:13:215:19 | cookie3 | semmle.label | cookie3 | +| main.rs:215:13:215:27 | cookie3.clone() | semmle.label | cookie3.clone() | +| main.rs:218:5:218:11 | [SSA] cookie2 | semmle.label | [SSA] cookie2 | +| main.rs:218:5:218:11 | cookie2 | semmle.label | cookie2 | +| main.rs:219:9:219:11 | add | semmle.label | add | +| main.rs:219:13:219:19 | cookie2 | semmle.label | cookie2 | +| main.rs:219:13:219:27 | cookie2.clone() | semmle.label | cookie2.clone() | +| main.rs:228:5:228:11 | [SSA] cookie1 | semmle.label | [SSA] cookie1 | +| main.rs:228:5:228:11 | cookie1 | semmle.label | cookie1 | +| main.rs:229:9:229:11 | add | semmle.label | add | +| main.rs:229:13:229:19 | cookie1 | semmle.label | cookie1 | +| main.rs:229:13:229:27 | cookie1.clone() | semmle.label | cookie1.clone() | | main.rs:241:9:241:25 | cookie_config_bad | semmle.label | cookie_config_bad | | main.rs:241:29:241:62 | ...::new(...) | semmle.label | ...::new(...) | | main.rs:241:29:241:76 | ... .secure(...) | semmle.label | ... .secure(...) | @@ -242,58 +601,23 @@ nodes | main.rs:260:5:260:57 | ... .secure(...) | semmle.label | ... .secure(...) | | main.rs:260:5:260:67 | ... .path(...) | semmle.label | ... .path(...) | | main.rs:260:69:260:74 | finish | semmle.label | finish | +| main.rs:263:5:263:11 | [SSA] cookie1 | semmle.label | [SSA] cookie1 | +| main.rs:263:5:263:11 | cookie1 | semmle.label | cookie1 | +| main.rs:264:9:264:11 | add | semmle.label | add | +| main.rs:264:13:264:19 | cookie1 | semmle.label | cookie1 | +| main.rs:264:13:264:27 | cookie1.clone() | semmle.label | cookie1.clone() | | main.rs:274:5:274:26 | ...::build | semmle.label | ...::build | | main.rs:274:5:274:43 | ...::build(...) | semmle.label | ...::build(...) | | main.rs:274:45:274:50 | finish | semmle.label | finish | +| main.rs:276:9:276:15 | cookie3 | semmle.label | cookie3 | +| main.rs:276:19:276:38 | ...::new | semmle.label | ...::new | +| main.rs:276:19:276:55 | ...::new(...) | semmle.label | ...::new(...) | +| main.rs:277:9:277:11 | add | semmle.label | add | +| main.rs:277:13:277:19 | cookie3 | semmle.label | cookie3 | +| main.rs:277:13:277:27 | cookie3.clone() | semmle.label | cookie3.clone() | +| main.rs:280:5:280:11 | [SSA] cookie2 | semmle.label | [SSA] cookie2 | +| main.rs:280:5:280:11 | cookie2 | semmle.label | cookie2 | +| main.rs:281:9:281:11 | add | semmle.label | add | +| main.rs:281:13:281:19 | cookie2 | semmle.label | cookie2 | +| main.rs:281:13:281:27 | cookie2.clone() | semmle.label | cookie2.clone() | subpaths -testFailures -| main.rs:58:47:58:57 | //... | Missing result: Source | -| main.rs:59:25:59:56 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:60:34:60:65 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:63:26:63:36 | //... | Missing result: Source | -| main.rs:64:25:64:56 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:68:40:68:50 | //... | Missing result: Source | -| main.rs:69:32:69:63 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:70:41:70:72 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:71:30:71:40 | //... | Missing result: Source | -| main.rs:72:32:72:63 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:77:39:77:49 | //... | Missing result: Source | -| main.rs:78:33:78:64 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:79:42:79:73 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:83:33:83:64 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:87:39:87:49 | //... | Missing result: Source | -| main.rs:88:25:88:56 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:94:25:94:66 | //... | Fixed spurious result: Alert[rust/insecure-cookie] | -| main.rs:122:61:122:71 | //... | Missing result: Source | -| main.rs:123:32:123:63 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:130:34:130:44 | //... | Missing result: Source | -| main.rs:131:32:131:63 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:146:34:146:44 | //... | Missing result: Source | -| main.rs:147:32:147:63 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:155:61:155:71 | //... | Missing result: Source | -| main.rs:156:50:156:81 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:157:52:157:83 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:158:52:158:83 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:159:74:159:105 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:160:50:160:81 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:161:46:161:77 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:162:45:162:76 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:163:58:163:89 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:164:47:164:78 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:165:50:165:81 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:166:48:166:79 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:167:49:167:80 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:201:32:201:42 | //... | Missing result: Source | -| main.rs:202:31:202:62 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:214:54:214:64 | //... | Missing result: Source | -| main.rs:215:31:215:62 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:218:31:218:41 | //... | Missing result: Source | -| main.rs:219:31:219:62 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:228:32:228:42 | //... | Missing result: Source | -| main.rs:229:31:229:62 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:263:32:263:42 | //... | Missing result: Source | -| main.rs:264:31:264:62 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:276:58:276:68 | //... | Missing result: Source | -| main.rs:277:31:277:62 | //... | Missing result: Alert[rust/insecure-cookie] | -| main.rs:280:31:280:41 | //... | Missing result: Source | -| main.rs:281:31:281:62 | //... | Missing result: Alert[rust/insecure-cookie] | From 76140a69070b9bc78422961ec13f593b8d0cb5c6 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 3 Aug 2026 17:56:36 +0200 Subject: [PATCH 048/190] Rust: Add change note for rust-analyzer 0.0.328 upgrade Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- rust/ql/lib/change-notes/2026-08-03-rust-analyzer-0.0.328.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 rust/ql/lib/change-notes/2026-08-03-rust-analyzer-0.0.328.md diff --git a/rust/ql/lib/change-notes/2026-08-03-rust-analyzer-0.0.328.md b/rust/ql/lib/change-notes/2026-08-03-rust-analyzer-0.0.328.md new file mode 100644 index 000000000000..d9403a8b62aa --- /dev/null +++ b/rust/ql/lib/change-notes/2026-08-03-rust-analyzer-0.0.328.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The Rust extractor has been upgraded to use `rust-analyzer` version 0.0.328. As a result, the AST exposed by the Rust libraries has changed: the `TraitAlias` class has been removed, `cfg` attributes are now modeled by the new `CfgMeta`, `CfgAtom`, `CfgComposite`, `CfgPredicate`, and `CfgAttrMeta` classes, and the `Meta` class has been refined into the `KeyValueMeta`, `PathMeta`, `TokenTreeMeta`, and `UnsafeMeta` subclasses. New `TryBlockModifier` and `FormatArgsArgName` classes have also been added. From 50648628bfbd8e1720292d54e8827b890bf5f899 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 3 Aug 2026 18:03:08 +0200 Subject: [PATCH 049/190] Rust: fix clippy lints surfaced by the 1.91 toolchain bump Collapse nested `if let`/`if` into let-chains (edition 2024) in tree-sitter-extractor and add an explicit `'_` lifetime in yeast, as required by clippy under the new toolchain. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../tree-sitter-extractor/src/diagnostics.rs | 34 +++++++++---------- .../src/extractor/mod.rs | 16 ++++----- .../src/generator/ql_gen.rs | 8 ++--- .../tree-sitter-extractor/src/node_types.rs | 8 ++--- shared/yeast/src/lib.rs | 2 +- 5 files changed, 34 insertions(+), 34 deletions(-) diff --git a/shared/tree-sitter-extractor/src/diagnostics.rs b/shared/tree-sitter-extractor/src/diagnostics.rs index cd6f685e639e..412647ee07a5 100644 --- a/shared/tree-sitter-extractor/src/diagnostics.rs +++ b/shared/tree-sitter-extractor/src/diagnostics.rs @@ -119,24 +119,24 @@ impl LogWriter { Some(Severity::Note) => tracing::info!("{}", full_error_message), None => tracing::debug!("{}", full_error_message), } - if self.inner.is_none() { - if let Some(path) = self.path.as_ref() { - match std::fs::OpenOptions::new() - .create(true) - .append(true) - .open(path) - { - Err(e) => { - tracing::error!( - "Could not open log file '{}': {}", - &path.to_string_lossy(), - e - ); - self.path = None; - self.inner = None - } - Ok(file) => self.inner = Some(std::io::BufWriter::new(file)), + if self.inner.is_none() + && let Some(path) = self.path.as_ref() + { + match std::fs::OpenOptions::new() + .create(true) + .append(true) + .open(path) + { + Err(e) => { + tracing::error!( + "Could not open log file '{}': {}", + &path.to_string_lossy(), + e + ); + self.path = None; + self.inner = None } + Ok(file) => self.inner = Some(std::io::BufWriter::new(file)), } } if let Some(mut writer) = self.inner.as_mut() { diff --git a/shared/tree-sitter-extractor/src/extractor/mod.rs b/shared/tree-sitter-extractor/src/extractor/mod.rs index 1a8b9e820164..13ee3264133b 100644 --- a/shared/tree-sitter-extractor/src/extractor/mod.rs +++ b/shared/tree-sitter-extractor/src/extractor/mod.rs @@ -904,10 +904,10 @@ impl<'a> Visitor<'a> { if tp == single_type { return true; } - if let EntryKind::Union { members } = &self.schema.get(single_type).unwrap().kind { - if self.type_matches_set(tp, members) { - return true; - } + if let EntryKind::Union { members } = &self.schema.get(single_type).unwrap().kind + && self.type_matches_set(tp, members) + { + return true; } } node_types::FieldTypeInfo::Multiple { types, .. } => { @@ -926,10 +926,10 @@ impl<'a> Visitor<'a> { return true; } for other in types.iter() { - if let EntryKind::Union { members } = &self.schema.get(other).unwrap().kind { - if self.type_matches_set(tp, members) { - return true; - } + if let EntryKind::Union { members } = &self.schema.get(other).unwrap().kind + && self.type_matches_set(tp, members) + { + return true; } } false diff --git a/shared/tree-sitter-extractor/src/generator/ql_gen.rs b/shared/tree-sitter-extractor/src/generator/ql_gen.rs index fe6f9a2a828b..237ed9ddb968 100644 --- a/shared/tree-sitter-extractor/src/generator/ql_gen.rs +++ b/shared/tree-sitter-extractor/src/generator/ql_gen.rs @@ -834,10 +834,10 @@ pub fn convert_nodes(nodes: &node_types::NodeTypeMap) -> Vec> { let mut token_kinds = BTreeSet::new(); let direct_supertypes = compute_direct_supertypes(nodes); for (type_name, node) in nodes { - if let node_types::EntryKind::Token { .. } = &node.kind { - if type_name.named { - token_kinds.insert(&type_name.kind); - } + if let node_types::EntryKind::Token { .. } = &node.kind + && type_name.named + { + token_kinds.insert(&type_name.kind); } } diff --git a/shared/tree-sitter-extractor/src/node_types.rs b/shared/tree-sitter-extractor/src/node_types.rs index 4c67c2e4f20e..65217c8a28b6 100644 --- a/shared/tree-sitter-extractor/src/node_types.rs +++ b/shared/tree-sitter-extractor/src/node_types.rs @@ -355,10 +355,10 @@ fn escape_name(name: &str) -> String { let mut result = String::new(); // If there's a leading underscore, replace it with 'underscore_'. - if let Some(c) = name.chars().next() { - if c == '_' { - result.push_str("underscore"); - } + if let Some(c) = name.chars().next() + && c == '_' + { + result.push_str("underscore"); } for c in name.chars() { match c { diff --git a/shared/yeast/src/lib.rs b/shared/yeast/src/lib.rs index cf06d2d2c17b..c290246541f5 100644 --- a/shared/yeast/src/lib.rs +++ b/shared/yeast/src/lib.rs @@ -492,7 +492,7 @@ impl Ast { } } - pub fn walk(&self) -> AstCursor { + pub fn walk(&self) -> AstCursor<'_> { AstCursor::new(self) } From 1ff0e75f4d3b02603c92450bd3076b89743c32c6 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 3 Aug 2026 18:09:05 +0200 Subject: [PATCH 050/190] Rust: fix rustfmt formatting of ra_ap_syntax_bridge import The rust-analyzer 0.0.328 upgrade changed the ra_ap_syntax_bridge import in rust/extractor/src/translate/base.rs to a single line that exceeds the max width, causing the rust-code CI job to fail at cargo fmt --check. Wrap the import so cargo fmt --check passes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- rust/extractor/src/translate/base.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rust/extractor/src/translate/base.rs b/rust/extractor/src/translate/base.rs index 62ff3d5fa10e..cb498e40bfe9 100644 --- a/rust/extractor/src/translate/base.rs +++ b/rust/extractor/src/translate/base.rs @@ -18,7 +18,9 @@ use ra_ap_syntax::{ AstNode, NodeOrToken, SyntaxElementChildren, SyntaxError, SyntaxNode, SyntaxToken, TextRange, ast, }; -use ra_ap_syntax_bridge::{DocCommentDesugarMode, syntax_node_to_token_tree, token_tree_to_syntax_node}; +use ra_ap_syntax_bridge::{ + DocCommentDesugarMode, syntax_node_to_token_tree, token_tree_to_syntax_node, +}; impl Emission for Translator<'_> { fn pre_emit(&mut self, node: &ast::Item) -> Option> { From 2e4a1745b602f6f252ceca6914fb8935e0e4dee2 Mon Sep 17 00:00:00 2001 From: Chad Bentz <1760475+felickz@users.noreply.github.com> Date: Tue, 4 Aug 2026 17:19:08 -0400 Subject: [PATCH 051/190] Java: model R2DBC SQL injection sinks Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: fb2a5047-e061-44ba-b6df-198390190733 --- .../2026-08-04-spring-r2dbc-sql-injection.md | 4 ++++ java/ql/lib/ext/io.r2dbc.spi.model.yml | 7 +++++++ .../ext/org.springframework.r2dbc.core.model.yml | 12 ++++++++++++ .../CWE-089/semmle/examples/SpringJdbc.java | 11 +++++++++++ .../CWE-089/semmle/examples/io/r2dbc/spi/Batch.java | 5 +++++ .../semmle/examples/io/r2dbc/spi/Connection.java | 5 +++++ .../semmle/examples/io/r2dbc/spi/Statement.java | 4 ++++ .../springframework/r2dbc/core/DatabaseClient.java | 13 +++++++++++++ 8 files changed, 61 insertions(+) create mode 100644 java/ql/lib/change-notes/2026-08-04-spring-r2dbc-sql-injection.md create mode 100644 java/ql/lib/ext/io.r2dbc.spi.model.yml create mode 100644 java/ql/lib/ext/org.springframework.r2dbc.core.model.yml create mode 100644 java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Batch.java create mode 100644 java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Connection.java create mode 100644 java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Statement.java create mode 100644 java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/DatabaseClient.java diff --git a/java/ql/lib/change-notes/2026-08-04-spring-r2dbc-sql-injection.md b/java/ql/lib/change-notes/2026-08-04-spring-r2dbc-sql-injection.md new file mode 100644 index 000000000000..a8d4de85e4cb --- /dev/null +++ b/java/ql/lib/change-notes/2026-08-04-spring-r2dbc-sql-injection.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added SQL injection sink models for Spring R2DBC `DatabaseClient` and the R2DBC SPI. diff --git a/java/ql/lib/ext/io.r2dbc.spi.model.yml b/java/ql/lib/ext/io.r2dbc.spi.model.yml new file mode 100644 index 000000000000..9515bee9fe57 --- /dev/null +++ b/java/ql/lib/ext/io.r2dbc.spi.model.yml @@ -0,0 +1,7 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["io.r2dbc.spi", "Connection", True, "createStatement", "(String)", "", "Argument[0]", "sql-injection", "manual"] + - ["io.r2dbc.spi", "Batch", True, "add", "(String)", "", "Argument[0]", "sql-injection", "manual"] diff --git a/java/ql/lib/ext/org.springframework.r2dbc.core.model.yml b/java/ql/lib/ext/org.springframework.r2dbc.core.model.yml new file mode 100644 index 000000000000..5b186d3efe5b --- /dev/null +++ b/java/ql/lib/ext/org.springframework.r2dbc.core.model.yml @@ -0,0 +1,12 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["org.springframework.r2dbc.core", "DatabaseClient", True, "sql", "(String)", "", "Argument[0]", "sql-injection", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "fetch", "", "", "Argument[this]", "sql-injection", "manual"] + - addsTo: + pack: codeql/java-all + extensible: summaryModel + data: + - ["org.springframework.r2dbc.core", "DatabaseClient", True, "sql", "(java.util.function.Supplier)", "", "Argument[0].ReturnValue", "ReturnValue", "taint", "manual"] diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java index 2772ce95536a..627469caefb5 100644 --- a/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java @@ -1,5 +1,8 @@ import java.sql.ResultSet; import java.util.Map; +import java.util.function.Supplier; +import io.r2dbc.spi.Batch; +import io.r2dbc.spi.Connection; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations; import org.springframework.jdbc.core.namedparam.SqlParameterSource; @@ -13,6 +16,7 @@ import org.springframework.jdbc.object.SqlFunction; import org.springframework.jdbc.object.SqlUpdate; import org.springframework.jdbc.object.UpdatableSqlQuery; +import org.springframework.r2dbc.core.DatabaseClient; public class SpringJdbc { @@ -80,4 +84,11 @@ public static void test(JdbcTemplate template, NamedParameterJdbcOperations name namedParamTemplate.update(source(), null, null, null); // $ sqlInjection } + public static void testR2dbc(DatabaseClient client, Connection connection, Batch batch) { + client.sql(source()); // $ sqlInjection + client.sql((Supplier) SpringJdbc::source).fetch(); // $ sqlInjection + connection.createStatement(source()); // $ sqlInjection + batch.add(source()); // $ sqlInjection + } + } \ No newline at end of file diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Batch.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Batch.java new file mode 100644 index 000000000000..dda062e2362f --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Batch.java @@ -0,0 +1,5 @@ +package io.r2dbc.spi; + +public interface Batch { + Batch add(String sql); +} diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Connection.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Connection.java new file mode 100644 index 000000000000..76a2c0076236 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Connection.java @@ -0,0 +1,5 @@ +package io.r2dbc.spi; + +public interface Connection { + Statement createStatement(String sql); +} diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Statement.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Statement.java new file mode 100644 index 000000000000..6080305243b7 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Statement.java @@ -0,0 +1,4 @@ +package io.r2dbc.spi; + +public interface Statement { +} diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/DatabaseClient.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/DatabaseClient.java new file mode 100644 index 000000000000..a2c5f3ea781e --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/DatabaseClient.java @@ -0,0 +1,13 @@ +package org.springframework.r2dbc.core; + +import java.util.function.Supplier; + +public interface DatabaseClient { + GenericExecuteSpec sql(String sql); + + GenericExecuteSpec sql(Supplier sqlSupplier); + + interface GenericExecuteSpec { + Object fetch(); + } +} From e079fdf269431eb8fcac4a99192bd166eb099fdc Mon Sep 17 00:00:00 2001 From: Chad Bentz <1760475+felickz@users.noreply.github.com> Date: Tue, 4 Aug 2026 18:34:02 -0400 Subject: [PATCH 052/190] Java: cover R2DBC fluent execution paths Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: fb2a5047-e061-44ba-b6df-198390190733 --- .../org.springframework.r2dbc.core.model.yml | 15 ++++++++ .../CWE-089/semmle/examples/SpringJdbc.java | 17 ++++++++++ .../r2dbc/core/DatabaseClient.java | 34 +++++++++++++++++++ .../r2dbc/core/StatementFilterFunction.java | 4 +++ 4 files changed, 70 insertions(+) create mode 100644 java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/StatementFilterFunction.java diff --git a/java/ql/lib/ext/org.springframework.r2dbc.core.model.yml b/java/ql/lib/ext/org.springframework.r2dbc.core.model.yml index 5b186d3efe5b..d388e72fdcc9 100644 --- a/java/ql/lib/ext/org.springframework.r2dbc.core.model.yml +++ b/java/ql/lib/ext/org.springframework.r2dbc.core.model.yml @@ -5,8 +5,23 @@ extensions: data: - ["org.springframework.r2dbc.core", "DatabaseClient", True, "sql", "(String)", "", "Argument[0]", "sql-injection", "manual"] - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "fetch", "", "", "Argument[this]", "sql-injection", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "then", "", "", "Argument[this]", "sql-injection", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "map", "(java.util.function.Function)", "", "Argument[this]", "sql-injection", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "map", "(java.util.function.BiFunction)", "", "Argument[this]", "sql-injection", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "mapValue", "(Class)", "", "Argument[this]", "sql-injection", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "mapProperties", "(Class)", "", "Argument[this]", "sql-injection", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "flatMap", "(java.util.function.Function)", "", "Argument[this]", "sql-injection", "manual"] - addsTo: pack: codeql/java-all extensible: summaryModel data: - ["org.springframework.r2dbc.core", "DatabaseClient", True, "sql", "(java.util.function.Supplier)", "", "Argument[0].ReturnValue", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bind", "(int,Object)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bind", "(String,Object)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindNull", "(int,Class)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindNull", "(String,Class)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindValues", "(List)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindValues", "(Map)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindProperties", "(Object)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "filter", "(java.util.function.Function)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "filter", "(org.springframework.r2dbc.core.StatementFilterFunction)", "", "Argument[this]", "ReturnValue", "taint", "manual"] diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java index 627469caefb5..5646c9da3ef1 100644 --- a/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java @@ -87,6 +87,23 @@ public static void test(JdbcTemplate template, NamedParameterJdbcOperations name public static void testR2dbc(DatabaseClient client, Connection connection, Batch batch) { client.sql(source()); // $ sqlInjection client.sql((Supplier) SpringJdbc::source).fetch(); // $ sqlInjection + client.sql((Supplier) SpringJdbc::source).then(); // $ sqlInjection + client.sql((Supplier) SpringJdbc::source).map(row -> row); // $ sqlInjection + client.sql((Supplier) SpringJdbc::source).map((row, metadata) -> row); // $ sqlInjection + client.sql((Supplier) SpringJdbc::source).flatMap(row -> row); // $ sqlInjection + client.sql((Supplier) SpringJdbc::source).mapValue(String.class); // $ sqlInjection + client.sql((Supplier) SpringJdbc::source).mapProperties(String.class); // $ sqlInjection + client.sql((Supplier) SpringJdbc::source) + .bind(0, "value") + .bind("name", "value") + .bindNull(0, String.class) + .bindNull("name", String.class) + .bindValues(java.util.List.of("value")) + .bindValues(java.util.Map.of("name", "value")) + .bindProperties(new Object()) + .filter(statement -> statement) + .filter((org.springframework.r2dbc.core.StatementFilterFunction) null) // $ sqlInjection + .fetch(); connection.createStatement(source()); // $ sqlInjection batch.add(source()); // $ sqlInjection } diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/DatabaseClient.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/DatabaseClient.java index a2c5f3ea781e..f36da8510dc5 100644 --- a/java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/DatabaseClient.java +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/DatabaseClient.java @@ -1,5 +1,9 @@ package org.springframework.r2dbc.core; +import java.util.List; +import java.util.Map; +import java.util.function.BiFunction; +import java.util.function.Function; import java.util.function.Supplier; public interface DatabaseClient { @@ -8,6 +12,36 @@ public interface DatabaseClient { GenericExecuteSpec sql(Supplier sqlSupplier); interface GenericExecuteSpec { + GenericExecuteSpec bind(int index, Object value); + + GenericExecuteSpec bind(String name, Object value); + + GenericExecuteSpec bindNull(int index, Class type); + + GenericExecuteSpec bindNull(String name, Class type); + + GenericExecuteSpec bindValues(List values); + + GenericExecuteSpec bindValues(Map values); + + GenericExecuteSpec bindProperties(Object source); + + GenericExecuteSpec filter(Function filterFunction); + + GenericExecuteSpec filter(StatementFilterFunction filterFunction); + Object fetch(); + + Object then(); + + Object map(Function mappingFunction); + + Object map(BiFunction mappingFunction); + + Object mapValue(Class mappedClass); + + Object mapProperties(Class mappedClass); + + Object flatMap(Function mappingFunction); } } diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/StatementFilterFunction.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/StatementFilterFunction.java new file mode 100644 index 000000000000..871c6dae9670 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/org/springframework/r2dbc/core/StatementFilterFunction.java @@ -0,0 +1,4 @@ +package org.springframework.r2dbc.core; + +public interface StatementFilterFunction { +} From 90b78c980a7ccf1caf0bfa120b1de3d053ea0d3c Mon Sep 17 00:00:00 2001 From: Chad Bentz <1760475+felickz@users.noreply.github.com> Date: Tue, 4 Aug 2026 18:45:52 -0400 Subject: [PATCH 053/190] Java: add R2DBC SPI SQL injection sinks Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: fb2a5047-e061-44ba-b6df-198390190733 --- java/ql/lib/ext/io.r2dbc.spi.model.yml | 4 ++++ .../security/CWE-089/semmle/examples/SpringJdbc.java | 5 +++++ .../CWE-089/semmle/examples/io/r2dbc/spi/Connection.java | 6 ++++++ .../CWE-089/semmle/examples/io/r2dbc/spi/Statement.java | 1 + 4 files changed, 16 insertions(+) diff --git a/java/ql/lib/ext/io.r2dbc.spi.model.yml b/java/ql/lib/ext/io.r2dbc.spi.model.yml index 9515bee9fe57..7edfcdc36643 100644 --- a/java/ql/lib/ext/io.r2dbc.spi.model.yml +++ b/java/ql/lib/ext/io.r2dbc.spi.model.yml @@ -5,3 +5,7 @@ extensions: data: - ["io.r2dbc.spi", "Connection", True, "createStatement", "(String)", "", "Argument[0]", "sql-injection", "manual"] - ["io.r2dbc.spi", "Batch", True, "add", "(String)", "", "Argument[0]", "sql-injection", "manual"] + - ["io.r2dbc.spi", "Connection", True, "createSavepoint", "(String)", "", "Argument[0]", "sql-injection", "manual"] + - ["io.r2dbc.spi", "Connection", True, "releaseSavepoint", "(String)", "", "Argument[0]", "sql-injection", "manual"] + - ["io.r2dbc.spi", "Connection", True, "rollbackTransactionToSavepoint", "(String)", "", "Argument[0]", "sql-injection", "manual"] + - ["io.r2dbc.spi", "Statement", True, "returnGeneratedValues", "(String[])", "", "Argument[0]", "sql-injection", "manual"] diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java index 5646c9da3ef1..656e9c69abf4 100644 --- a/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java @@ -106,6 +106,11 @@ public static void testR2dbc(DatabaseClient client, Connection connection, Batch .fetch(); connection.createStatement(source()); // $ sqlInjection batch.add(source()); // $ sqlInjection + connection.createSavepoint(source()); // $ sqlInjection + connection.releaseSavepoint(source()); // $ sqlInjection + connection.rollbackTransactionToSavepoint(source()); // $ sqlInjection + connection.createStatement("INSERT INTO test VALUES (1)") + .returnGeneratedValues(source()); // $ sqlInjection } } \ No newline at end of file diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Connection.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Connection.java index 76a2c0076236..0269be9693c5 100644 --- a/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Connection.java +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Connection.java @@ -2,4 +2,10 @@ public interface Connection { Statement createStatement(String sql); + + void createSavepoint(String name); + + void releaseSavepoint(String name); + + void rollbackTransactionToSavepoint(String name); } diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Statement.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Statement.java index 6080305243b7..216629d0dad3 100644 --- a/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Statement.java +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/io/r2dbc/spi/Statement.java @@ -1,4 +1,5 @@ package io.r2dbc.spi; public interface Statement { + Statement returnGeneratedValues(String... columns); } From 69e4a8fe646b3fd451e30af8e694246e7afadce2 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Thu, 30 Jul 2026 12:40:52 +0200 Subject: [PATCH 054/190] Ruby: Fix ExprReturnNode to handle Rescue, Ensure, and Else. --- .../dataflow/internal/DataFlowPrivate.qll | 28 ++++++++++++------- .../implicit-return/implicit-return.expected | 20 +++++++++++++ .../implicit-return/implicit_return.rb | 10 +++---- 3 files changed, 43 insertions(+), 15 deletions(-) diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll index 9f3042ebb5b7..466b08922819 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll @@ -1643,16 +1643,24 @@ private module ReturnNodes { } } - pragma[noinline] - private AstNode implicitReturn(Callable c, ExprNode n) { - exists(CfgNodes::ExprCfgNode en | - en = n.getExprNode() and - en.getASuccessor().(CfgNodes::AnnotatedExitNode).isNormal() and - n.(NodeImpl).getCfgScope() = c and - result = en.getExpr() - ) + private AstNode desugar(AstNode n) { + result = n.getDesugared() + or + not exists(n.getDesugared()) and + result = n + } + + private Expr getLast(StmtSequence s) { + result = getLast(s.(BodyStmt).getElse()) or - result = implicitReturn(c, n).getParent() + result = getLast(s.(BodyStmt).getARescue().getBody()) + or + not exists(s.(BodyStmt).getElse()) and + exists(Stmt last | last = s.getLastStmt() | + result = getLast(last) + or + result = last and not last instanceof StmtSequence + ) } /** @@ -1661,7 +1669,7 @@ private module ReturnNodes { * last thing that is evaluated in the body of the callable. */ class ExprReturnNode extends SourceReturnNode, ExprNode { - ExprReturnNode() { exists(Callable c | implicitReturn(c, this) = c.getBody().getAStmt()) } + ExprReturnNode() { this.getExprNode().getExpr() = desugar(getLast(any(Callable c).getBody())) } override ReturnKind getKindSource() { exists(CfgScope scope | scope = this.(NodeImpl).getCfgScope() | diff --git a/ruby/ql/test/library-tests/dataflow/implicit-return/implicit-return.expected b/ruby/ql/test/library-tests/dataflow/implicit-return/implicit-return.expected index 979cc77777b7..631423bedd17 100644 --- a/ruby/ql/test/library-tests/dataflow/implicit-return/implicit-return.expected +++ b/ruby/ql/test/library-tests/dataflow/implicit-return/implicit-return.expected @@ -1,10 +1,30 @@ models edges | implicit_return.rb:12:3:12:11 | call to source | implicit_return.rb:15:6:15:11 | call to m_body | provenance | | +| implicit_return.rb:19:3:19:11 | call to source | implicit_return.rb:24:6:24:18 | call to m_body_ensure | provenance | | +| implicit_return.rb:30:3:30:11 | call to source | implicit_return.rb:33:6:33:13 | call to m_rescue | provenance | | +| implicit_return.rb:39:3:39:11 | call to source | implicit_return.rb:44:6:44:20 | call to m_rescue_ensure | provenance | | +| implicit_return.rb:52:3:52:11 | call to source | implicit_return.rb:55:6:55:11 | call to m_else | provenance | | +| implicit_return.rb:63:3:63:11 | call to source | implicit_return.rb:68:6:68:18 | call to m_else_ensure | provenance | | nodes | implicit_return.rb:12:3:12:11 | call to source | semmle.label | call to source | | implicit_return.rb:15:6:15:11 | call to m_body | semmle.label | call to m_body | +| implicit_return.rb:19:3:19:11 | call to source | semmle.label | call to source | +| implicit_return.rb:24:6:24:18 | call to m_body_ensure | semmle.label | call to m_body_ensure | +| implicit_return.rb:30:3:30:11 | call to source | semmle.label | call to source | +| implicit_return.rb:33:6:33:13 | call to m_rescue | semmle.label | call to m_rescue | +| implicit_return.rb:39:3:39:11 | call to source | semmle.label | call to source | +| implicit_return.rb:44:6:44:20 | call to m_rescue_ensure | semmle.label | call to m_rescue_ensure | +| implicit_return.rb:52:3:52:11 | call to source | semmle.label | call to source | +| implicit_return.rb:55:6:55:11 | call to m_else | semmle.label | call to m_else | +| implicit_return.rb:63:3:63:11 | call to source | semmle.label | call to source | +| implicit_return.rb:68:6:68:18 | call to m_else_ensure | semmle.label | call to m_else_ensure | subpaths testFailures #select | implicit_return.rb:15:6:15:11 | call to m_body | implicit_return.rb:12:3:12:11 | call to source | implicit_return.rb:15:6:15:11 | call to m_body | $@ | implicit_return.rb:12:3:12:11 | call to source | call to source | +| implicit_return.rb:24:6:24:18 | call to m_body_ensure | implicit_return.rb:19:3:19:11 | call to source | implicit_return.rb:24:6:24:18 | call to m_body_ensure | $@ | implicit_return.rb:19:3:19:11 | call to source | call to source | +| implicit_return.rb:33:6:33:13 | call to m_rescue | implicit_return.rb:30:3:30:11 | call to source | implicit_return.rb:33:6:33:13 | call to m_rescue | $@ | implicit_return.rb:30:3:30:11 | call to source | call to source | +| implicit_return.rb:44:6:44:20 | call to m_rescue_ensure | implicit_return.rb:39:3:39:11 | call to source | implicit_return.rb:44:6:44:20 | call to m_rescue_ensure | $@ | implicit_return.rb:39:3:39:11 | call to source | call to source | +| implicit_return.rb:55:6:55:11 | call to m_else | implicit_return.rb:52:3:52:11 | call to source | implicit_return.rb:55:6:55:11 | call to m_else | $@ | implicit_return.rb:52:3:52:11 | call to source | call to source | +| implicit_return.rb:68:6:68:18 | call to m_else_ensure | implicit_return.rb:63:3:63:11 | call to source | implicit_return.rb:68:6:68:18 | call to m_else_ensure | $@ | implicit_return.rb:63:3:63:11 | call to source | call to source | diff --git a/ruby/ql/test/library-tests/dataflow/implicit-return/implicit_return.rb b/ruby/ql/test/library-tests/dataflow/implicit-return/implicit_return.rb index 2ea215902f02..3ff507723ff1 100644 --- a/ruby/ql/test/library-tests/dataflow/implicit-return/implicit_return.rb +++ b/ruby/ql/test/library-tests/dataflow/implicit-return/implicit_return.rb @@ -21,7 +21,7 @@ def m_body_ensure source(20) end -sink(m_body_ensure) # $ MISSING: hasValueFlow=2 +sink(m_body_ensure) # $ hasValueFlow=2 # Implicit return from a `rescue` clause. def m_rescue @@ -30,7 +30,7 @@ def m_rescue source(3) end -sink(m_rescue) # $ MISSING: hasValueFlow=3 +sink(m_rescue) # $ hasValueFlow=3 # Implicit return from a `rescue` clause when an `ensure` clause is present. def m_rescue_ensure @@ -41,7 +41,7 @@ def m_rescue_ensure source(40) end -sink(m_rescue_ensure) # $ MISSING: hasValueFlow=4 +sink(m_rescue_ensure) # $ hasValueFlow=4 # Implicit return from an `else` clause. def m_else @@ -52,7 +52,7 @@ def m_else source(5) end -sink(m_else) # $ MISSING: hasValueFlow=5 +sink(m_else) # $ hasValueFlow=5 # Implicit return from an `else` clause when an `ensure` clause is present. def m_else_ensure @@ -65,4 +65,4 @@ def m_else_ensure nil end -sink(m_else_ensure) # $ MISSING: hasValueFlow=6 +sink(m_else_ensure) # $ hasValueFlow=6 From cea1106a50759fb2576842e723805b5b4956fe27 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 11:45:33 +0200 Subject: [PATCH 055/190] unified: Fix extraction of type parameter bounds and constraints --- .../extractor/src/languages/swift/swift.rs | 50 ++++++++++ ...ic-class-parameters-and-constraints.output | 94 +++++++++++++++++++ ...ric-class-parameters-and-constraints.swift | 2 + 3 files changed, 146 insertions(+) create mode 100644 unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.output create mode 100644 unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.swift diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index 000601b7215c..407f36bea2ba 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -1065,19 +1065,51 @@ fn translation_rules() -> Vec> { // A nominal type's `inheritanceClause` (`: Base, Proto`) becomes a list // of `base_type`s, one per inherited type. Each declaration keyword // gets its own rule; the bodies are identical but for the keyword. + rule!( + (genericParameter + attributes: _* @attrs + specifier: _? @@spec + name: @@name + inheritedType: _? @bound) + => + (type_parameter + modifier: {attrs} + modifier: (modifier #{spec})? + name: (identifier #{name}) + bound: {bound}) + ), + rule!( + (genericRequirement + requirement: (conformanceRequirement leftType: @ty rightType: @bound)) + => + (bound_type_constraint type: {ty} bound: {bound}) + ), + rule!( + (genericRequirement + requirement: (sameTypeRequirement leftType: @left rightType: @right)) + => + (equality_type_constraint left: {left} right: {right}) + ), // Class declaration with body containing members rule!( (classDecl classKeyword: @kind modifiers: _* @mods name: @name + genericParameterClause: (genericParameterClause + parameters: _* @params + genericWhereClause: (genericWhereClause requirements: _* @parameter_constraints)?)? inheritanceClause: (inheritanceClause inheritedTypes: (inheritedType type: @bases)*)? + genericWhereClause: (genericWhereClause requirements: _* @declaration_constraints)? memberBlock: (memberBlock members: _* @members)) => (class_like_declaration modifier: (modifier #{kind}) modifier: {mods} name: (identifier #{name}) + type_parameter: {params} + type_constraint: {parameter_constraints} + type_constraint: {declaration_constraints} base_type: {bases.into_iter().map(|ty| tree!((base_type type: {ty})))} member: {members}) ), @@ -1087,13 +1119,20 @@ fn translation_rules() -> Vec> { enumKeyword: @kind modifiers: _* @mods name: @name + genericParameterClause: (genericParameterClause + parameters: _* @params + genericWhereClause: (genericWhereClause requirements: _* @parameter_constraints)?)? inheritanceClause: (inheritanceClause inheritedTypes: (inheritedType type: @bases)*)? + genericWhereClause: (genericWhereClause requirements: _* @declaration_constraints)? memberBlock: (memberBlock members: _* @members)) => (class_like_declaration modifier: (modifier #{kind}) modifier: {mods} name: (identifier #{name}) + type_parameter: {params} + type_constraint: {parameter_constraints} + type_constraint: {declaration_constraints} base_type: {bases.into_iter().map(|ty| tree!((base_type type: {ty})))} member: {members}) ), @@ -1103,13 +1142,20 @@ fn translation_rules() -> Vec> { structKeyword: @kind modifiers: _* @mods name: @name + genericParameterClause: (genericParameterClause + parameters: _* @params + genericWhereClause: (genericWhereClause requirements: _* @parameter_constraints)?)? inheritanceClause: (inheritanceClause inheritedTypes: (inheritedType type: @bases)*)? + genericWhereClause: (genericWhereClause requirements: _* @declaration_constraints)? memberBlock: (memberBlock members: _* @members)) => (class_like_declaration modifier: (modifier #{kind}) modifier: {mods} name: (identifier #{name}) + type_parameter: {params} + type_constraint: {parameter_constraints} + type_constraint: {declaration_constraints} base_type: {bases.into_iter().map(|ty| tree!((base_type type: {ty})))} member: {members}) ), @@ -1119,13 +1165,17 @@ fn translation_rules() -> Vec> { protocolKeyword: @kind modifiers: _* @mods name: @name + genericParameterClause: (genericParameterClause parameters: _* @params)? inheritanceClause: (inheritanceClause inheritedTypes: (inheritedType type: @bases)*)? + genericWhereClause: (genericWhereClause requirements: _* @declaration_constraints)? memberBlock: (memberBlock members: _* @members)) => (class_like_declaration modifier: (modifier #{kind}) modifier: {mods} name: (identifier #{name}) + type_parameter: {params} + type_constraint: {declaration_constraints} base_type: {bases.into_iter().map(|ty| tree!((base_type type: {ty})))} member: {members}) ), diff --git a/unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.output b/unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.output new file mode 100644 index 000000000000..26b17599ae00 --- /dev/null +++ b/unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.output @@ -0,0 +1,94 @@ +class Box where U: Equatable, U == T { +} + +--- + +sourceFile + endOfFileToken: endOfFile + statements: + codeBlockItem + item: + classDecl + attributes: + name: identifier "Box" + genericParameterClause: + genericParameterClause + parameters: + genericParameter + colon: : + attributes: + name: identifier "T" + trailingComma: , + inheritedType: + identifierType + name: identifier "Equatable" + genericParameter + attributes: + name: identifier "U" + leftAngle: < + rightAngle: > + genericWhereClause: + genericWhereClause + requirements: + genericRequirement + trailingComma: , + requirement: + conformanceRequirement + colon: : + leftType: + identifierType + name: identifier "U" + rightType: + identifierType + name: identifier "Equatable" + genericRequirement + requirement: + sameTypeRequirement + equal: binaryOperator "==" + leftType: + identifierType + name: identifier "U" + rightType: + identifierType + name: identifier "T" + whereKeyword: where + memberBlock: + memberBlock + leftBrace: { + rightBrace: } + members: + modifiers: + classKeyword: class + +--- + +top_level + body: + block + stmt: + class_like_declaration + modifier: modifier "class" + name: identifier "Box" + type_parameter: + type_parameter + name: identifier "T" + bound: + named_type_expr + name: identifier "Equatable" + type_parameter + name: identifier "U" + type_constraint: + bound_type_constraint + type: + named_type_expr + name: identifier "U" + bound: + named_type_expr + name: identifier "Equatable" + equality_type_constraint + left: + named_type_expr + name: identifier "U" + right: + named_type_expr + name: identifier "T" diff --git a/unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.swift b/unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.swift new file mode 100644 index 000000000000..80c882308a51 --- /dev/null +++ b/unified/extractor/tests/corpus/swift/types/generic-class-parameters-and-constraints.swift @@ -0,0 +1,2 @@ +class Box where U: Equatable, U == T { +} From e0e3406dcd9b6042c82972d7920e2e4fdf3d1981 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 11:46:42 +0200 Subject: [PATCH 056/190] unified: Support . in name test annotations --- unified/ql/test/library-tests/variables/variables.ql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/ql/test/library-tests/variables/variables.ql b/unified/ql/test/library-tests/variables/variables.ql index cf653afebd9d..26d5913075e7 100644 --- a/unified/ql/test/library-tests/variables/variables.ql +++ b/unified/ql/test/library-tests/variables/variables.ql @@ -13,7 +13,7 @@ predicate plainCommentAt(string filepath, int line, string text) { predicate keyValueCommentAt(string filepath, int line, string key, string value) { exists(string text, string regexp, string match | plainCommentAt(filepath, line, text) and - regexp = "(\\w+)=(\\w+)" and + regexp = "(\\w+)=([\\w.]+)" and match = text.regexpFind(regexp, _, _) and key = match.regexpCapture(regexp, 1) and value = match.regexpCapture(regexp, 2) From eef277aafbc4cdab0aca5d67e1b5fb166e04be77 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 11:47:00 +0200 Subject: [PATCH 057/190] unified: Add more local name binding test cases --- .../library-tests/variables/class_scope.swift | 73 +++++++++++++++++++ .../test/library-tests/variables/test.swift | 2 +- .../library-tests/variables/top_level.swift | 17 +++++ 3 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 unified/ql/test/library-tests/variables/class_scope.swift create mode 100644 unified/ql/test/library-tests/variables/top_level.swift diff --git a/unified/ql/test/library-tests/variables/class_scope.swift b/unified/ql/test/library-tests/variables/class_scope.swift new file mode 100644 index 000000000000..a4a85d23f084 --- /dev/null +++ b/unified/ql/test/library-tests/variables/class_scope.swift @@ -0,0 +1,73 @@ +class A { + static func static_before() { + print(staticVar) // $ access=staticVar + B(); // $ access=A.B + let b: B = nil // $ access=A.B + let c: C = nil // $ access=A.C + } + func instance_before() { + print(instanceVar) // $ access=instanceVar + B(); // $ access=A.B + let b: B = nil // $ access=A.B + let c: C = nil // $ access=A.C + } + + private static let staticVar = 123 + private let instanceVar = 456 + + class B {} // name=A.B + typealias C = B // $ access=A.B // name=A.C + + static func static_after() { + print(staticVar) // $ access=staticVar + B(); // $ access=A.B + let b: B = nil // $ access=A.B + let c: C = nil // $ access=A.C + + } + func instance_after() { + print(instanceVar) // $ access=instanceVar + B(); // $ access=A.B + let b: B = nil // $ access=A.B + let c: C = nil // $ access=A.C + } +} + +class Base {} // name=top.Base + +// Base types and type parameter bounds can't see members in the class body +class C : Base { // $ access=top.Base + class Base {} // name=C.Base +} + +class D { // $ access=top.Base + class Base {} // name=D.Base +} + +class E where T : Base { // $ access=top.Base access=T + class Base {} // name=E.Base +} + +// Base types and type parameter bounds can see type parameters +class F : + D { // $ access=TypeParamF access=D +} + +class G> { // $ access=TypeParamG access=D +} + +class H where + TypeParamH : Base { // $ access=TypeParamH access=top.Base +} + +// Type parameter bounds can see other type parameters, even if declared later +class I< + T1 : D, // $ access=D access=I.T2 + T2> { // name=I.T2 +} + +// Members can see type parameters. +class J { + let x: TypeParamI; // $ access=TypeParamI +} diff --git a/unified/ql/test/library-tests/variables/test.swift b/unified/ql/test/library-tests/variables/test.swift index e4280dc5b408..b5d0469e8a44 100644 --- a/unified/ql/test/library-tests/variables/test.swift +++ b/unified/ql/test/library-tests/variables/test.swift @@ -343,7 +343,7 @@ enum E38 { } // Switch with a multi-pattern case that binds 'x' in each pattern -func t38(value: E38) { +func t38(value: E38) { // $ access=E38 switch value { // $ access=value case .a(let x), // $ access=x1 // name=x1 .b(let x): // $ access=x1 diff --git a/unified/ql/test/library-tests/variables/top_level.swift b/unified/ql/test/library-tests/variables/top_level.swift new file mode 100644 index 000000000000..a7ea16ef10b8 --- /dev/null +++ b/unified/ql/test/library-tests/variables/top_level.swift @@ -0,0 +1,17 @@ +func use_before() { + print(x) // $ access=top.x + B(); // $ access=top.B + let b: B = nil // $ access=top.B + let c: C = nil // $ access=top.C +} + +let x = 123 // name=top.x +class B {} // name=top.B +typealias C = B // $ access=top.B // name=top.C + +func use_after() { + print(x) // $ access=top.x + B(); // $ access=top.B + let b: B = nil // $ access=top.B + let c: C = nil // $ access=top.C +} From 3b51c4ce97d44606ace08c5222d1c26bb6bc42b9 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 11:59:40 +0200 Subject: [PATCH 058/190] unified: add MISSING annotations --- .../library-tests/variables/class_scope.swift | 50 +++++++++---------- .../test/library-tests/variables/test.swift | 2 +- .../library-tests/variables/top_level.swift | 16 +++--- 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/unified/ql/test/library-tests/variables/class_scope.swift b/unified/ql/test/library-tests/variables/class_scope.swift index a4a85d23f084..275c484fb8ac 100644 --- a/unified/ql/test/library-tests/variables/class_scope.swift +++ b/unified/ql/test/library-tests/variables/class_scope.swift @@ -1,73 +1,73 @@ class A { static func static_before() { - print(staticVar) // $ access=staticVar - B(); // $ access=A.B - let b: B = nil // $ access=A.B - let c: C = nil // $ access=A.C + print(staticVar) // $ MISSING: access=staticVar + B(); // $ MISSING: access=A.B + let b: B = nil // $ MISSING: access=A.B + let c: C = nil // $ MISSING: access=A.C } func instance_before() { - print(instanceVar) // $ access=instanceVar - B(); // $ access=A.B - let b: B = nil // $ access=A.B - let c: C = nil // $ access=A.C + print(instanceVar) // $ MISSING: access=instanceVar + B(); // $ MISSING: access=A.B + let b: B = nil // $ MISSING: access=A.B + let c: C = nil // $ MISSING: access=A.C } private static let staticVar = 123 private let instanceVar = 456 class B {} // name=A.B - typealias C = B // $ access=A.B // name=A.C + typealias C = B // $ MISSING: access=A.B // name=A.C static func static_after() { - print(staticVar) // $ access=staticVar - B(); // $ access=A.B - let b: B = nil // $ access=A.B - let c: C = nil // $ access=A.C + print(staticVar) // $ MISSING: access=staticVar + B(); // $ MISSING: access=A.B + let b: B = nil // $ MISSING: access=A.B + let c: C = nil // $ MISSING: access=A.C } func instance_after() { - print(instanceVar) // $ access=instanceVar - B(); // $ access=A.B - let b: B = nil // $ access=A.B - let c: C = nil // $ access=A.C + print(instanceVar) // $ MISSING: access=instanceVar + B(); // $ MISSING: access=A.B + let b: B = nil // $ MISSING: access=A.B + let c: C = nil // $ MISSING: access=A.C } } class Base {} // name=top.Base // Base types and type parameter bounds can't see members in the class body -class C : Base { // $ access=top.Base +class C : Base { // $ MISSING: access=top.Base class Base {} // name=C.Base } -class D { // $ access=top.Base +class D { // $ MISSING: access=top.Base class Base {} // name=D.Base } -class E where T : Base { // $ access=top.Base access=T +class E where T : Base { // $ MISSING: access=T access=top.Base class Base {} // name=E.Base } // Base types and type parameter bounds can see type parameters class F : - D { // $ access=TypeParamF access=D + D { // $ MISSING: access=D access=TypeParamF } class G> { // $ access=TypeParamG access=D + D> { // $ MISSING: access=D access=TypeParamG } class H where - TypeParamH : Base { // $ access=TypeParamH access=top.Base + TypeParamH : Base { // $ MISSING: access=TypeParamH access=top.Base } // Type parameter bounds can see other type parameters, even if declared later class I< - T1 : D, // $ access=D access=I.T2 + T1 : D, // $ MISSING: access=D access=I.T2 T2> { // name=I.T2 } // Members can see type parameters. class J { - let x: TypeParamI; // $ access=TypeParamI + let x: TypeParamI; // $ MISSING: access=TypeParamI } diff --git a/unified/ql/test/library-tests/variables/test.swift b/unified/ql/test/library-tests/variables/test.swift index b5d0469e8a44..37ba0f5282eb 100644 --- a/unified/ql/test/library-tests/variables/test.swift +++ b/unified/ql/test/library-tests/variables/test.swift @@ -343,7 +343,7 @@ enum E38 { } // Switch with a multi-pattern case that binds 'x' in each pattern -func t38(value: E38) { // $ access=E38 +func t38(value: E38) { // $ MISSING: access=E38 switch value { // $ access=value case .a(let x), // $ access=x1 // name=x1 .b(let x): // $ access=x1 diff --git a/unified/ql/test/library-tests/variables/top_level.swift b/unified/ql/test/library-tests/variables/top_level.swift index a7ea16ef10b8..9489b950d4f3 100644 --- a/unified/ql/test/library-tests/variables/top_level.swift +++ b/unified/ql/test/library-tests/variables/top_level.swift @@ -1,17 +1,17 @@ func use_before() { - print(x) // $ access=top.x - B(); // $ access=top.B - let b: B = nil // $ access=top.B - let c: C = nil // $ access=top.C + print(x) // $ MISSING: access=top.x + B(); // $ MISSING: access=top.B + let b: B = nil // $ MISSING: access=top.B + let c: C = nil // $ MISSING: access=top.C } let x = 123 // name=top.x class B {} // name=top.B -typealias C = B // $ access=top.B // name=top.C +typealias C = B // $ MISSING: access=top.B // name=top.C func use_after() { print(x) // $ access=top.x - B(); // $ access=top.B - let b: B = nil // $ access=top.B - let c: C = nil // $ access=top.C + B(); // $ MISSING: access=top.B + let b: B = nil // $ MISSING: access=top.B + let c: C = nil // $ MISSING: access=top.C } From 7d1b1e47511609656f89903e7d705a37a7c13348 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 11:47:25 +0200 Subject: [PATCH 059/190] unified: Track more kinds of names as local variables --- .../lib/codeql/unified/internal/AstExtra.qll | 5 ++ .../lib/codeql/unified/internal/Variables.qll | 60 ++++++++++++++++--- .../library-tests/variables/class_scope.swift | 50 ++++++++-------- .../test/library-tests/variables/test.swift | 2 +- .../library-tests/variables/top_level.swift | 16 ++--- 5 files changed, 91 insertions(+), 42 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/AstExtra.qll b/unified/ql/lib/codeql/unified/internal/AstExtra.qll index e14043dc46d2..378712b86cb9 100644 --- a/unified/ql/lib/codeql/unified/internal/AstExtra.qll +++ b/unified/ql/lib/codeql/unified/internal/AstExtra.qll @@ -52,4 +52,9 @@ module Public { result = this.getValue().regexpCapture("(?s)/\\*(.*)\\*/", 1) } } + + /** A `Stmt` at the top-level. */ + final class TopLevelStmt extends Stmt { + TopLevelStmt() { this = any(TopLevel t).getBody().getAStmt() } + } } diff --git a/unified/ql/lib/codeql/unified/internal/Variables.qll b/unified/ql/lib/codeql/unified/internal/Variables.qll index 49cad56d05db..7a05ce409e6f 100644 --- a/unified/ql/lib/codeql/unified/internal/Variables.qll +++ b/unified/ql/lib/codeql/unified/internal/Variables.qll @@ -130,6 +130,8 @@ private module LocalNameBindingInput implements LocalNameBindingInputSig { // $ MISSING: access=top.Base +class D { // $ MISSING: access=top.Base SPURIOUS: access=D.Base class Base {} // name=D.Base } -class E where T : Base { // $ MISSING: access=T access=top.Base +class E where T : Base { // $ access=T MISSING: access=top.Base SPURIOUS: access=E.Base class Base {} // name=E.Base } // Base types and type parameter bounds can see type parameters class F : - D { // $ MISSING: access=D access=TypeParamF + D { // $ access=D access=TypeParamF } class G> { // $ MISSING: access=D access=TypeParamG + D> { // $ access=D access=TypeParamG } class H where - TypeParamH : Base { // $ MISSING: access=TypeParamH access=top.Base + TypeParamH : Base { // $ access=TypeParamH access=top.Base } // Type parameter bounds can see other type parameters, even if declared later class I< - T1 : D, // $ MISSING: access=D access=I.T2 + T1 : D, // $ access=D access=I.T2 T2> { // name=I.T2 } // Members can see type parameters. class J { - let x: TypeParamI; // $ MISSING: access=TypeParamI + let x: TypeParamI; // $ access=TypeParamI } diff --git a/unified/ql/test/library-tests/variables/test.swift b/unified/ql/test/library-tests/variables/test.swift index 37ba0f5282eb..b5d0469e8a44 100644 --- a/unified/ql/test/library-tests/variables/test.swift +++ b/unified/ql/test/library-tests/variables/test.swift @@ -343,7 +343,7 @@ enum E38 { } // Switch with a multi-pattern case that binds 'x' in each pattern -func t38(value: E38) { // $ MISSING: access=E38 +func t38(value: E38) { // $ access=E38 switch value { // $ access=value case .a(let x), // $ access=x1 // name=x1 .b(let x): // $ access=x1 diff --git a/unified/ql/test/library-tests/variables/top_level.swift b/unified/ql/test/library-tests/variables/top_level.swift index 9489b950d4f3..a7ea16ef10b8 100644 --- a/unified/ql/test/library-tests/variables/top_level.swift +++ b/unified/ql/test/library-tests/variables/top_level.swift @@ -1,17 +1,17 @@ func use_before() { - print(x) // $ MISSING: access=top.x - B(); // $ MISSING: access=top.B - let b: B = nil // $ MISSING: access=top.B - let c: C = nil // $ MISSING: access=top.C + print(x) // $ access=top.x + B(); // $ access=top.B + let b: B = nil // $ access=top.B + let c: C = nil // $ access=top.C } let x = 123 // name=top.x class B {} // name=top.B -typealias C = B // $ MISSING: access=top.B // name=top.C +typealias C = B // $ access=top.B // name=top.C func use_after() { print(x) // $ access=top.x - B(); // $ MISSING: access=top.B - let b: B = nil // $ MISSING: access=top.B - let c: C = nil // $ MISSING: access=top.C + B(); // $ access=top.B + let b: B = nil // $ access=top.B + let c: C = nil // $ access=top.C } From 5d851e4d7ac2f35979431a50203e07cb6f34a955 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 11:47:25 +0200 Subject: [PATCH 060/190] unified: More precise scoping inside classes --- .../ql/lib/codeql/unified/internal/Variables.qll | 15 +++++++++++++++ .../library-tests/variables/class_scope.swift | 6 +++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/Variables.qll b/unified/ql/lib/codeql/unified/internal/Variables.qll index 7a05ce409e6f..7151b17ad3c3 100644 --- a/unified/ql/lib/codeql/unified/internal/Variables.qll +++ b/unified/ql/lib/codeql/unified/internal/Variables.qll @@ -90,6 +90,20 @@ private module LocalNameBindingInput implements LocalNameBindingInputSig { // $ MISSING: access=top.Base SPURIOUS: access=D.Base +class D { // $ access=top.Base class Base {} // name=D.Base } -class E where T : Base { // $ access=T MISSING: access=top.Base SPURIOUS: access=E.Base +class E where T : Base { // $ access=T access=top.Base class Base {} // name=E.Base } From 3e25c6aaf3e483c3431fdb8e426b31306cf8e565 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 11:28:10 +0200 Subject: [PATCH 061/190] unified: Rename Variables.qll -> LocalNameBinding.qll --- .../unified/internal/{Variables.qll => LocalNameBinding.qll} | 0 unified/ql/lib/unified.qll | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename unified/ql/lib/codeql/unified/internal/{Variables.qll => LocalNameBinding.qll} (100%) diff --git a/unified/ql/lib/codeql/unified/internal/Variables.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll similarity index 100% rename from unified/ql/lib/codeql/unified/internal/Variables.qll rename to unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll diff --git a/unified/ql/lib/unified.qll b/unified/ql/lib/unified.qll index fad4b3ef9e67..67d6ce7558ea 100644 --- a/unified/ql/lib/unified.qll +++ b/unified/ql/lib/unified.qll @@ -6,4 +6,4 @@ import codeql.Locations import codeql.files.FileSystem import codeql.unified.internal.Ast::UnifiedFinal import codeql.unified.internal.AstExtra::Public -import codeql.unified.internal.Variables::Public +import codeql.unified.internal.LocalNameBinding::Public From 6df74d7c3e6c0e2d2420bbda6dcc45ef61d50b93 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 11:30:12 +0200 Subject: [PATCH 062/190] unified: Rename 'variables' test --- .../{variables => local-name-binding}/class_scope.swift | 0 .../variables.expected => local-name-binding/test.expected} | 0 .../{variables/variables.ql => local-name-binding/test.ql} | 0 .../library-tests/{variables => local-name-binding}/test.swift | 0 .../{variables => local-name-binding}/top_level.swift | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename unified/ql/test/library-tests/{variables => local-name-binding}/class_scope.swift (100%) rename unified/ql/test/library-tests/{variables/variables.expected => local-name-binding/test.expected} (100%) rename unified/ql/test/library-tests/{variables/variables.ql => local-name-binding/test.ql} (100%) rename unified/ql/test/library-tests/{variables => local-name-binding}/test.swift (100%) rename unified/ql/test/library-tests/{variables => local-name-binding}/top_level.swift (100%) diff --git a/unified/ql/test/library-tests/variables/class_scope.swift b/unified/ql/test/library-tests/local-name-binding/class_scope.swift similarity index 100% rename from unified/ql/test/library-tests/variables/class_scope.swift rename to unified/ql/test/library-tests/local-name-binding/class_scope.swift diff --git a/unified/ql/test/library-tests/variables/variables.expected b/unified/ql/test/library-tests/local-name-binding/test.expected similarity index 100% rename from unified/ql/test/library-tests/variables/variables.expected rename to unified/ql/test/library-tests/local-name-binding/test.expected diff --git a/unified/ql/test/library-tests/variables/variables.ql b/unified/ql/test/library-tests/local-name-binding/test.ql similarity index 100% rename from unified/ql/test/library-tests/variables/variables.ql rename to unified/ql/test/library-tests/local-name-binding/test.ql diff --git a/unified/ql/test/library-tests/variables/test.swift b/unified/ql/test/library-tests/local-name-binding/test.swift similarity index 100% rename from unified/ql/test/library-tests/variables/test.swift rename to unified/ql/test/library-tests/local-name-binding/test.swift diff --git a/unified/ql/test/library-tests/variables/top_level.swift b/unified/ql/test/library-tests/local-name-binding/top_level.swift similarity index 100% rename from unified/ql/test/library-tests/variables/top_level.swift rename to unified/ql/test/library-tests/local-name-binding/top_level.swift From 686a07d7a5dd47ec5bcdbf2ef562bc236560933e Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 11:24:45 +0200 Subject: [PATCH 063/190] unified: Rename 'Variable' API to use LocalName terminology These can also refer to type names and module names, so 'Variable' is not an appropriate term. Actual variables will be introduced at a later stage. --- .../unified/internal/LocalNameBinding.qll | 54 +++++++++++++------ .../library-tests/local-name-binding/test.ql | 13 ++--- 2 files changed, 44 insertions(+), 23 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index 7151b17ad3c3..3f84fe4fcdcb 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -311,26 +311,46 @@ module LocalNameBindingOutput = LocalNameBinding -private Variable getVariableAt(string name, string filepath, int line) { +private LocalName getVariableAt(string name, string filepath, int line) { VariableAccessTest::declAt(result, filepath, line) and result.getName() = name } -query predicate ambiguousVariable(Variable v, string name, string filepath, int line) { +query predicate ambiguousVariable(LocalName v, string name, string filepath, int line) { v = getVariableAt(name, filepath, line) and strictcount(getVariableAt(name, filepath, line)) >= 2 } From a5faaefa53d8142982f8806763531aa882af1938 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 13:32:34 +0200 Subject: [PATCH 064/190] unified: Two refactorings - Use PotentialLocalNameAccess to define accessCand(), not the other way around - Use the Identifier as the definingNode, not wrappers like NameExpr --- .../unified/internal/LocalNameBinding.qll | 57 +++++++++---------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index 3f84fe4fcdcb..8ab88b12352b 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -251,6 +251,11 @@ private module LocalNameBindingInput implements LocalNameBindingInputSig; @@ -329,7 +325,7 @@ module Public { } /** - * An AST node that is a possibly reference to a local name, but could also refer to a member + * An identifier node that is a possibly reference to a local name, but could also refer to a member * visible through imports or inheritance. * * For example, the type annotation `C` below is a potential access to `class C`, but could @@ -341,16 +337,19 @@ module Public { * } * ``` */ -class PotentialLocalNameAccess extends LocalNameBindingOutput::LocalAccess { - LocalName getLocalName() { result = super.getLocal() } - - Identifier getIdentifier() { - result = this.(NameExpr).getIdentifier() +class PotentialLocalNameAccess extends Identifier { + PotentialLocalNameAccess() { + this = any(NameExpr e).getIdentifier() + or + this = any(NamePattern e).getIdentifier() or - result = this.(NamePattern).getIdentifier() + this = any(NamedTypeExpr e | not exists(e.getQualifier())).getName() or - result = this + this = any(FunctionDeclaration f).getName() + // TODO: include other declaration kinds here } - string getName() { result = this.getIdentifier().getValue() } + LocalName getLocalName() { result = this.(LocalNameBindingOutput::LocalAccess).getLocal() } + + string getName() { result = this.getValue() } } From 179ae25ab83948842f9703867f0876d37743c4e0 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 13:39:29 +0200 Subject: [PATCH 065/190] unified: Also include declaration site access --- .../ql/lib/codeql/unified/internal/LocalNameBinding.qll | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index 8ab88b12352b..6fb4f2fa2ab5 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -184,7 +184,7 @@ private module LocalNameBindingInput implements LocalNameBindingInputSig Date: Wed, 5 Aug 2026 14:16:23 +0200 Subject: [PATCH 066/190] unified: Replace getDefiningNode() with isDeclarationSite() --- .../ql/lib/codeql/unified/internal/LocalNameBinding.qll | 3 --- unified/ql/test/library-tests/local-name-binding/test.ql | 7 ++++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index 6fb4f2fa2ab5..5e60e005df39 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -316,9 +316,6 @@ module Public { /** Gets the location of this local name's first declaration */ Location getLocation() { result = super.getLocation() } - /** Gets the AST node defining this local name. */ - AstNode getDefiningNode() { result = super.getDefiningNode() } - /** Gets the name of this local, as a string. */ string getName() { result = super.getName() } } diff --git a/unified/ql/test/library-tests/local-name-binding/test.ql b/unified/ql/test/library-tests/local-name-binding/test.ql index 61fb9520e7df..0fcae36dd31e 100644 --- a/unified/ql/test/library-tests/local-name-binding/test.ql +++ b/unified/ql/test/library-tests/local-name-binding/test.ql @@ -37,10 +37,15 @@ module VariableAccessTest implements TestSig { ) } + private PotentialLocalNameAccess getUniqueDeclarationSite(LocalName name) { + result = + unique(PotentialLocalNameAccess ac | ac.isDeclarationSite() and ac.getLocalName() = name) + } + predicate hasActualResult(Location location, string element, string tag, string value) { exists(PotentialLocalNameAccess va, LocalName v | v = va.getLocalName() and - not va = v.getDefiningNode() and + not va = getUniqueDeclarationSite(v) and // no need to annotate declaration site, if there is only one location = va.getLocation() and element = va.toString() and decl(v, value) and From 012b1ae9d7ce11e4a9b2fcfc591f0235822ec6f4 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 14:17:16 +0200 Subject: [PATCH 067/190] unified: Minor doc comment update --- unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index 5e60e005df39..c978eccff0ac 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -1,5 +1,5 @@ /** - * Provides classes for reasoning about lexically scoped variables and references to these. + * Provides classes for reasoning about lexically scoped names and references to these. */ private import unified From a3a54c358b9048e5ba2cc9b621ea53d98846e2f5 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 14:29:21 +0200 Subject: [PATCH 068/190] unified: fix typo --- unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index c978eccff0ac..8c78a187b766 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -322,7 +322,7 @@ module Public { } /** - * An identifier node that is a possibly reference to a local name, but could also refer to a member + * An identifier node that is possibly a reference to a local name, but could also refer to a member * visible through imports or inheritance. * * For example, the type annotation `C` below is a potential access to `class C`, but could From 6e89c7b8f1d2435904d791c51d5a85f02d056d34 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 15:11:33 +0200 Subject: [PATCH 069/190] unified: Add mappings for type parameters on functions and type aliases --- .../extractor/src/languages/swift/swift.rs | 6 ++ .../swift/functions/generic-function.output | 3 + .../swift/functions/generic-type-alias.output | 77 +++++++++++++++++++ .../swift/functions/generic-type-alias.swift | 1 + 4 files changed, 87 insertions(+) create mode 100644 unified/extractor/tests/corpus/swift/functions/generic-type-alias.output create mode 100644 unified/extractor/tests/corpus/swift/functions/generic-type-alias.swift diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index 407f36bea2ba..1a355aaffb85 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -568,6 +568,7 @@ fn translation_rules() -> Vec> { rule!( (functionDecl name: @name + genericParameterClause: (genericParameterClause parameters: _* @type_params)? signature: (functionSignature parameterClause: (functionParameterClause parameters: _* @params) returnClause: (returnClause type: @ret)?) @@ -575,6 +576,7 @@ fn translation_rules() -> Vec> { => (function_declaration name: (identifier #{name}) + type_parameter: {type_params} parameter: {params} return_type: {ret} body: (block stmt: {body})) @@ -582,12 +584,14 @@ fn translation_rules() -> Vec> { rule!( (functionDecl name: @name + genericParameterClause: (genericParameterClause parameters: _* @type_params)? signature: (functionSignature parameterClause: (functionParameterClause parameters: _* @params) returnClause: (returnClause type: @ret)?)) => (function_declaration name: (identifier #{name}) + type_parameter: {type_params} parameter: {params} return_type: {ret} body: (block)) @@ -1230,11 +1234,13 @@ fn translation_rules() -> Vec> { (typeAliasDecl modifiers: _* @mods name: @@name + genericParameterClause: (genericParameterClause parameters: _* @type_params)? initializer: (typeInitializerClause value: @val)) => (type_alias_declaration modifier: {mods} name: (identifier #{name}) + type_parameter: {type_params} r#type: {val}) ), // Associated type declaration (with optional bound) diff --git a/unified/extractor/tests/corpus/swift/functions/generic-function.output b/unified/extractor/tests/corpus/swift/functions/generic-function.output index d09aac2744a2..dc7831410e23 100644 --- a/unified/extractor/tests/corpus/swift/functions/generic-function.output +++ b/unified/extractor/tests/corpus/swift/functions/generic-function.output @@ -65,6 +65,9 @@ top_level stmt: function_declaration name: identifier "identity" + type_parameter: + type_parameter + name: identifier "T" parameter: parameter external_name: identifier "_" diff --git a/unified/extractor/tests/corpus/swift/functions/generic-type-alias.output b/unified/extractor/tests/corpus/swift/functions/generic-type-alias.output new file mode 100644 index 000000000000..36737bd95bda --- /dev/null +++ b/unified/extractor/tests/corpus/swift/functions/generic-type-alias.output @@ -0,0 +1,77 @@ +typealias Box = Dictionary + +--- + +sourceFile + endOfFileToken: endOfFile + statements: + codeBlockItem + item: + typeAliasDecl + attributes: + name: identifier "Box" + genericParameterClause: + genericParameterClause + parameters: + genericParameter + colon: : + attributes: + name: identifier "T" + trailingComma: , + inheritedType: + identifierType + name: identifier "Equatable" + genericParameter + attributes: + name: identifier "U" + leftAngle: < + rightAngle: > + modifiers: + initializer: + typeInitializerClause + equal: = + value: + identifierType + name: identifier "Dictionary" + genericArgumentClause: + genericArgumentClause + arguments: + genericArgument + trailingComma: , + argument: + identifierType + name: identifier "T" + genericArgument + argument: + identifierType + name: identifier "U" + leftAngle: < + rightAngle: > + typealiasKeyword: typealias + +--- + +top_level + body: + block + stmt: + type_alias_declaration + name: identifier "Box" + type_parameter: + type_parameter + name: identifier "T" + bound: + named_type_expr + name: identifier "Equatable" + type_parameter + name: identifier "U" + type: + generic_type_expr + base: + named_type_expr + name: identifier "Dictionary" + type_argument: + named_type_expr + name: identifier "T" + named_type_expr + name: identifier "U" diff --git a/unified/extractor/tests/corpus/swift/functions/generic-type-alias.swift b/unified/extractor/tests/corpus/swift/functions/generic-type-alias.swift new file mode 100644 index 000000000000..831f552bab1a --- /dev/null +++ b/unified/extractor/tests/corpus/swift/functions/generic-type-alias.swift @@ -0,0 +1 @@ +typealias Box = Dictionary From 5a302d5e64b8922cd5b44eb32fb1df4c4b5e721a Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 15:14:41 +0200 Subject: [PATCH 070/190] unified: Add name binding tests --- .../library-tests/local-name-binding/class_scope.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/unified/ql/test/library-tests/local-name-binding/class_scope.swift b/unified/ql/test/library-tests/local-name-binding/class_scope.swift index d02ce69c8b53..e206aa0e5515 100644 --- a/unified/ql/test/library-tests/local-name-binding/class_scope.swift +++ b/unified/ql/test/library-tests/local-name-binding/class_scope.swift @@ -71,3 +71,11 @@ class I< class J { let x: TypeParamI; // $ access=TypeParamI } + +typealias Alias = + D; // $ access=D access=TypeParamAlias + +func foo(x: FooT) // $ access=FooT + -> D { // $ access=D access=FooT + let x: FooT = nil // $ access=FooT +} From 74e46ba70eeb634b7c6f205d80d2c5690faa4766 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 15:34:11 +0200 Subject: [PATCH 071/190] unified: Add mappings for constructor calls with generic arguments --- .../extractor/src/languages/swift/swift.rs | 14 +++ .../generic-specialization-expression.output | 9 +- ...onstructor-call-with-type-arguments.output | 106 ++++++++++++++++++ ...constructor-call-with-type-arguments.swift | 3 + 4 files changed, 131 insertions(+), 1 deletion(-) create mode 100644 unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.output create mode 100644 unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.swift diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index 1a355aaffb85..ccc1cc7f725d 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -185,6 +185,20 @@ fn translation_rules() -> Vec> { // the target AST has no expression-level discard (only `ignore_pattern`, // which is a pattern), so it becomes a `name_expr` over the `_` token. rule!((discardAssignmentExpr wildcard: @@w) => (name_expr identifier: (identifier #{w}))), + // A generic specialization in expression position (`C`, + // `Array`) is represented by swift-syntax as a + // `genericSpecializationExpr`. When used as a call target + // (`C()`), this should become a `call_expr` whose callee is a + // `generic_type_expr`, so we map it directly to that shape. + rule!( + (genericSpecializationExpr + expression: (declReferenceExpr baseName: @name) + genericArgumentClause: (genericArgumentClause arguments: (genericArgument argument: @args)*)) + => + (generic_type_expr + base: (named_type_expr name: (identifier #{name})) + type_argument: {args}) + ), // ---- Operators ---- // The parser front-end folds operator chains into nested // `infixOperatorExpr`s by precedence (see swift-syntax-rs), so diff --git a/unified/extractor/tests/corpus/swift/expressions/generic-specialization-expression.output b/unified/extractor/tests/corpus/swift/expressions/generic-specialization-expression.output index 4f3bd0214411..94cdf978b9d2 100644 --- a/unified/extractor/tests/corpus/swift/expressions/generic-specialization-expression.output +++ b/unified/extractor/tests/corpus/swift/expressions/generic-specialization-expression.output @@ -53,4 +53,11 @@ top_level identifier: identifier "numbers" value: call_expr - callee: unsupported_node "Array" + callee: + generic_type_expr + base: + named_type_expr + name: identifier "Array" + type_argument: + named_type_expr + name: identifier "Int" diff --git a/unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.output b/unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.output new file mode 100644 index 000000000000..37afdfa0d639 --- /dev/null +++ b/unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.output @@ -0,0 +1,106 @@ +class Foo {} +class C {} +let x = C() + +--- + +sourceFile + endOfFileToken: endOfFile + statements: + codeBlockItem + item: + classDecl + attributes: + name: identifier "Foo" + memberBlock: + memberBlock + leftBrace: { + rightBrace: } + members: + modifiers: + classKeyword: class + codeBlockItem + item: + classDecl + attributes: + name: identifier "C" + genericParameterClause: + genericParameterClause + parameters: + genericParameter + attributes: + name: identifier "T" + leftAngle: < + rightAngle: > + memberBlock: + memberBlock + leftBrace: { + rightBrace: } + members: + modifiers: + classKeyword: class + codeBlockItem + item: + variableDecl + attributes: + modifiers: + bindingSpecifier: let + bindings: + patternBinding + initializer: + initializerClause + equal: = + value: + functionCallExpr + leftParen: ( + rightParen: ) + arguments: + additionalTrailingClosures: + calledExpression: + genericSpecializationExpr + expression: + declReferenceExpr + baseName: identifier "C" + genericArgumentClause: + genericArgumentClause + arguments: + genericArgument + argument: + identifierType + name: identifier "Foo" + leftAngle: < + rightAngle: > + pattern: + identifierPattern + identifier: identifier "x" + +--- + +top_level + body: + block + stmt: + class_like_declaration + modifier: modifier "class" + name: identifier "Foo" + class_like_declaration + modifier: modifier "class" + name: identifier "C" + type_parameter: + type_parameter + name: identifier "T" + variable_declaration + modifier: modifier "let" + pattern: + name_pattern + identifier: identifier "x" + value: + call_expr + callee: + generic_type_expr + base: + named_type_expr + name: identifier "C" + type_argument: + named_type_expr + name: identifier "Foo" diff --git a/unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.swift b/unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.swift new file mode 100644 index 000000000000..c5a122cb3806 --- /dev/null +++ b/unified/extractor/tests/corpus/swift/functions/constructor-call-with-type-arguments.swift @@ -0,0 +1,3 @@ +class Foo {} +class C {} +let x = C() From aaa2c1c22f9de8652173e2698ea037cb04b32788 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 5 Aug 2026 15:35:04 +0200 Subject: [PATCH 072/190] unified: Add test with generic constructor call --- .../ql/test/library-tests/local-name-binding/class_scope.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/unified/ql/test/library-tests/local-name-binding/class_scope.swift b/unified/ql/test/library-tests/local-name-binding/class_scope.swift index e206aa0e5515..5e251b8e6a0d 100644 --- a/unified/ql/test/library-tests/local-name-binding/class_scope.swift +++ b/unified/ql/test/library-tests/local-name-binding/class_scope.swift @@ -78,4 +78,5 @@ typealias Alias = func foo(x: FooT) // $ access=FooT -> D { // $ access=D access=FooT let x: FooT = nil // $ access=FooT + return D() // $ access=D access=FooT } From 619ef2f2474bdc243715589a47f6fc8588a3dc74 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema <93738568+jketema@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:09:39 +0000 Subject: [PATCH 073/190] Unified: Factor out the supported platforms --- unified/platforms.bzl | 9 +++++++++ unified/swift-syntax-rs/BUILD.bazel | 23 +++++++---------------- 2 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 unified/platforms.bzl diff --git a/unified/platforms.bzl b/unified/platforms.bzl new file mode 100644 index 000000000000..29560c75b3c4 --- /dev/null +++ b/unified/platforms.bzl @@ -0,0 +1,9 @@ +"""Shared platform constraint for the unified extractor.""" + +# swift-syntax requires a Swift toolchain, which is only available +# through rules_swift. +UNIFIED_SUPPORTED_PLATFORMS = select({ + "@platforms//os:linux": [], + "@platforms//os:macos": [], + "//conditions:default": ["@platforms//:incompatible"], +}) diff --git a/unified/swift-syntax-rs/BUILD.bazel b/unified/swift-syntax-rs/BUILD.bazel index db451e5b7b9a..8f2a5886fd22 100644 --- a/unified/swift-syntax-rs/BUILD.bazel +++ b/unified/swift-syntax-rs/BUILD.bazel @@ -1,6 +1,7 @@ load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test") load("@rules_shell//shell:sh_binary.bzl", "sh_binary") load("//misc/bazel:pkg.bzl", "codeql_pkg_runfiles") +load("//unified:platforms.bzl", "UNIFIED_SUPPORTED_PLATFORMS") load(":swift_runtime.bzl", "swift_runtime_libs") load(":xcode_transition.bzl", "xcode_transition_swift_library") @@ -11,23 +12,13 @@ swift_runtime_libs( toolchain = "@swift_toolchain_ubuntu22.04//:files", ) -# Targets in this package require a Swift toolchain (Linux or macOS). -# `select()` gives us OR-of-OSes; other platforms get marked incompatible -# so `bazel build/test //...` skips them cleanly. -# -_SWIFT_SUPPORTED_PLATFORMS = select({ - "@platforms//os:linux": [], - "@platforms//os:macos": [], - "//conditions:default": ["@platforms//:incompatible"], -}) - # Swift FFI shim: wraps swift-syntax and exposes a small C ABI. The Rust # targets below link against its `CcInfo`. xcode_transition_swift_library( name = "swift_syntax_ffi", srcs = ["swift/Sources/SwiftSyntaxFFI/SwiftSyntaxFFI.swift"], module_name = "SwiftSyntaxFFI", - target_compatible_with = _SWIFT_SUPPORTED_PLATFORMS, + target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, deps = [ "@swift-syntax//:SwiftOperators", "@swift-syntax//:SwiftParser", @@ -44,7 +35,7 @@ rust_library( exclude = ["src/main.rs"], ), edition = "2024", - target_compatible_with = _SWIFT_SUPPORTED_PLATFORMS, + target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, deps = [ ":swift_syntax_ffi", ], @@ -68,7 +59,7 @@ rust_binary( "@platforms//os:linux": [":swift_runtime_libs"], }), edition = "2024", - target_compatible_with = _SWIFT_SUPPORTED_PLATFORMS, + target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, deps = [":swift_syntax_rs"], ) @@ -79,7 +70,7 @@ sh_binary( name = "swift-syntax-parse", srcs = ["swift-syntax-parse.sh"], data = [":swift-syntax-parse.real"], - target_compatible_with = _SWIFT_SUPPORTED_PLATFORMS, + target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, ) # Packaged form for the extractor pack: the wrapper (as `swift-syntax-parse`), @@ -90,7 +81,7 @@ codeql_pkg_runfiles( # original filename. excludes = ["swift-syntax-parse.sh"], exes = [":swift-syntax-parse"], - target_compatible_with = _SWIFT_SUPPORTED_PLATFORMS, + target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, visibility = ["//unified:__pkg__"], ) @@ -103,5 +94,5 @@ rust_test( "@platforms//os:linux": [":swift_runtime_libs"], }), edition = "2024", - target_compatible_with = _SWIFT_SUPPORTED_PLATFORMS, + target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, ) From 1d824fec58b97a2c7fd74c54bda0051d3011d935 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema <93738568+jketema@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:43:26 +0000 Subject: [PATCH 074/190] Unified: Add swift-syntax build dependency to the extractor --- Cargo.lock | 1 + unified/extractor/BUILD.bazel | 13 +++++++++++++ unified/extractor/Cargo.toml | 1 + 3 files changed, 15 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 24479c721561..bebfc2da57cc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -449,6 +449,7 @@ dependencies = [ "rayon", "regex", "serde_json", + "swift-syntax-rs", "tracing", "tracing-subscriber", "yeast", diff --git a/unified/extractor/BUILD.bazel b/unified/extractor/BUILD.bazel index 58b32d9fc5c3..dea196ada0e5 100644 --- a/unified/extractor/BUILD.bazel +++ b/unified/extractor/BUILD.bazel @@ -1,5 +1,12 @@ load("//misc/bazel:rust.bzl", "codeql_rust_binary") load("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl", "aliases", "all_crate_deps") +load("//unified:platforms.bzl", "UNIFIED_SUPPORTED_PLATFORMS") +load("//unified/swift-syntax-rs:swift_runtime.bzl", "swift_runtime_libs") + +swift_runtime_libs( + name = "swift_runtime_libs", + toolchain = "@swift_toolchain_ubuntu22.04//:files", +) exports_files(["Cargo.toml"]) @@ -11,14 +18,20 @@ codeql_rust_binary( "ast_types.yml", "swift_node_types.yml", ], + data = select({ + "@platforms//os:macos": [], + "@platforms//os:linux": [":swift_runtime_libs"], + }), proc_macro_deps = all_crate_deps( proc_macro = True, ), + target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, visibility = ["//visibility:public"], deps = all_crate_deps( normal = True, ) + [ "//shared/tree-sitter-extractor", "//shared/yeast", + "//unified/swift-syntax-rs:swift_syntax_rs", ], ) diff --git a/unified/extractor/Cargo.toml b/unified/extractor/Cargo.toml index be333298f1ad..607afc40458b 100644 --- a/unified/extractor/Cargo.toml +++ b/unified/extractor/Cargo.toml @@ -18,3 +18,4 @@ serde_json = "1.0.145" codeql-extractor = { path = "../../shared/tree-sitter-extractor" } yeast = { path = "../../shared/yeast" } +swift-syntax-rs = { path = "../swift-syntax-rs" } From ad1bd59054fad537c58c753846c2d71d05364961 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema <93738568+jketema@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:56:05 +0000 Subject: [PATCH 075/190] Unified: Call the swift code directly instead of going through a binary --- .../extractor/src/languages/swift/parse.rs | 109 +----------------- unified/extractor/tests/corpus_tests.rs | 22 ---- 2 files changed, 5 insertions(+), 126 deletions(-) diff --git a/unified/extractor/src/languages/swift/parse.rs b/unified/extractor/src/languages/swift/parse.rs index c8633f1a27a5..2abc589332c8 100644 --- a/unified/extractor/src/languages/swift/parse.rs +++ b/unified/extractor/src/languages/swift/parse.rs @@ -1,33 +1,18 @@ -//! Swift front-end parser: shells out to the separate `swift-syntax-parse` -//! binary (which links swift-syntax) to obtain a JSON syntax tree, then adapts -//! that JSON into a `yeast::Ast` via the pure-Rust [`swift_adapter`] module. -//! -//! Running the parser in a separate process keeps the Swift toolchain out of -//! the extractor's own build: the extractor never links Swift, so working on -//! other (e.g. tree-sitter based) languages needs no Swift toolchain. Each call -//! spawns the parser afresh; a longer-lived parser process could be swapped in -//! behind this same seam later without touching the extraction pipeline. - -use std::io::Write; -use std::process::{Command, Stdio}; +//! Swift front-end parser: calls into the `swift-syntax-rs` crate (which links +//! swift-syntax) to obtain a JSON syntax tree, then adapts that JSON into a +//! `yeast::Ast` via the pure-Rust [`swift_adapter`] module. use codeql_extractor::extractor::ParsedTree; use super::swift_adapter; -/// Environment variable naming the `swift-syntax-parse` executable. When unset, -/// the parser is resolved next to the extractor executable, then on `PATH`. -const PARSE_BIN_ENV: &str = "CODEQL_EXTRACTOR_UNIFIED_SWIFT_SYNTAX_PARSE"; - -/// Base name of the `swift-syntax-parse` executable as shipped / looked up. -const PARSE_BIN_NAME: &str = "swift-syntax-parse"; - /// Parse Swift `source` into a [`ParsedTree`] (a raw `yeast::Ast` plus /// side-channel `extra` tokens), ready to be desugared via `run_from_ast`. pub fn parse(source: &[u8]) -> Result { let source = std::str::from_utf8(source).map_err(|e| format!("Swift source is not valid UTF-8: {e}"))?; - let json = run_parser(source)?; + let json = + swift_syntax_rs::parse_to_json(source).map_err(|e| format!("Swift parser failed: {e}"))?; let mut adapted = swift_adapter::json_to_ast(&json)?; adapted.ast.set_source(source.as_bytes().to_vec()); Ok(ParsedTree { @@ -35,87 +20,3 @@ pub fn parse(source: &[u8]) -> Result { extras: adapted.extras, }) } - -/// The `swift-syntax-parse` executable to invoke, resolved in priority order: -/// -/// 1. the `CODEQL_EXTRACTOR_UNIFIED_SWIFT_SYNTAX_PARSE` override, if set; -/// 2. a copy shipped next to the extractor executable — this is how the CodeQL -/// extractor pack lays it out (`tools//{extractor, -/// swift-syntax-parse}`), so a packaged extractor is self-contained with no -/// environment setup; -/// 3. a bare `swift-syntax-parse`, looked up on `PATH`. -fn parse_bin() -> String { - if let Ok(bin) = std::env::var(PARSE_BIN_ENV) { - if !bin.is_empty() { - return bin; - } - } - if let Ok(exe) = std::env::current_exe() { - if let Some(sibling) = exe.parent().map(|dir| dir.join(PARSE_BIN_NAME)) { - if sibling.is_file() { - return sibling.to_string_lossy().into_owned(); - } - } - } - PARSE_BIN_NAME.to_string() -} - -/// Whether the `swift-syntax-parse` executable can be launched at all. -/// -/// This reports availability of the *executable*, deliberately not whether -/// parsing succeeds: a binary that launches but then crashes or emits invalid -/// JSON is still "available", so callers run and surface the failure rather -/// than silently skipping. Only a genuinely missing/unlaunchable binary (e.g. -/// no Swift toolchain is installed) reports `false`. -pub fn binary_available() -> bool { - match Command::new(parse_bin()) - .stdin(Stdio::null()) - .stdout(Stdio::null()) - .stderr(Stdio::null()) - .spawn() - { - Ok(mut child) => { - let _ = child.wait(); - true - } - Err(e) if e.kind() == std::io::ErrorKind::NotFound => false, - // Any other spawn failure (e.g. a permissions problem) is a genuine - // issue worth surfacing, so treat the parser as available and let the - // caller fail rather than masking it as "unavailable". - Err(_) => true, - } -} - -/// Run the external parser, feeding `source` on stdin and returning its JSON -/// stdout. -fn run_parser(source: &str) -> Result { - let bin = parse_bin(); - let mut child = Command::new(&bin) - .stdin(Stdio::piped()) - .stdout(Stdio::piped()) - .stderr(Stdio::piped()) - .spawn() - .map_err(|e| format!("failed to spawn Swift parser `{bin}`: {e}"))?; - - // The parser reads all of stdin before writing any stdout, so writing the - // whole source and then closing stdin (by dropping it) cannot deadlock. - child - .stdin - .take() - .expect("child stdin was piped") - .write_all(source.as_bytes()) - .map_err(|e| format!("failed to write source to Swift parser `{bin}`: {e}"))?; - - let output = child - .wait_with_output() - .map_err(|e| format!("failed to run Swift parser `{bin}`: {e}"))?; - if !output.status.success() { - return Err(format!( - "Swift parser `{bin}` failed ({}): {}", - output.status, - String::from_utf8_lossy(&output.stderr).trim() - )); - } - String::from_utf8(output.stdout) - .map_err(|e| format!("Swift parser produced non-UTF-8 output: {e}")) -} diff --git a/unified/extractor/tests/corpus_tests.rs b/unified/extractor/tests/corpus_tests.rs index b2700b999b7c..39cbab3194c7 100644 --- a/unified/extractor/tests/corpus_tests.rs +++ b/unified/extractor/tests/corpus_tests.rs @@ -20,20 +20,6 @@ fn update_mode_enabled() -> bool { .unwrap_or(false) } -/// Whether the external swift-syntax parser is available. When the parser -/// binary genuinely cannot be found/launched (e.g. no Swift toolchain, and -/// neither `CODEQL_EXTRACTOR_UNIFIED_SWIFT_SYNTAX_PARSE` nor a `swift-syntax-parse` -/// on `PATH`), the corpus test is skipped rather than failed — it cannot run -/// without the Swift-backed parser. -/// -/// Crucially this checks only that the executable *launches*: a parser that is -/// present but crashes, emits invalid JSON, or otherwise regresses is -/// considered available, so the suite runs and fails (rather than silently -/// skipping the very failures CI needs to catch). -fn parser_available() -> bool { - languages::swift_parse::binary_available() -} - /// Parse a corpus `.output` file. The file holds a single test case made of /// three sections separated by `---` delimiter lines: /// @@ -112,14 +98,6 @@ fn collect_corpus_stems(dir: &Path, out: &mut Vec) { #[test] fn test_corpus() { - if !parser_available() { - eprintln!( - "skipping test_corpus: the swift-syntax parser is unavailable \ - (set CODEQL_EXTRACTOR_UNIFIED_SWIFT_SYNTAX_PARSE or put \ - `swift-syntax-parse` on PATH)" - ); - return; - } let update_mode = update_mode_enabled(); let all_languages = languages::all_language_specs(); let corpus_dir = Path::new("tests/corpus"); From 1226971cfba1e69e178d0e9f5dd64f9b51c26ba5 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema <93738568+jketema@users.noreply.github.com> Date: Wed, 5 Aug 2026 15:19:10 +0000 Subject: [PATCH 076/190] Unified: Remove the `SWIFT`/`SWITFC` environment hacks Just assume `swift`/`swiftc` are on the path. --- unified/swift-syntax-rs/build.rs | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/unified/swift-syntax-rs/build.rs b/unified/swift-syntax-rs/build.rs index 6a58ddb4d8da..1056c5a62518 100644 --- a/unified/swift-syntax-rs/build.rs +++ b/unified/swift-syntax-rs/build.rs @@ -20,8 +20,6 @@ fn main() { ] { println!("cargo:rerun-if-changed={}", input.display()); } - println!("cargo:rerun-if-env-changed=SWIFT"); - println!("cargo:rerun-if-env-changed=SWIFTC"); // Build the Swift FFI package as a release dynamic library. // @@ -33,7 +31,7 @@ fn main() { // then fail — at link time, which is fair: they genuinely need Swift (and CI // builds go through Bazel anyway). A Swift toolchain that *is* present but // whose build fails is still surfaced as a hard error below. - let mut command = Command::new(swift_bin()); + let mut command = Command::new("swift"); command .args(["build", "-c", "release"]) .current_dir(&swift_dir); @@ -42,12 +40,11 @@ fn main() { Ok(status) => status, Err(e) => { println!( - "cargo:warning=skipping the Swift FFI build: failed to run `{swift} build`: {e}. \ - Install a Swift toolchain (see https://www.swift.org/install/, e.g. via swiftly) \ - and ensure `swift` is on PATH, or set the `SWIFT` environment variable, to build \ - or test this crate. `cargo check`/`fmt`/`clippy` work without it. The pinned \ - version is in `.swift-version`.", - swift = swift_bin(), + "cargo:warning=skipping the Swift FFI build: failed to run `swift build`: {e}. \ + Install a Swift toolchain (see https://www.swift.org/install/, e.g. via \ + swiftly) and ensure `swift` is on PATH to build or test this crate. \ + `cargo check`/`fmt`/`clippy` work without it. The pinned version is in \ + `.swift-version`." ); return; } @@ -70,7 +67,7 @@ fn main() { /// Query the active Swift toolchain for the directory containing its runtime /// shared libraries (e.g. `libswiftCore.so`). fn swift_runtime_dir() -> Option { - let output = Command::new(swiftc_bin()) + let output = Command::new("swiftc") .arg("-print-target-info") .output() .ok()?; @@ -94,19 +91,6 @@ fn swift_runtime_dir() -> Option { Some(PathBuf::from(resource_path).join(if cfg!(target_os = "macos") { "macosx" } else { "linux" })) } -/// The `swift` driver to invoke: `$SWIFT` if set, otherwise `swift` from `PATH`. -/// This keeps the build tool-agnostic — any Swift install works; no particular -/// version manager is required. -fn swift_bin() -> String { - env::var("SWIFT").unwrap_or_else(|_| "swift".to_string()) -} - -/// The `swiftc` compiler to invoke: `$SWIFTC` if set, otherwise `swiftc` from -/// `PATH`. -fn swiftc_bin() -> String { - env::var("SWIFTC").unwrap_or_else(|_| "swiftc".to_string()) -} - /// Some environments (notably GitHub Codespaces) inject /// `GIT_CONFIG_KEY_0=safe.bareRepository` / `GIT_CONFIG_VALUE_0=explicit`, which /// breaks the cached bare git repositories `swift build` uses. When exactly that From d85deef514bdc072b4e8ae1b697b192a63f02d24 Mon Sep 17 00:00:00 2001 From: Keshav Malik Date: Wed, 5 Aug 2026 22:38:06 +0530 Subject: [PATCH 077/190] Detect unpinned reusable workflows --- .../Security/CWE-829/UnpinnedActionsTag.md | 18 ++++++++-- .../Security/CWE-829/UnpinnedActionsTag.ql | 36 ++++++++++++------- .../2026-08-05-unpinned-reusable-workflows.md | 4 +++ .../workflows/unpinned_reusable_workflows.yml | 35 ++++++++++++++++++ .../CWE-829/UnpinnedActionsTag.expected | 18 ++++++++++ 5 files changed, 97 insertions(+), 14 deletions(-) create mode 100644 actions/ql/src/change-notes/2026-08-05-unpinned-reusable-workflows.md create mode 100644 actions/ql/test/query-tests/Security/CWE-829/.github/workflows/unpinned_reusable_workflows.yml diff --git a/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.md b/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.md index 16551e9c89a7..b8c7435adddf 100644 --- a/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.md +++ b/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.md @@ -1,10 +1,10 @@ ## Overview -Using a tag for a 3rd party Action that is not pinned to a commit can lead to executing an untrusted Action through a supply chain attack. +Using a mutable tag or branch for an Action or reusable workflow can lead to executing untrusted code through a supply chain attack. ## Recommendation -Pinning an action to a full length commit SHA is currently the only way to use a non-immutable action as an immutable release. Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the action's repository, as they would need to generate a SHA-1 collision for a valid Git object payload. When selecting a SHA, you should verify it is from the action's repository and not a repository fork. +Pinning an Action or reusable workflow to a full length commit SHA is currently the only way to use a mutable reference as an immutable release. Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the referenced repository, as they would need to generate a SHA-1 collision for a valid Git object payload. When selecting a SHA, you should verify it is from the intended repository and not a repository fork. ## Example @@ -14,12 +14,26 @@ Pinning an action to a full length commit SHA is currently the only way to use a - uses: tj-actions/changed-files@v44 ``` +```yaml +jobs: + call-workflow: + uses: example/actions/.github/workflows/build.yml@main +``` + ### Correct Usage ```yaml - uses: tj-actions/changed-files@c65cd883420fd2eb864698a825fc4162dd94482c # v44 ``` +```yaml +jobs: + call-workflow: + uses: example/actions/.github/workflows/build.yml@25b062c917b0c75f8b47d8469aff6c94ffd89abb +``` + ## References - GitHub Docs: [Using third-party actions](https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions#using-third-party-actions). +- GitHub Docs: [Reusing third-party workflows](https://docs.github.com/en/actions/reference/security/secure-use#reusing-third-party-workflows). +- GitHub Docs: [Workflow syntax for reusable workflow calls](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_iduses). diff --git a/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.ql b/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.ql index 530b8e48e0f5..9a4bc007bb51 100644 --- a/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.ql +++ b/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.ql @@ -1,6 +1,6 @@ /** - * @name Unpinned tag for a non-immutable Action in workflow or composite action - * @description Using a tag for a non-immutable Action that is not pinned to a commit can lead to executing an untrusted Action through a supply chain attack. + * @name Unpinned tag for a non-immutable Action or reusable workflow + * @description Using a mutable reference for a non-immutable Action or reusable workflow can lead to executing untrusted code through a supply chain attack. * @kind problem * @security-severity 5.0 * @problem.severity warning @@ -33,7 +33,7 @@ private predicate isPinnedContainer(string version) { bindingset[nwo] private predicate isContainerImage(string nwo) { nwo.regexpMatch("^docker://.+") } -private predicate getStepContainerName(UsesStep uses, string name) { +private predicate hasUsesContainerName(Uses uses, string name) { exists(Workflow workflow | uses.getEnclosingWorkflow() = workflow and ( @@ -43,20 +43,32 @@ private predicate getStepContainerName(UsesStep uses, string name) { ) ) or - exists(CompositeAction action | - uses.getEnclosingCompositeAction() = action and + exists(UsesStep step, CompositeAction action | + uses = step and + step.getEnclosingCompositeAction() = action and name = action.getLocation().getFile().getBaseName() ) } -from UsesStep uses, string nwo, string version, string name +from Uses uses, string nwo, string version, string name, string message where uses.getCallee() = nwo and - getStepContainerName(uses, name) and + hasUsesContainerName(uses, name) and uses.getVersion() = version and not isTrustedOwner(nwo) and - not (if isContainerImage(nwo) then isPinnedContainer(version) else isPinnedCommit(version)) and - not isImmutableAction(uses, nwo) -select uses.getCalleeNode(), - "Unpinned 3rd party Action '" + name + "' step $@ uses '" + nwo + "' with ref '" + version + - "', not a pinned commit hash", uses, uses.toString() + not ( + if uses instanceof UsesStep and isContainerImage(nwo) + then isPinnedContainer(version) + else isPinnedCommit(version) + ) and + not exists(UsesStep step | uses = step and isImmutableAction(step, nwo)) and + if uses instanceof ExternalJob + then + message = + "Job $@ in '" + name + "' uses reusable workflow '" + nwo + "' with ref '" + version + + "', not a pinned commit hash" + else + message = + "Unpinned 3rd party Action '" + name + "' step $@ uses '" + nwo + "' with ref '" + version + + "', not a pinned commit hash" +select uses.getCalleeNode(), message, uses, uses.toString() diff --git a/actions/ql/src/change-notes/2026-08-05-unpinned-reusable-workflows.md b/actions/ql/src/change-notes/2026-08-05-unpinned-reusable-workflows.md new file mode 100644 index 000000000000..6269fdec14e6 --- /dev/null +++ b/actions/ql/src/change-notes/2026-08-05-unpinned-reusable-workflows.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The `actions/unpinned-tag` query now detects mutable references to reusable workflows. diff --git a/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/unpinned_reusable_workflows.yml b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/unpinned_reusable_workflows.yml new file mode 100644 index 000000000000..72ce6b4dd05b --- /dev/null +++ b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/unpinned_reusable_workflows.yml @@ -0,0 +1,35 @@ +name: Reusable workflow pinning + +on: + pull_request: + +jobs: + unpinned-tag: + uses: example/actions/.github/workflows/build.yml@v2 + + unpinned-branch: + uses: example/actions/.github/workflows/build.yml@main + + unpinned-branch-with-slash: + uses: example/actions/.github/workflows/build.yml@release/v2 + + unpinned-short-sha: + uses: example/actions/.github/workflows/build.yml@25b062c917b0c75f8b47d8469aff6c94ffd89ab + + pinned-sha1: + uses: example/actions/.github/workflows/build.yml@25b062c917b0c75f8b47d8469aff6c94ffd89abb + + pinned-sha256: + uses: example/actions/.github/workflows/build.yml@25b062c917b0c75f8b47d8469aff6c94ffd89abb25b062c917b0c75f8b47d84d + + pinned-uppercase-sha1: + uses: example/actions/.github/workflows/build.yml@25B062C917B0C75F8B47D8469AFF6C94FFD89ABB + + trusted-owner: + uses: actions/reusable-workflows/.github/workflows/build.yml@main + + local-workflow: + uses: ./.github/workflows/reusable_local.yml + + local-workflow-dollar: + uses: $/.github/workflows/reusable_local.yml diff --git a/actions/ql/test/query-tests/Security/CWE-829/UnpinnedActionsTag.expected b/actions/ql/test/query-tests/Security/CWE-829/UnpinnedActionsTag.expected index 14cff70c3804..05f9cf3d8fd5 100644 --- a/actions/ql/test/query-tests/Security/CWE-829/UnpinnedActionsTag.expected +++ b/actions/ql/test/query-tests/Security/CWE-829/UnpinnedActionsTag.expected @@ -8,6 +8,10 @@ | .github/workflows/auto_ci.yml:94:15:94:39 | codecov/codecov-action@v3 | Unpinned 3rd party Action 'Python CI' step $@ uses 'codecov/codecov-action' with ref 'v3', not a pinned commit hash | .github/workflows/auto_ci.yml:93:9:96:6 | Uses Step | Uses Step | | .github/workflows/auto_ci.yml:111:15:111:48 | peter-evans/create-pull-request@v5 | Unpinned 3rd party Action 'Python CI' step $@ uses 'peter-evans/create-pull-request' with ref 'v5', not a pinned commit hash | .github/workflows/auto_ci.yml:108:9:119:6 | Uses Step: create_pr | Uses Step: create_pr | | .github/workflows/auto_ci.yml:127:15:127:56 | thollander/actions-comment-pull-request@v2 | Unpinned 3rd party Action 'Python CI' step $@ uses 'thollander/actions-comment-pull-request' with ref 'v2', not a pinned commit hash | .github/workflows/auto_ci.yml:125:9:133:6 | Uses Step | Uses Step | +| .github/workflows/external/TestOrg/TestRepo/.github/workflows/build_nested.yml:9:11:9:59 | TestOrg/TestRepo/.github/workflows/build.yml@main | Job $@ in 'build_nested.yml' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/build.yml' with ref 'main', not a pinned commit hash | .github/workflows/external/TestOrg/TestRepo/.github/workflows/build_nested.yml:9:5:13:7 | Job: build | Job: build | +| .github/workflows/external/TestOrg/TestRepo/.github/workflows/build_nested_branching.yml:27:11:27:66 | TestOrg/TestRepo/.github/workflows/build_nested.yml@main | Job $@ in 'build_nested_branching.yml' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/build_nested.yml' with ref 'main', not a pinned commit hash | .github/workflows/external/TestOrg/TestRepo/.github/workflows/build_nested_branching.yml:26:5:30:2 | Job: build_safe | Job: build_safe | +| .github/workflows/external/TestOrg/TestRepo/.github/workflows/build_nested_branching.yml:31:11:31:66 | TestOrg/TestRepo/.github/workflows/build_nested.yml@main | Job $@ in 'build_nested_branching.yml' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/build_nested.yml' with ref 'main', not a pinned commit hash | .github/workflows/external/TestOrg/TestRepo/.github/workflows/build_nested_branching.yml:31:5:33:43 | Job: build_unsafe | Job: build_unsafe | +| .github/workflows/formal.yml:12:11:12:60 | TestOrg/TestRepo/.github/workflows/formal.yml@main | Job $@ in 'Test Formalities' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/formal.yml' with ref 'main', not a pinned commit hash | .github/workflows/formal.yml:11:5:12:61 | Job: build | Job: build | | .github/workflows/issue_comment_3rd_party_action.yml:14:15:14:52 | xt0rted/pull-request-comment-branch@v2 | Unpinned 3rd party Action 'PR head from 3rd party action' step $@ uses 'xt0rted/pull-request-comment-branch' with ref 'v2', not a pinned commit hash | .github/workflows/issue_comment_3rd_party_action.yml:12:9:16:6 | Uses Step: comment-branch | Uses Step: comment-branch | | .github/workflows/issue_comment_3rd_party_action.yml:27:15:27:52 | xt0rted/pull-request-comment-branch@v2 | Unpinned 3rd party Action 'PR head from 3rd party action' step $@ uses 'xt0rted/pull-request-comment-branch' with ref 'v2', not a pinned commit hash | .github/workflows/issue_comment_3rd_party_action.yml:25:9:30:6 | Uses Step: comment-branch | Uses Step: comment-branch | | .github/workflows/issue_comment_3rd_party_action.yml:41:15:41:42 | eficode/resolve-pr-refs@main | Unpinned 3rd party Action 'PR head from 3rd party action' step $@ uses 'eficode/resolve-pr-refs' with ref 'main', not a pinned commit hash | .github/workflows/issue_comment_3rd_party_action.yml:39:9:45:6 | Uses Step: refs | Uses Step: refs | @@ -28,10 +32,24 @@ | .github/workflows/pr-workflow.yml:449:15:449:43 | cachix/install-nix-action@v20 | Unpinned 3rd party Action 'pr-workflow' step $@ uses 'cachix/install-nix-action' with ref 'v20', not a pinned commit hash | .github/workflows/pr-workflow.yml:449:9:452:6 | Uses Step | Uses Step | | .github/workflows/pr-workflow.yml:452:15:452:60 | DeterminateSystems/magic-nix-cache-action@main | Unpinned 3rd party Action 'pr-workflow' step $@ uses 'DeterminateSystems/magic-nix-cache-action' with ref 'main', not a pinned commit hash | .github/workflows/pr-workflow.yml:452:9:453:6 | Uses Step | Uses Step | | .github/workflows/pr-workflow.yml:453:15:453:41 | cachix/cachix-action@master | Unpinned 3rd party Action 'pr-workflow' step $@ uses 'cachix/cachix-action' with ref 'master', not a pinned commit hash | .github/workflows/pr-workflow.yml:453:9:459:6 | Uses Step | Uses Step | +| .github/workflows/reusable_caller1.yaml:8:11:8:62 | TestOrg/TestRepo/.github/workflows/reusable.yml@main | Job $@ in 'assets-test' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/reusable.yml' with ref 'main', not a pinned commit hash | .github/workflows/reusable_caller1.yaml:8:5:10:56 | Job: check-execution-context | Job: check-execution-context | +| .github/workflows/reusable_caller2.yaml:8:11:8:62 | TestOrg/TestRepo/.github/workflows/reusable.yml@main | Job $@ in 'assets-test' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/reusable.yml' with ref 'main', not a pinned commit hash | .github/workflows/reusable_caller2.yaml:8:5:10:56 | Job: check-execution-context | Job: check-execution-context | | .github/workflows/test7.yml:25:15:25:34 | pnpm/action-setup@v3 | Unpinned 3rd party Action 'Benchmark' step $@ uses 'pnpm/action-setup' with ref 'v3', not a pinned commit hash | .github/workflows/test7.yml:24:9:27:6 | Uses Step | Uses Step | | .github/workflows/test13.yml:15:13:15:53 | sushichop/action-repository-permission@v2 | Unpinned 3rd party Action 'test13.yml' step $@ uses 'sushichop/action-repository-permission' with ref 'v2', not a pinned commit hash | .github/workflows/test13.yml:14:7:20:4 | Uses Step | Uses Step | | .github/workflows/test17.yml:20:21:20:63 | sonarsource/sonarcloud-github-action@master | Unpinned 3rd party Action 'Sonar' step $@ uses 'sonarsource/sonarcloud-github-action' with ref 'master', not a pinned commit hash | .github/workflows/test17.yml:19:15:23:58 | Uses Step | Uses Step | | .github/workflows/test18.yml:37:21:37:63 | sonarsource/sonarcloud-github-action@master | Unpinned 3rd party Action 'Sonar' step $@ uses 'sonarsource/sonarcloud-github-action' with ref 'master', not a pinned commit hash | .github/workflows/test18.yml:36:15:40:58 | Uses Step | Uses Step | +| .github/workflows/unpinned_reusable_workflows.yml:8:11:8:56 | example/actions/.github/workflows/build.yml@v2 | Job $@ in 'Reusable workflow pinning' uses reusable workflow 'example/actions/.github/workflows/build.yml' with ref 'v2', not a pinned commit hash | .github/workflows/unpinned_reusable_workflows.yml:8:5:10:2 | Job: unpinned-tag | Job: unpinned-tag | +| .github/workflows/unpinned_reusable_workflows.yml:11:11:11:58 | example/actions/.github/workflows/build.yml@main | Job $@ in 'Reusable workflow pinning' uses reusable workflow 'example/actions/.github/workflows/build.yml' with ref 'main', not a pinned commit hash | .github/workflows/unpinned_reusable_workflows.yml:11:5:13:2 | Job: unpinned-branch | Job: unpinned-branch | +| .github/workflows/unpinned_reusable_workflows.yml:14:11:14:64 | example/actions/.github/workflows/build.yml@release/v2 | Job $@ in 'Reusable workflow pinning' uses reusable workflow 'example/actions/.github/workflows/build.yml' with ref 'release/v2', not a pinned commit hash | .github/workflows/unpinned_reusable_workflows.yml:14:5:16:2 | Job: unpinned-branch-with-slash | Job: unpinned-branch-with-slash | +| .github/workflows/unpinned_reusable_workflows.yml:17:11:17:93 | example/actions/.github/workflows/build.yml@25b062c917b0c75f8b47d8469aff6c94ffd89ab | Job $@ in 'Reusable workflow pinning' uses reusable workflow 'example/actions/.github/workflows/build.yml' with ref '25b062c917b0c75f8b47d8469aff6c94ffd89ab', not a pinned commit hash | .github/workflows/unpinned_reusable_workflows.yml:17:5:19:2 | Job: unpinned-short-sha | Job: unpinned-short-sha | | .github/workflows/unpinned_tags.yml:10:13:10:22 | foo/bar@v1 | Unpinned 3rd party Action 'unpinned_tags.yml' step $@ uses 'foo/bar' with ref 'v1', not a pinned commit hash | .github/workflows/unpinned_tags.yml:10:7:11:4 | Uses Step | Uses Step | | .github/workflows/unpinned_tags.yml:12:13:12:35 | docker://foo/bar@latest | Unpinned 3rd party Action 'unpinned_tags.yml' step $@ uses 'docker://foo/bar' with ref 'latest', not a pinned commit hash | .github/workflows/unpinned_tags.yml:12:7:13:4 | Uses Step | Uses Step | | .github/workflows/unpinned_tags.yml:19:13:19:70 | foo/bar@a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2a1b2c3d4e5 | Unpinned 3rd party Action 'unpinned_tags.yml' step $@ uses 'foo/bar' with ref 'a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2a1b2c3d4e5', not a pinned commit hash | .github/workflows/unpinned_tags.yml:19:7:19:71 | Uses Step | Uses Step | +| .github/workflows/untrusted_checkout_permission_check_reusable2.yml:24:11:24:59 | TestOrg/TestRepo/.github/workflows/build.yml@main | Job $@ in 'untrusted_checkout_permission_check_reusable2.yml' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/build.yml' with ref 'main', not a pinned commit hash | .github/workflows/untrusted_checkout_permission_check_reusable2.yml:24:5:27:2 | Job: build_unsafe | Job: build_unsafe | +| .github/workflows/untrusted_checkout_permission_check_reusable2.yml:29:11:29:59 | TestOrg/TestRepo/.github/workflows/build.yml@main | Job $@ in 'untrusted_checkout_permission_check_reusable2.yml' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/build.yml' with ref 'main', not a pinned commit hash | .github/workflows/untrusted_checkout_permission_check_reusable2.yml:28:5:31:101 | Job: build_safe | Job: build_safe | +| .github/workflows/untrusted_checkout_permission_check_reusable.yml:24:11:24:59 | TestOrg/TestRepo/.github/workflows/build.yml@main | Job $@ in 'untrusted_checkout_permission_check_reusable.yml' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/build.yml' with ref 'main', not a pinned commit hash | .github/workflows/untrusted_checkout_permission_check_reusable.yml:23:5:26:101 | Job: build | Job: build | +| .github/workflows/untrusted_checkout_permission_check_reusable_branching_nested.yml:6:11:6:76 | TestOrg/TestRepo/.github/workflows/build_nested_branching.yml@main | Job $@ in 'untrusted_checkout_permission_check_reusable_branching_nested.yml' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/build_nested_branching.yml' with ref 'main', not a pinned commit hash | .github/workflows/untrusted_checkout_permission_check_reusable_branching_nested.yml:6:5:8:60 | Job: build | Job: build | +| .github/workflows/untrusted_checkout_permission_check_reusable_level2.yml:24:11:24:66 | TestOrg/TestRepo/.github/workflows/build_nested.yml@main | Job $@ in 'untrusted_checkout_permission_check_reusable_level2.yml' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/build_nested.yml' with ref 'main', not a pinned commit hash | .github/workflows/untrusted_checkout_permission_check_reusable_level2.yml:23:5:26:101 | Job: build | Job: build | +| .github/workflows/untrusted_checkout_permission_check_reusable_no_needs.yml:24:11:24:66 | TestOrg/TestRepo/.github/workflows/build_nested.yml@main | Job $@ in 'untrusted_checkout_permission_check_reusable_no_needs.yml' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/build_nested.yml' with ref 'main', not a pinned commit hash | .github/workflows/untrusted_checkout_permission_check_reusable_no_needs.yml:24:5:26:60 | Job: build | Job: build | +| .github/workflows/untrusted_checkout_two_callers_both_protected.yml:24:11:24:59 | TestOrg/TestRepo/.github/workflows/build.yml@main | Job $@ in 'untrusted_checkout_two_callers_both_protected.yml' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/build.yml' with ref 'main', not a pinned commit hash | .github/workflows/untrusted_checkout_two_callers_both_protected.yml:23:5:27:2 | Job: caller-a | Job: caller-a | +| .github/workflows/untrusted_checkout_two_callers_both_protected.yml:46:11:46:59 | TestOrg/TestRepo/.github/workflows/build.yml@main | Job $@ in 'untrusted_checkout_two_callers_both_protected.yml' uses reusable workflow 'TestOrg/TestRepo/.github/workflows/build.yml' with ref 'main', not a pinned commit hash | .github/workflows/untrusted_checkout_two_callers_both_protected.yml:45:5:48:60 | Job: caller-b | Job: caller-b | From 9a31d09b33312604bac3939b2b6576ead5f2f525 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 6 Aug 2026 08:29:51 +0200 Subject: [PATCH 078/190] unified: Update debugScopeGraph.ql --- unified/ql/lib/codeql/unified/internal/dev/debugScopeGraph.ql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/ql/lib/codeql/unified/internal/dev/debugScopeGraph.ql b/unified/ql/lib/codeql/unified/internal/dev/debugScopeGraph.ql index 2f9376b1732e..a77f8912d6fa 100644 --- a/unified/ql/lib/codeql/unified/internal/dev/debugScopeGraph.ql +++ b/unified/ql/lib/codeql/unified/internal/dev/debugScopeGraph.ql @@ -6,7 +6,7 @@ */ private import unified -private import codeql.unified.internal.Variables +private import codeql.unified.internal.LocalNameBinding /** * Holds if `node` should be shown in the graph. From 51f3acf10440280792366439d81f9d0e44076f89 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 6 Aug 2026 09:34:07 +0200 Subject: [PATCH 079/190] Rust: Add test for missing flow through captured variables --- rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll | 3 ++- .../library-tests/dataflow/lambdas/external_file.rs | 5 +++++ .../library-tests/dataflow/lambdas/inline-flow.ext.yml | 6 ++++++ rust/ql/test/library-tests/dataflow/lambdas/main.rs | 10 ++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 rust/ql/test/library-tests/dataflow/lambdas/external_file.rs create mode 100644 rust/ql/test/library-tests/dataflow/lambdas/inline-flow.ext.yml diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll index 303920ce7d0e..3ee1430f556e 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/Scope.qll @@ -35,7 +35,8 @@ final class CallableScope extends CfgScopeImpl, Callable { CallableScope() { // A function without a body corresponds to a trait method signature and // should not have a CFG scope. - this.hasBody() + this.hasBody() and + this.fromSource() // exclude stubs in tests defined using `additionalExternalFile` } override predicate scopeFirst(AstNode first) { diff --git a/rust/ql/test/library-tests/dataflow/lambdas/external_file.rs b/rust/ql/test/library-tests/dataflow/lambdas/external_file.rs new file mode 100644 index 000000000000..190733fd482a --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/lambdas/external_file.rs @@ -0,0 +1,5 @@ +pub fn may_invoke_callback1(f: F) {} + +pub fn may_invoke_callback2(f: F) {} + +pub fn may_invoke_callback3(f: impl Fn(i64)) {} diff --git a/rust/ql/test/library-tests/dataflow/lambdas/inline-flow.ext.yml b/rust/ql/test/library-tests/dataflow/lambdas/inline-flow.ext.yml new file mode 100644 index 000000000000..542463856481 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/lambdas/inline-flow.ext.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/rust-all + extensible: additionalExternalFile + data: + - ["external_file.rs"] diff --git a/rust/ql/test/library-tests/dataflow/lambdas/main.rs b/rust/ql/test/library-tests/dataflow/lambdas/main.rs index 66295f004a22..817409bbc369 100644 --- a/rust/ql/test/library-tests/dataflow/lambdas/main.rs +++ b/rust/ql/test/library-tests/dataflow/lambdas/main.rs @@ -102,6 +102,16 @@ fn test_apply_wrap() { apply_wrap(|x| sink(x), 0); } +mod external_file; +use external_file::*; + +fn test_external_call() { + let a = source(81); + may_invoke_callback1(|x| sink(a)); // $ MISSING: hasValueFlow=81 + may_invoke_callback2(|x| sink(a)); // $ MISSING: hasValueFlow=81 + may_invoke_callback3(|x| sink(a)); // $ MISSING: hasValueFlow=81 +} + fn main() { closure_flow_out(); closure_flow_in(); From e9bd6988c82d0d085f82beb96f5d31aea720b4a4 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 6 Aug 2026 09:51:47 +0200 Subject: [PATCH 080/190] Rust: Assume callbacks will be invoked in library functions --- .../rust/dataflow/internal/DataFlowImpl.qll | 2 +- .../rust/dataflow/internal/ModelsAsData.qll | 34 +++++++++++++++++++ .../dataflow/lambdas/inline-flow.expected | 16 +++++++++ .../library-tests/dataflow/lambdas/main.rs | 6 ++-- 4 files changed, 54 insertions(+), 4 deletions(-) diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index c18ac5e026b1..f466249ada99 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -440,7 +440,7 @@ module RustDataFlowGen implements InputSig or result = "self" and this.isSelf() or - result = "closure self" and this.isClosureSelf() + result = "closure-self" and this.isClosureSelf() } ParamBase getParameterIn(ParamList ps) { diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll b/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll index 8652b93f4aa9..e49d5cc21d29 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll @@ -58,6 +58,9 @@ private import codeql.rust.dataflow.FlowBarrier private import codeql.rust.dataflow.FlowSummary private import codeql.rust.dataflow.FlowSource private import codeql.rust.dataflow.FlowSink +private import codeql.rust.internal.typeinference.FunctionType +private import codeql.rust.internal.typeinference.TypeMention +private import codeql.rust.frameworks.stdlib.Stdlib /** * Holds if in a call to the function with canonical path `path`, the value referred @@ -207,6 +210,37 @@ private class SummarizedCallableFromModel extends SummarizedCallable::Range { } } +/** + * Holds if library function `f` has a callback at position `n`. In this case we + * add a flow model that achieves the effect of simulating that the callback is + * invoked, which is needed for flow through captured variables to work. + */ +private predicate mayInvokeCallback(Function f, int n) { + exists(TypeMention tm, Trait trait | + tm = f.getParam(n).getTypeRepr() and + trait = getALookupTrait(f, tm.getType()) and + trait.getSupertrait*() instanceof FnOnceTrait and + not f.fromSource() + ) +} + +private class SummarizedCallableWithCallback extends SummarizedCallable::Range { + private int pos; + + SummarizedCallableWithCallback() { mayInvokeCallback(this, pos) } + + override predicate propagatesFlow( + string input, string output, boolean preservesValue, Provenance p, boolean isExact, string model + ) { + input = "Argument[" + pos + "]" and + output = "Argument[" + pos + "].Parameter[closure-self]" and + preservesValue = true and + p = "hq-generated" and + isExact = true and + model = "heuristic-callback" + } +} + private class FlowSourceFromModel extends FlowSource::Range { private string path; diff --git a/rust/ql/test/library-tests/dataflow/lambdas/inline-flow.expected b/rust/ql/test/library-tests/dataflow/lambdas/inline-flow.expected index ca4bbe77479a..049c30c06add 100644 --- a/rust/ql/test/library-tests/dataflow/lambdas/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/lambdas/inline-flow.expected @@ -55,6 +55,12 @@ edges | main.rs:100:13:100:22 | source(...) | main.rs:100:9:100:9 | b | provenance | | | main.rs:101:17:101:17 | ... | main.rs:101:25:101:25 | x | provenance | | | main.rs:101:29:101:29 | b | main.rs:93:33:93:38 | ...: i64 | provenance | | +| main.rs:109:13:109:22 | source(...) | main.rs:110:26:110:36 | \|...\| ... : ... => .. [captured a] | provenance | | +| main.rs:109:13:109:22 | source(...) | main.rs:111:26:111:36 | \|...\| ... : ... => .. [captured a] | provenance | | +| main.rs:109:13:109:22 | source(...) | main.rs:112:26:112:36 | \|...\| ... : ... => .. [captured a] | provenance | | +| main.rs:110:26:110:36 | \|...\| ... : ... => .. [captured a] | main.rs:110:35:110:35 | a | provenance | heuristic-callback | +| main.rs:111:26:111:36 | \|...\| ... : ... => .. [captured a] | main.rs:111:35:111:35 | a | provenance | heuristic-callback | +| main.rs:112:26:112:36 | \|...\| ... : ... => .. [captured a] | main.rs:112:35:112:35 | a | provenance | heuristic-callback | nodes | main.rs:10:20:10:52 | if cond {...} else {...} | semmle.label | if cond {...} else {...} | | main.rs:10:30:10:39 | source(...) | semmle.label | source(...) | @@ -121,6 +127,13 @@ nodes | main.rs:101:17:101:17 | ... | semmle.label | ... | | main.rs:101:25:101:25 | x | semmle.label | x | | main.rs:101:29:101:29 | b | semmle.label | b | +| main.rs:109:13:109:22 | source(...) | semmle.label | source(...) | +| main.rs:110:26:110:36 | \|...\| ... : ... => .. [captured a] | semmle.label | \|...\| ... : ... => .. [captured a] | +| main.rs:110:35:110:35 | a | semmle.label | a | +| main.rs:111:26:111:36 | \|...\| ... : ... => .. [captured a] | semmle.label | \|...\| ... : ... => .. [captured a] | +| main.rs:111:35:111:35 | a | semmle.label | a | +| main.rs:112:26:112:36 | \|...\| ... : ... => .. [captured a] | semmle.label | \|...\| ... : ... => .. [captured a] | +| main.rs:112:35:112:35 | a | semmle.label | a | subpaths | main.rs:29:21:29:21 | a | main.rs:27:20:27:23 | ... | main.rs:27:26:27:52 | if cond {...} else {...} | main.rs:29:13:29:22 | f(...) | | main.rs:77:21:77:21 | a | main.rs:66:24:66:32 | ...: i64 | main.rs:66:42:72:1 | { ... } | main.rs:77:13:77:22 | f(...) | @@ -140,3 +153,6 @@ testFailures | main.rs:99:25:99:25 | x | main.rs:100:13:100:22 | source(...) | main.rs:99:25:99:25 | x | $@ | main.rs:100:13:100:22 | source(...) | source(...) | | main.rs:101:25:101:25 | x | main.rs:98:13:98:22 | source(...) | main.rs:101:25:101:25 | x | $@ | main.rs:98:13:98:22 | source(...) | source(...) | | main.rs:101:25:101:25 | x | main.rs:100:13:100:22 | source(...) | main.rs:101:25:101:25 | x | $@ | main.rs:100:13:100:22 | source(...) | source(...) | +| main.rs:110:35:110:35 | a | main.rs:109:13:109:22 | source(...) | main.rs:110:35:110:35 | a | $@ | main.rs:109:13:109:22 | source(...) | source(...) | +| main.rs:111:35:111:35 | a | main.rs:109:13:109:22 | source(...) | main.rs:111:35:111:35 | a | $@ | main.rs:109:13:109:22 | source(...) | source(...) | +| main.rs:112:35:112:35 | a | main.rs:109:13:109:22 | source(...) | main.rs:112:35:112:35 | a | $@ | main.rs:109:13:109:22 | source(...) | source(...) | diff --git a/rust/ql/test/library-tests/dataflow/lambdas/main.rs b/rust/ql/test/library-tests/dataflow/lambdas/main.rs index 817409bbc369..476a7570e018 100644 --- a/rust/ql/test/library-tests/dataflow/lambdas/main.rs +++ b/rust/ql/test/library-tests/dataflow/lambdas/main.rs @@ -107,9 +107,9 @@ use external_file::*; fn test_external_call() { let a = source(81); - may_invoke_callback1(|x| sink(a)); // $ MISSING: hasValueFlow=81 - may_invoke_callback2(|x| sink(a)); // $ MISSING: hasValueFlow=81 - may_invoke_callback3(|x| sink(a)); // $ MISSING: hasValueFlow=81 + may_invoke_callback1(|x| sink(a)); // $ hasValueFlow=81 + may_invoke_callback2(|x| sink(a)); // $ hasValueFlow=81 + may_invoke_callback3(|x| sink(a)); // $ hasValueFlow=81 } fn main() { From 4e2ac7cf2674cfdb0e1df82c15fe669d044ea9a7 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema <93738568+jketema@users.noreply.github.com> Date: Thu, 6 Aug 2026 08:58:21 +0000 Subject: [PATCH 081/190] Unified: Clean up remainders of the standalone Swift parser --- unified/BUILD.bazel | 15 +---- unified/extractor/BUILD.bazel | 10 +-- unified/swift-syntax-rs/BUILD.bazel | 61 +++++++------------ unified/swift-syntax-rs/swift-syntax-parse.sh | 12 ---- 4 files changed, 25 insertions(+), 73 deletions(-) delete mode 100755 unified/swift-syntax-rs/swift-syntax-parse.sh diff --git a/unified/BUILD.bazel b/unified/BUILD.bazel index 405500d7d407..1539c7fd2f9d 100644 --- a/unified/BUILD.bazel +++ b/unified/BUILD.bazel @@ -43,19 +43,9 @@ codeql_pkg_files( name = "extractor-arch", exes = [ "//unified/extractor", - ], - prefix = "tools/{CODEQL_PLATFORM}", -) - -# The Swift front-end parser (wrapper + real binary + bundled Swift runtime), -# shipped next to the extractor. Only on platforms where swift-syntax builds -# (Linux/macOS); elsewhere the group is empty so the pack still builds (Swift -# extraction is simply unavailable there). -pkg_filegroup( - name = "swift-syntax-parse-arch", - srcs = select_os( + ] + select_os( + linux = ["//unified/swift-syntax-rs:swift_runtime_libs"], otherwise = [], - posix = ["//unified/swift-syntax-rs:swift-syntax-parse-pkg"], ), prefix = "tools/{CODEQL_PLATFORM}", ) @@ -66,7 +56,6 @@ codeql_pack( ":codeql-extractor-yml", ":dbscheme-group", ":extractor-arch", - ":swift-syntax-parse-arch", "//unified/tools", ], ) diff --git a/unified/extractor/BUILD.bazel b/unified/extractor/BUILD.bazel index dea196ada0e5..8b175d7fc756 100644 --- a/unified/extractor/BUILD.bazel +++ b/unified/extractor/BUILD.bazel @@ -1,12 +1,6 @@ load("//misc/bazel:rust.bzl", "codeql_rust_binary") load("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl", "aliases", "all_crate_deps") load("//unified:platforms.bzl", "UNIFIED_SUPPORTED_PLATFORMS") -load("//unified/swift-syntax-rs:swift_runtime.bzl", "swift_runtime_libs") - -swift_runtime_libs( - name = "swift_runtime_libs", - toolchain = "@swift_toolchain_ubuntu22.04//:files", -) exports_files(["Cargo.toml"]) @@ -19,8 +13,8 @@ codeql_rust_binary( "swift_node_types.yml", ], data = select({ - "@platforms//os:macos": [], - "@platforms//os:linux": [":swift_runtime_libs"], + "@platforms//os:linux": ["//unified/swift-syntax-rs:swift_runtime_libs"], + "//conditions:default": [], }), proc_macro_deps = all_crate_deps( proc_macro = True, diff --git a/unified/swift-syntax-rs/BUILD.bazel b/unified/swift-syntax-rs/BUILD.bazel index 8f2a5886fd22..0f04f3e9182c 100644 --- a/unified/swift-syntax-rs/BUILD.bazel +++ b/unified/swift-syntax-rs/BUILD.bazel @@ -1,6 +1,5 @@ +load("@rules_cc//cc:defs.bzl", "cc_library") load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test") -load("@rules_shell//shell:sh_binary.bzl", "sh_binary") -load("//misc/bazel:pkg.bzl", "codeql_pkg_runfiles") load("//unified:platforms.bzl", "UNIFIED_SUPPORTED_PLATFORMS") load(":swift_runtime.bzl", "swift_runtime_libs") load(":xcode_transition.bzl", "xcode_transition_swift_library") @@ -12,8 +11,18 @@ swift_runtime_libs( toolchain = "@swift_toolchain_ubuntu22.04//:files", ) -# Swift FFI shim: wraps swift-syntax and exposes a small C ABI. The Rust -# targets below link against its `CcInfo`. +# The `$ORIGIN` runpath makes an executable look beside itself instead, so +# we find the Swift runtime libraries we bundle with the extractor. +cc_library( + name = "swift_runtime_rpath", + linkopts = select({ + "@platforms//os:linux": ["-Wl,-rpath,$$ORIGIN"], + "//conditions:default": [], + }), + target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, +) + +# Swift FFI shim: wraps swift-syntax and exposes a small C ABI. xcode_transition_swift_library( name = "swift_syntax_ffi", srcs = ["swift/Sources/SwiftSyntaxFFI/SwiftSyntaxFFI.swift"], @@ -27,7 +36,7 @@ xcode_transition_swift_library( ) # Safe Rust bindings on top of the C ABI. Under Bazel the Swift side comes -# from `:swift_syntax_ffi`; `build.rs` is only used by the `cargo` workflow. +# from `:swift_syntax_ffi`. rust_library( name = "swift_syntax_rs", srcs = glob( @@ -37,61 +46,33 @@ rust_library( edition = "2024", target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, deps = [ + ":swift_runtime_rpath", ":swift_syntax_ffi", ], ) -# The Swift front-end parser. We ship it like `//swift/extractor`: a small shell -# wrapper (`swift-syntax-parse`) sets `LD_LIBRARY_PATH`/`DYLD_LIBRARY_PATH` to its -# own directory and execs the real binary (`swift-syntax-parse.real`); the Swift -# runtime shared libraries are packaged alongside them. `parse.rs` resolves the -# wrapper as a sibling of the extractor executable. +# A debugging aid, for looking at the raw swift-syntax JSON for some input: +# +# echo 'let x = 1' | bazel run //unified/swift-syntax-rs:swift-syntax-parse rust_binary( - name = "swift-syntax-parse.real", + name = "swift-syntax-parse", srcs = ["src/main.rs"], - # Target name carries `.real` (invalid in a crate name), so set it explicitly. - crate_name = "swift_syntax_parse", - # On Linux, carry the toolchain's runtime shared libraries as runfiles so - # they get packaged next to the binary. On macOS the OS provides the Swift - # runtime, so nothing extra is bundled. data = select({ - "@platforms//os:macos": [], "@platforms//os:linux": [":swift_runtime_libs"], + "//conditions:default": [], }), edition = "2024", target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, deps = [":swift_syntax_rs"], ) -# `swift-syntax-parse` wrapper (see `swift-syntax-parse.sh`). Its runfiles carry -# the real binary and the runtime libraries; packaging flattens them into one -# directory. -sh_binary( - name = "swift-syntax-parse", - srcs = ["swift-syntax-parse.sh"], - data = [":swift-syntax-parse.real"], - target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, -) - -# Packaged form for the extractor pack: the wrapper (as `swift-syntax-parse`), -# the real binary, and the runtime libraries, flattened into one directory. -codeql_pkg_runfiles( - name = "swift-syntax-parse-pkg", - # The `.sh` source is shipped as `swift-syntax-parse` (the wrapper); drop the - # original filename. - excludes = ["swift-syntax-parse.sh"], - exes = [":swift-syntax-parse"], - target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, - visibility = ["//unified:__pkg__"], -) - rust_test( name = "swift_syntax_rs_test", size = "small", crate = ":swift_syntax_rs", data = select({ - "@platforms//os:macos": [], "@platforms//os:linux": [":swift_runtime_libs"], + "//conditions:default": [], }), edition = "2024", target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, diff --git a/unified/swift-syntax-rs/swift-syntax-parse.sh b/unified/swift-syntax-rs/swift-syntax-parse.sh deleted file mode 100755 index 811697c820c6..000000000000 --- a/unified/swift-syntax-rs/swift-syntax-parse.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# Wrapper that lets the shipped `swift-syntax-parse` find its Swift runtime -# libraries, which are packaged in the same directory as this script (and the -# real binary). Mirrors `swift/extractor/extractor.sh`. -if [[ "$(uname)" == Darwin ]]; then - export DYLD_LIBRARY_PATH=$(dirname "$0") -else - export LD_LIBRARY_PATH=$(dirname "$0") -fi - -exec -a "$0" "$0.real" "$@" From 08359ecc226d5123663d93ef5a5dbe3d1e3983d4 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 6 Aug 2026 11:38:33 +0200 Subject: [PATCH 082/190] unified: Standardsize toString doc --- unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index 8c78a187b766..0df235d521fd 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -310,7 +310,7 @@ module Public { * A representative for a lexically scoped entity, such as a local variable, type name, or module name. */ class LocalName instanceof LocalNameBindingOutput::Local { - /** Gets the name of this local, as a string. */ + /** Gets a textual representation of this local entity. */ string toString() { result = super.toString() } /** Gets the location of this local name's first declaration */ From c782bf39866ea423eb69395fe8cb4401da267fde Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Thu, 6 Aug 2026 11:43:53 +0200 Subject: [PATCH 083/190] Shared: Shadow isAfterValue on ControlFlowNode. --- .../codeql/controlflow/ControlFlowGraph.qll | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll b/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll index 2b5ae0402847..920da5dd04ef 100644 --- a/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll +++ b/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll @@ -2053,6 +2053,33 @@ module Make0 Ast> { result = this.getASuccessor(any(ExceptionSuccessor t)) } + /* + * Note that the following 3 predicates, `isAfterValue`, + * `isAfterTrue`, and `isAfterFalse`, shadow their counterparts in + * `PreControlFlowNode`, and that their semantics are slightly + * different. + * + * This is because, in `PreControlFlowNode`, during CFG construction, + * we need to identify the control flow node that results from the + * evaluation of an AST node to a certain value, but that control + * flow node may or may not encode that fact. In contrast, in + * `ControlFlowNode`, we instead want to know what the node actually + * encodes. + */ + + /** Holds if this node indicates that `n` evaluates to the value `t`. */ + predicate isAfterValue(AstNode n, ConditionalSuccessor t) { this = TAfterValueNode(n, t) } + + /** Holds if this node indicates that `n` evaluates to the value `true`. */ + predicate isAfterTrue(AstNode n) { + this = TAfterValueNode(n, any(BooleanSuccessor b | b.getValue() = true)) + } + + /** Holds if this node indicates that `n` evaluates to the value `false`. */ + predicate isAfterFalse(AstNode n) { + this = TAfterValueNode(n, any(BooleanSuccessor b | b.getValue() = false)) + } + /** * Holds if this node dominates `that` node. * From 8d9792ab7d46fae73a451033c2320d095732580a Mon Sep 17 00:00:00 2001 From: Jeroen Ketema <93738568+jketema@users.noreply.github.com> Date: Thu, 6 Aug 2026 09:55:59 +0000 Subject: [PATCH 084/190] Unified: Make test runnable under Bazel --- unified/extractor/BUILD.bazel | 52 +++++++++++++++++++++++++ unified/extractor/tests/corpus_tests.rs | 21 +++++++++- 2 files changed, 72 insertions(+), 1 deletion(-) diff --git a/unified/extractor/BUILD.bazel b/unified/extractor/BUILD.bazel index 8b175d7fc756..7959ffe384ad 100644 --- a/unified/extractor/BUILD.bazel +++ b/unified/extractor/BUILD.bazel @@ -1,3 +1,4 @@ +load("@rules_rust//rust:defs.bzl", "rust_test") load("//misc/bazel:rust.bzl", "codeql_rust_binary") load("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl", "aliases", "all_crate_deps") load("//unified:platforms.bzl", "UNIFIED_SUPPORTED_PLATFORMS") @@ -29,3 +30,54 @@ codeql_rust_binary( "//unified/swift-syntax-rs:swift_syntax_rs", ], ) + +_TESTS = { + "corpus_tests": { + "data": glob(["tests/corpus/**"]), + "compile_data": [], + "size": "medium", + }, + # `include_str!`s a checked-in `parse_to_json` dump. + "swift_syntax_pipeline": { + "data": [], + "compile_data": glob(["tests/fixtures/**"]), + "size": "small", + }, +} + +[ + rust_test( + name = test_name, + size = spec["size"], + srcs = ["tests/%s.rs" % test_name] + glob(["src/**/*.rs"]), + aliases = aliases(), + compile_data = [ + "ast_types.yml", + "swift_node_types.yml", + ] + spec["compile_data"], + crate_root = "tests/%s.rs" % test_name, + data = spec["data"] + select({ + "@platforms//os:linux": ["//unified/swift-syntax-rs:swift_runtime_libs"], + "//conditions:default": [], + }), + edition = "2024", + proc_macro_deps = all_crate_deps( + proc_macro = True, + ), + rustc_flags = ["--cfg=bazel"], + target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, + deps = all_crate_deps( + normal = True, + ) + [ + "//shared/tree-sitter-extractor", + "//shared/yeast", + "//unified/swift-syntax-rs:swift_syntax_rs", + ], + ) + for test_name, spec in _TESTS.items() +] + +test_suite( + name = "all_tests", + tests = [":%s" % test_name for test_name in _TESTS], +) diff --git a/unified/extractor/tests/corpus_tests.rs b/unified/extractor/tests/corpus_tests.rs index 39cbab3194c7..319503ce4b63 100644 --- a/unified/extractor/tests/corpus_tests.rs +++ b/unified/extractor/tests/corpus_tests.rs @@ -96,11 +96,30 @@ fn collect_corpus_stems(dir: &Path, out: &mut Vec) { } } +#[cfg(bazel)] +fn corpus_dir() -> std::path::PathBuf { + let base = std::path::PathBuf::from( + std::env::var("RUNFILES_DIR").expect("RUNFILES_DIR not set"), + ); + std::fs::read_dir(&base) + .expect("failed to read RUNFILES_DIR") + .filter_map(Result::ok) + .map(|entry| entry.path().join("unified/extractor/tests/corpus")) + .find(|path| path.exists()) + .expect("corpus not found under any runfiles repo root") +} + +#[cfg(not(bazel))] +fn corpus_dir() -> std::path::PathBuf { + std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("tests/corpus") +} + + #[test] fn test_corpus() { let update_mode = update_mode_enabled(); let all_languages = languages::all_language_specs(); - let corpus_dir = Path::new("tests/corpus"); + let corpus_dir = corpus_dir(); for lang in all_languages { let output_schema = yeast::node_types_yaml::schema_from_yaml(languages::OUTPUT_AST_SCHEMA) From 808ef1538fb9fff541df76895d8670dd3cd42a1c Mon Sep 17 00:00:00 2001 From: Jeroen Ketema <93738568+jketema@users.noreply.github.com> Date: Thu, 6 Aug 2026 10:13:48 +0000 Subject: [PATCH 085/190] Unified: Ensure extractor can find the Swift `.so` when built with cargo --- unified/extractor/build.rs | 10 ++++++++++ unified/swift-syntax-rs/Cargo.toml | 1 + unified/swift-syntax-rs/build.rs | 2 ++ 3 files changed, 13 insertions(+) create mode 100644 unified/extractor/build.rs diff --git a/unified/extractor/build.rs b/unified/extractor/build.rs new file mode 100644 index 000000000000..bf4053308e9f --- /dev/null +++ b/unified/extractor/build.rs @@ -0,0 +1,10 @@ +fn main() { + if let Ok(dir) = std::env::var("DEP_SWIFTSYNTAXFFI_LIBDIR") { + println!("cargo:rustc-link-search=native={dir}"); + println!("cargo:rustc-link-lib=dylib=SwiftSyntaxFFI"); + println!("cargo:rustc-link-arg=-Wl,-rpath,{dir}"); + } + if let Ok(dir) = std::env::var("DEP_SWIFTSYNTAXFFI_RUNTIMEDIR") { + println!("cargo:rustc-link-arg=-Wl,-rpath,{dir}"); + } +} diff --git a/unified/swift-syntax-rs/Cargo.toml b/unified/swift-syntax-rs/Cargo.toml index 6957fb0e50e9..38470341060a 100644 --- a/unified/swift-syntax-rs/Cargo.toml +++ b/unified/swift-syntax-rs/Cargo.toml @@ -4,6 +4,7 @@ description = "Rust wrapper around the swift-syntax package for parsing Swift so version = "0.1.0" authors = ["GitHub"] edition = "2024" +links = "SwiftSyntaxFFI" [lib] name = "swift_syntax_rs" diff --git a/unified/swift-syntax-rs/build.rs b/unified/swift-syntax-rs/build.rs index 1056c5a62518..f1fc4b3df7cd 100644 --- a/unified/swift-syntax-rs/build.rs +++ b/unified/swift-syntax-rs/build.rs @@ -56,11 +56,13 @@ fn main() { println!("cargo:rustc-link-search=native={}", build_dir.display()); println!("cargo:rustc-link-lib=dylib=SwiftSyntaxFFI"); println!("cargo:rustc-link-arg=-Wl,-rpath,{}", build_dir.display()); + println!("cargo:libdir={}", build_dir.display()); // The executable also needs to find the Swift runtime libraries at run time. if let Some(runtime) = swift_runtime_dir() { println!("cargo:rustc-link-search=native={}", runtime.display()); println!("cargo:rustc-link-arg=-Wl,-rpath,{}", runtime.display()); + println!("cargo:runtimedir={}", runtime.display()); } } From 47d6b113fc32d029a766f9210e1c7a4b5a32de9f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 6 Aug 2026 11:29:35 +0000 Subject: [PATCH 086/190] Post-release preparation for codeql-cli-2.26.3 --- actions/ql/lib/qlpack.yml | 2 +- actions/ql/src/qlpack.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- rust/ql/lib/qlpack.yml | 2 +- rust/ql/src/qlpack.yml | 2 +- shared/concepts/qlpack.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/namebinding/qlpack.yml | 2 +- shared/quantum/qlpack.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typeinference/qlpack.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 42 files changed, 42 insertions(+), 42 deletions(-) diff --git a/actions/ql/lib/qlpack.yml b/actions/ql/lib/qlpack.yml index 859c7eb4a6f4..d34e010773d5 100644 --- a/actions/ql/lib/qlpack.yml +++ b/actions/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-all -version: 0.5.0 +version: 0.5.1-dev library: true warnOnImplicitThis: true dependencies: diff --git a/actions/ql/src/qlpack.yml b/actions/ql/src/qlpack.yml index 648a6fb436fa..7fd1cb7e8d76 100644 --- a/actions/ql/src/qlpack.yml +++ b/actions/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-queries -version: 0.6.33 +version: 0.6.34-dev library: false warnOnImplicitThis: true groups: [actions, queries] diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index fd32327163ba..0d952a0c1bf9 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 12.0.2 +version: 12.0.3-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 8495d389e7fb..278570c799c1 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.8.1 +version: 1.8.2-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 8333936d134a..0cfb3ff63b60 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.72 +version: 1.7.73-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 5379a3416f94..6b8fec930b4c 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.72 +version: 1.7.73-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index 82fec250fc95..508cf13c8ff8 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 7.1.2 +version: 7.1.3-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index 647d273d52bc..4ef09838698b 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.9.1 +version: 1.9.2-dev groups: - csharp - queries diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index 3ade0367079d..60858d6a6abe 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.55 +version: 1.0.56-dev groups: - go - queries diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index d11fb5937d3b..f9e43b1c5c5f 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 7.2.3 +version: 7.2.4-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index 61ae6f2fe439..85593d15c062 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.6.8 +version: 1.6.9-dev groups: - go - queries diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index e8e9de7cd03c..1dd82feca5c3 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 9.2.3 +version: 9.2.4-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index e22f77c81351..058109d0e15f 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.11.8 +version: 1.11.9-dev groups: - java - queries diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index a8caae8cf334..ede19f219f4a 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.9.0 +version: 2.9.1-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index b21af7515f5b..0637027f116e 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 2.4.3 +version: 2.4.4-dev groups: - javascript - queries diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index dff0d253cbce..7ced46ab5f70 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.55 +version: 1.0.56-dev groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index d8914df8750b..03adb1ffdb0d 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 7.2.3 +version: 7.2.4-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index 1aca14fd33ae..fbc81c7cc67f 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.8.8 +version: 1.8.9-dev groups: - python - queries diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 597e6242c9dd..06d3ec94a09b 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 6.0.3 +version: 6.0.4-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 60d063996d4a..5254397baeea 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.6.8 +version: 1.6.9-dev groups: - ruby - queries diff --git a/rust/ql/lib/qlpack.yml b/rust/ql/lib/qlpack.yml index 9f013c345d61..540d610d6973 100644 --- a/rust/ql/lib/qlpack.yml +++ b/rust/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rust-all -version: 0.2.19 +version: 0.2.20-dev groups: rust extractor: rust dbscheme: rust.dbscheme diff --git a/rust/ql/src/qlpack.yml b/rust/ql/src/qlpack.yml index a4a357bff44f..81689b84b84c 100644 --- a/rust/ql/src/qlpack.yml +++ b/rust/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rust-queries -version: 0.1.40 +version: 0.1.41-dev groups: - rust - queries diff --git a/shared/concepts/qlpack.yml b/shared/concepts/qlpack.yml index b00bbb9f887b..396702b47ac7 100644 --- a/shared/concepts/qlpack.yml +++ b/shared/concepts/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/concepts -version: 0.0.29 +version: 0.0.30-dev groups: shared library: true dependencies: diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index d3cc00f776ed..d8cef947cef8 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 2.0.39 +version: 2.0.40-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3c53868dc3ce..3d006f14f1e9 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 2.1.11 +version: 2.1.12-dev groups: shared library: true dependencies: diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 72caf44fdad2..512f38311c1c 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.55 +version: 1.0.56-dev groups: shared library: true dependencies: diff --git a/shared/namebinding/qlpack.yml b/shared/namebinding/qlpack.yml index 587b6de4f125..f7148fda4b99 100644 --- a/shared/namebinding/qlpack.yml +++ b/shared/namebinding/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/namebinding -version: 0.0.4 +version: 0.0.5-dev groups: shared library: true dependencies: diff --git a/shared/quantum/qlpack.yml b/shared/quantum/qlpack.yml index c26d83a0a25f..e6d49cdd37fb 100644 --- a/shared/quantum/qlpack.yml +++ b/shared/quantum/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/quantum -version: 0.0.33 +version: 0.0.34-dev groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index d8b0292bfdae..1a2c8789b3c0 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.55 +version: 1.0.56-dev groups: shared library: true dependencies: diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 187bb5f5af95..93d5bd2a5b9e 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.55 +version: 1.0.56-dev groups: shared library: true dependencies: diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index a66e5225abd0..fae71bc1f950 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 2.0.31 +version: 2.0.32-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 93ab66cfc33f..6717a88aa990 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.55 +version: 1.0.56-dev library: true groups: shared dataExtensions: diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index 0a6f77df0754..2f41f25c2f2a 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.55 +version: 1.0.56-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index deb074f38410..2f25d00ba810 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.55 +version: 1.0.56-dev groups: shared library: true dependencies: diff --git a/shared/typeinference/qlpack.yml b/shared/typeinference/qlpack.yml index b2bef17c8c5a..8f5e25ee40f5 100644 --- a/shared/typeinference/qlpack.yml +++ b/shared/typeinference/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeinference -version: 0.0.36 +version: 0.0.37-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index b4c98d2ed55b..546ade1b9009 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 2.0.39 +version: 2.0.40-dev groups: shared library: true dependencies: diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index 7f17b05eb5dc..8ab53a9e282c 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.55 +version: 1.0.56-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index 85d435b88027..f24d0b264364 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 2.0.42 +version: 2.0.43-dev groups: shared library: true dependencies: null diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 2e4d61f11abe..99d7e6f74a93 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.55 +version: 1.0.56-dev groups: shared library: true dependencies: diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 5c5a36fa69f3..530e0c8452e1 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.55 +version: 1.0.56-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index 856752875cd8..78f6f1947d9f 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 6.8.1 +version: 6.8.2-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 91be0e594012..26e142611198 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.3.8 +version: 1.3.9-dev groups: - swift - queries From c2d938389fe29ebf0e34d0585cc1d587bdb4b225 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Thu, 6 Aug 2026 14:16:58 +0200 Subject: [PATCH 087/190] Address Copilot review comments --- unified/extractor/build.rs | 2 ++ unified/extractor/tests/corpus_tests.rs | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/unified/extractor/build.rs b/unified/extractor/build.rs index bf4053308e9f..22db82bc0ff3 100644 --- a/unified/extractor/build.rs +++ b/unified/extractor/build.rs @@ -1,4 +1,6 @@ fn main() { + println!("cargo:rustc-check-cfg=cfg(bazel)"); + if let Ok(dir) = std::env::var("DEP_SWIFTSYNTAXFFI_LIBDIR") { println!("cargo:rustc-link-search=native={dir}"); println!("cargo:rustc-link-lib=dylib=SwiftSyntaxFFI"); diff --git a/unified/extractor/tests/corpus_tests.rs b/unified/extractor/tests/corpus_tests.rs index 319503ce4b63..f0a3c448f12b 100644 --- a/unified/extractor/tests/corpus_tests.rs +++ b/unified/extractor/tests/corpus_tests.rs @@ -114,7 +114,6 @@ fn corpus_dir() -> std::path::PathBuf { std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("tests/corpus") } - #[test] fn test_corpus() { let update_mode = update_mode_enabled(); From fc66e89940515130b20758aa33245b7fca422034 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Thu, 6 Aug 2026 15:08:59 +0200 Subject: [PATCH 088/190] Yeast: silence warning ``` warning: hiding a lifetime that's elided elsewhere is confusing --> external/ql+/shared/yeast/src/lib.rs:495:17 | 495 | pub fn walk(&self) -> AstCursor { | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here | | | the lifetime is elided here | = help: the same lifetime is referred to in inconsistent ways, making the signature confusing = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default help: use `'_` for type paths | 495 | pub fn walk(&self) -> AstCursor<'_> { | ++++ warning: 1 warning emitted ``` --- shared/yeast/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/yeast/src/lib.rs b/shared/yeast/src/lib.rs index cf06d2d2c17b..c290246541f5 100644 --- a/shared/yeast/src/lib.rs +++ b/shared/yeast/src/lib.rs @@ -492,7 +492,7 @@ impl Ast { } } - pub fn walk(&self) -> AstCursor { + pub fn walk(&self) -> AstCursor<'_> { AstCursor::new(self) } From 51c5d65d6c357bbef60a3d99ff6f10698f76bef6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Aug 2026 15:07:11 +0000 Subject: [PATCH 089/190] Sync unified docs with PR #22290 (in-process swift-syntax-rs parsing) Co-authored-by: jketema <93738568+jketema@users.noreply.github.com> --- unified/AGENTS.md | 14 +++++++------- unified/swift-syntax-rs/README.md | 23 +++++++++++------------ 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/unified/AGENTS.md b/unified/AGENTS.md index 9c9bbbb534cb..1de07ee2eab9 100644 --- a/unified/AGENTS.md +++ b/unified/AGENTS.md @@ -8,9 +8,10 @@ by Apple's swift-syntax rather than by tree-sitter. - To build the extractor, run `scripts/create-extractor-pack.sh` ## Swift Parser -- Swift source is parsed by `swift-syntax-parse`, a small Swift/Rust binary in - `swift-syntax-rs` that wraps Apple's swift-syntax and emits the parse tree as - JSON. There is no grammar in this repository to edit. +- Swift source is parsed by the `swift-syntax-rs` crate, which wraps Apple's + swift-syntax. The extractor calls `swift_syntax_rs::parse_to_json` in-process + to obtain the parse tree as JSON — there is no separate parser binary and no + grammar in this repository to edit. - `extractor/src/languages/swift/adapter.rs` converts that JSON into a yeast AST. @@ -23,10 +24,9 @@ by Apple's swift-syntax rather than by tree-sitter. - The mapping from the parse tree to the target AST is found in `extractor/src/languages/swift/swift.rs` - To run tests for the parser and mapping, run `cargo test` in the `extractor` - directory. The tests need the `swift-syntax-parse` binary: point - `CODEQL_EXTRACTOR_UNIFIED_SWIFT_SYNTAX_PARSE` at it, or put it on `PATH`. - Corpus tests skip themselves when it cannot be found, so check for skips - before concluding a change is clean. + directory. Since the parser is linked in-process, this needs a working Swift + toolchain (so `swift-syntax-rs` can build). The tests can also be run under + Bazel via `bazel test //unified/extractor:all_tests`. - Extractor test cases are located at `extractor/tests/corpus/swift/*/*.swift`. diff --git a/unified/swift-syntax-rs/README.md b/unified/swift-syntax-rs/README.md index 7d15c6f2c23e..8a93e4739d9d 100644 --- a/unified/swift-syntax-rs/README.md +++ b/unified/swift-syntax-rs/README.md @@ -132,27 +132,22 @@ The build does not depend on any particular version manager. You need: (currently `6.3.2`), used to build `swift-syntax` `603.0.2`. Install it any way you like — [swift.org](https://www.swift.org/install/) or [swiftly](https://www.swift.org/swiftly/) (which reads `.swift-version`), or a - system package. Just make sure `swift` is on your `PATH` (or point `build.rs` - at it with the `SWIFT` environment variable). + system package. Just make sure `swift` (and `swiftc`) are on your `PATH` — + `build.rs` invokes them directly and does not read any environment variable + to locate them. On Debian/Ubuntu the Swift runtime also needs `libncurses6` (and related libs) available on the system. ## Building & testing -With `cargo` and `swift` on `PATH`: +With `cargo` and `swift`/`swiftc` on `PATH`: ```sh cargo build cargo test ``` -If your `swift`/`swiftc` are not on `PATH`, point the build at them explicitly: - -```sh -SWIFT=/path/to/swift SWIFTC=/path/to/swiftc cargo build -``` - The first build compiles `swift-syntax` and can take several minutes. ## Building with Bazel (CI) @@ -170,6 +165,10 @@ bazel test //unified/swift-syntax-rs:swift_syntax_rs_test bazel run //unified/swift-syntax-rs:swift-syntax-parse < some.swift ``` +The `swift-syntax-parse` binary is a debugging aid for looking at the raw +swift-syntax JSON for some input; it is not shipped as part of the extractor +pack, which links `swift-syntax-rs` directly instead. + Requirements: - **`clang`** must be installed on the runner. `rules_swift` requires the Bazel @@ -221,9 +220,9 @@ echo 'let x = 1' | cargo run --bin swift-syntax-parse The JSON tree is consumed by the CodeQL extractor, which converts it into a [`yeast::Ast`](../../shared/yeast) — the in-memory format its rewrite rules operate on. That adapter is a pure-Rust module living in the extractor -(`unified/extractor/src/languages/swift/adapter.rs`), so the extractor never -needs the Swift toolchain: it consumes the JSON produced out-of-process by this -crate's `parse_to_json` / the `swift-syntax-parse` binary. +(`unified/extractor/src/languages/swift/adapter.rs`). The extractor links +`swift-syntax-rs` directly and consumes the JSON produced in-process by this +crate's `parse_to_json`. ## Layout From 381ef187952851f6f4d69022b7a1f24d8400dccc Mon Sep 17 00:00:00 2001 From: Jeroen Ketema <93738568+jketema@users.noreply.github.com> Date: Thu, 6 Aug 2026 17:17:25 +0200 Subject: [PATCH 090/190] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- unified/AGENTS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unified/AGENTS.md b/unified/AGENTS.md index 1de07ee2eab9..bbd271764f45 100644 --- a/unified/AGENTS.md +++ b/unified/AGENTS.md @@ -10,8 +10,8 @@ by Apple's swift-syntax rather than by tree-sitter. ## Swift Parser - Swift source is parsed by the `swift-syntax-rs` crate, which wraps Apple's swift-syntax. The extractor calls `swift_syntax_rs::parse_to_json` in-process - to obtain the parse tree as JSON — there is no separate parser binary and no - grammar in this repository to edit. + to obtain the parse tree as JSON; the extractor does not invoke a separate + parser binary, and there is no grammar in this repository to edit. - `extractor/src/languages/swift/adapter.rs` converts that JSON into a yeast AST. From 1e6ef80a7e2de97b4b45f36ce2365330af65d644 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 6 Aug 2026 21:35:30 +0200 Subject: [PATCH 091/190] Rust: Add another captured varible flow test --- .../ql/test/library-tests/dataflow/lambdas/external_file.rs | 6 ++++++ .../library-tests/dataflow/lambdas/inline-flow.expected | 5 +++++ rust/ql/test/library-tests/dataflow/lambdas/main.rs | 1 + 3 files changed, 12 insertions(+) diff --git a/rust/ql/test/library-tests/dataflow/lambdas/external_file.rs b/rust/ql/test/library-tests/dataflow/lambdas/external_file.rs index 190733fd482a..c43269e48c16 100644 --- a/rust/ql/test/library-tests/dataflow/lambdas/external_file.rs +++ b/rust/ql/test/library-tests/dataflow/lambdas/external_file.rs @@ -3,3 +3,9 @@ pub fn may_invoke_callback1(f: F) {} pub fn may_invoke_callback2(f: F) {} pub fn may_invoke_callback3(f: impl Fn(i64)) {} + +pub fn may_invoke_callback4(f: T) +where + T: for<'a> FnOnce(&'a mut i64), +{ +} diff --git a/rust/ql/test/library-tests/dataflow/lambdas/inline-flow.expected b/rust/ql/test/library-tests/dataflow/lambdas/inline-flow.expected index 049c30c06add..08fb2a66015e 100644 --- a/rust/ql/test/library-tests/dataflow/lambdas/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/lambdas/inline-flow.expected @@ -58,9 +58,11 @@ edges | main.rs:109:13:109:22 | source(...) | main.rs:110:26:110:36 | \|...\| ... : ... => .. [captured a] | provenance | | | main.rs:109:13:109:22 | source(...) | main.rs:111:26:111:36 | \|...\| ... : ... => .. [captured a] | provenance | | | main.rs:109:13:109:22 | source(...) | main.rs:112:26:112:36 | \|...\| ... : ... => .. [captured a] | provenance | | +| main.rs:109:13:109:22 | source(...) | main.rs:113:26:113:36 | \|...\| ... : ... => .. [captured a] | provenance | | | main.rs:110:26:110:36 | \|...\| ... : ... => .. [captured a] | main.rs:110:35:110:35 | a | provenance | heuristic-callback | | main.rs:111:26:111:36 | \|...\| ... : ... => .. [captured a] | main.rs:111:35:111:35 | a | provenance | heuristic-callback | | main.rs:112:26:112:36 | \|...\| ... : ... => .. [captured a] | main.rs:112:35:112:35 | a | provenance | heuristic-callback | +| main.rs:113:26:113:36 | \|...\| ... : ... => .. [captured a] | main.rs:113:35:113:35 | a | provenance | heuristic-callback | nodes | main.rs:10:20:10:52 | if cond {...} else {...} | semmle.label | if cond {...} else {...} | | main.rs:10:30:10:39 | source(...) | semmle.label | source(...) | @@ -134,6 +136,8 @@ nodes | main.rs:111:35:111:35 | a | semmle.label | a | | main.rs:112:26:112:36 | \|...\| ... : ... => .. [captured a] | semmle.label | \|...\| ... : ... => .. [captured a] | | main.rs:112:35:112:35 | a | semmle.label | a | +| main.rs:113:26:113:36 | \|...\| ... : ... => .. [captured a] | semmle.label | \|...\| ... : ... => .. [captured a] | +| main.rs:113:35:113:35 | a | semmle.label | a | subpaths | main.rs:29:21:29:21 | a | main.rs:27:20:27:23 | ... | main.rs:27:26:27:52 | if cond {...} else {...} | main.rs:29:13:29:22 | f(...) | | main.rs:77:21:77:21 | a | main.rs:66:24:66:32 | ...: i64 | main.rs:66:42:72:1 | { ... } | main.rs:77:13:77:22 | f(...) | @@ -156,3 +160,4 @@ testFailures | main.rs:110:35:110:35 | a | main.rs:109:13:109:22 | source(...) | main.rs:110:35:110:35 | a | $@ | main.rs:109:13:109:22 | source(...) | source(...) | | main.rs:111:35:111:35 | a | main.rs:109:13:109:22 | source(...) | main.rs:111:35:111:35 | a | $@ | main.rs:109:13:109:22 | source(...) | source(...) | | main.rs:112:35:112:35 | a | main.rs:109:13:109:22 | source(...) | main.rs:112:35:112:35 | a | $@ | main.rs:109:13:109:22 | source(...) | source(...) | +| main.rs:113:35:113:35 | a | main.rs:109:13:109:22 | source(...) | main.rs:113:35:113:35 | a | $@ | main.rs:109:13:109:22 | source(...) | source(...) | diff --git a/rust/ql/test/library-tests/dataflow/lambdas/main.rs b/rust/ql/test/library-tests/dataflow/lambdas/main.rs index 476a7570e018..742974eaab9c 100644 --- a/rust/ql/test/library-tests/dataflow/lambdas/main.rs +++ b/rust/ql/test/library-tests/dataflow/lambdas/main.rs @@ -110,6 +110,7 @@ fn test_external_call() { may_invoke_callback1(|x| sink(a)); // $ hasValueFlow=81 may_invoke_callback2(|x| sink(a)); // $ hasValueFlow=81 may_invoke_callback3(|x| sink(a)); // $ hasValueFlow=81 + may_invoke_callback4(|x| sink(a)); // $ hasValueFlow=81 } fn main() { From 60baec6745bbe75ee416244bacb0d353370b191b Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 6 Aug 2026 20:33:53 +0200 Subject: [PATCH 092/190] unified: Add test showing problem with literal getValue() getValue() returns an empty string for various literals --- unified/ql/test/library-tests/BasicTest/strings.swift | 1 + unified/ql/test/library-tests/BasicTest/test.expected | 2 ++ unified/ql/test/library-tests/BasicTest/test.ql | 2 ++ 3 files changed, 5 insertions(+) create mode 100644 unified/ql/test/library-tests/BasicTest/strings.swift diff --git a/unified/ql/test/library-tests/BasicTest/strings.swift b/unified/ql/test/library-tests/BasicTest/strings.swift new file mode 100644 index 000000000000..db9ae84e980b --- /dev/null +++ b/unified/ql/test/library-tests/BasicTest/strings.swift @@ -0,0 +1 @@ +let x = "hello" diff --git a/unified/ql/test/library-tests/BasicTest/test.expected b/unified/ql/test/library-tests/BasicTest/test.expected index b9f4eafe8653..6043574bef25 100644 --- a/unified/ql/test/library-tests/BasicTest/test.expected +++ b/unified/ql/test/library-tests/BasicTest/test.expected @@ -35,3 +35,5 @@ nameExpr | test.swift:87:38:87:43 | NameExpr | values | | test.swift:87:49:87:57 | NameExpr | transform | unsupported +stringValue +| strings.swift:1:9:1:15 | | | diff --git a/unified/ql/test/library-tests/BasicTest/test.ql b/unified/ql/test/library-tests/BasicTest/test.ql index 5e70f9303687..8e30af381d61 100644 --- a/unified/ql/test/library-tests/BasicTest/test.ql +++ b/unified/ql/test/library-tests/BasicTest/test.ql @@ -3,3 +3,5 @@ import unified query predicate nameExpr(NameExpr node, string value) { value = node.getIdentifier().getValue() } query predicate unsupported(UnsupportedNode node, string value) { value = node.getValue() } + +query predicate stringValue(StringLiteral e, string value) { value = e.getValue() } From 51fe2730855f84aa1e26cf91fc3d3ec0749a253f Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 6 Aug 2026 20:32:46 +0200 Subject: [PATCH 093/190] unified: Fix extraction of literals --- unified/extractor/src/languages/swift/swift.rs | 12 ++++++------ .../ql/test/library-tests/BasicTest/test.expected | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index ccc1cc7f725d..e76e7ef212d4 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -158,12 +158,12 @@ fn translation_rules() -> Vec> { // swift-syntax does not distinguish the lexical integer/string forms // (hex/binary/octal, single- vs multi-line, raw): each is a single // `*LiteralExpr` kind, so one rule per literal type suffices. - rule!((integerLiteralExpr) => (int_literal)), - rule!((floatLiteralExpr) => (float_literal)), - rule!((booleanLiteralExpr) => (boolean_literal)), - rule!((nilLiteralExpr) => (builtin_expr)), - rule!((stringLiteralExpr) => (string_literal)), - rule!((regexLiteralExpr) => (regex_literal)), + rule!((integerLiteralExpr) @@node => (int_literal #{node})), + rule!((floatLiteralExpr) @@node => (float_literal #{node})), + rule!((booleanLiteralExpr) @@node => (boolean_literal #{node})), + rule!((nilLiteralExpr) @@node => (builtin_expr #{node})), + rule!((stringLiteralExpr) @@node => (string_literal #{node})), + rule!((regexLiteralExpr) @@node => (regex_literal #{node})), // ---- Names ---- // A function reference spelled with argument labels (`f(x:y:z:)`) is a // `declReferenceExpr` carrying `argumentNames`. Mark it unsupported for diff --git a/unified/ql/test/library-tests/BasicTest/test.expected b/unified/ql/test/library-tests/BasicTest/test.expected index 6043574bef25..301cd90ca2a5 100644 --- a/unified/ql/test/library-tests/BasicTest/test.expected +++ b/unified/ql/test/library-tests/BasicTest/test.expected @@ -36,4 +36,4 @@ nameExpr | test.swift:87:49:87:57 | NameExpr | transform | unsupported stringValue -| strings.swift:1:9:1:15 | | | +| strings.swift:1:9:1:15 | "hello" | "hello" | From b71ff8f233772efd41db45affde7f8b0a2a04b00 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 6 Aug 2026 10:00:57 +0200 Subject: [PATCH 094/190] unified: Factor some code into CommentUtil.qll --- unified/ql/lib/utils/test/CommentUtil.qll | 20 +++++++++++++++++++ .../library-tests/local-name-binding/test.ql | 20 +------------------ 2 files changed, 21 insertions(+), 19 deletions(-) create mode 100644 unified/ql/lib/utils/test/CommentUtil.qll diff --git a/unified/ql/lib/utils/test/CommentUtil.qll b/unified/ql/lib/utils/test/CommentUtil.qll new file mode 100644 index 000000000000..6747aed57187 --- /dev/null +++ b/unified/ql/lib/utils/test/CommentUtil.qll @@ -0,0 +1,20 @@ +private import unified + +/** Holds if a comment with `text` appears at `filepath:line`, excluding the text in a `$` section. */ +predicate plainCommentAt(string filepath, int line, string text) { + exists(Comment comment | + comment.getLocation().hasLocationInfo(filepath, line, _, _, _) and + text = comment.getCommentText().regexpReplaceAll("\\$([^/]|/[^/])*", "") + ) +} + +/** Holds if a `key=value` comment appears on `filepath:line` (not in the `$` section). */ +predicate keyValueCommentAt(string filepath, int line, string key, string value) { + exists(string text, string regexp, string match | + plainCommentAt(filepath, line, text) and + regexp = "(\\w+)=([\\w.]+)" and + match = text.regexpFind(regexp, _, _) and + key = match.regexpCapture(regexp, 1) and + value = match.regexpCapture(regexp, 2) + ) +} diff --git a/unified/ql/test/library-tests/local-name-binding/test.ql b/unified/ql/test/library-tests/local-name-binding/test.ql index 0fcae36dd31e..e430f16ba48d 100644 --- a/unified/ql/test/library-tests/local-name-binding/test.ql +++ b/unified/ql/test/library-tests/local-name-binding/test.ql @@ -1,26 +1,8 @@ import unified import utils.test.InlineExpectationsTest +import utils.test.CommentUtil import codeql.unified.internal.LocalNameBinding -/** Holds if a comment with `text` appears at `filepath:line`, excluding the text in a `$` section. */ -predicate plainCommentAt(string filepath, int line, string text) { - exists(Comment comment | - comment.getLocation().hasLocationInfo(filepath, line, _, _, _) and - text = comment.getCommentText().regexpReplaceAll("\\$([^/]|/[^/])*", "") - ) -} - -/** Holds if a `key=value` comment appears on `filepath:line` (not in the `$` section). */ -predicate keyValueCommentAt(string filepath, int line, string key, string value) { - exists(string text, string regexp, string match | - plainCommentAt(filepath, line, text) and - regexp = "(\\w+)=([\\w.]+)" and - match = text.regexpFind(regexp, _, _) and - key = match.regexpCapture(regexp, 1) and - value = match.regexpCapture(regexp, 2) - ) -} - module VariableAccessTest implements TestSig { string getARelevantTag() { result = "access" } From c9fc793d008fe7542b1b3dcb783e88dbe7a3c4f2 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 6 Aug 2026 11:00:46 +0200 Subject: [PATCH 095/190] unified: Fix mapping for compound type names --- .../extractor/src/languages/swift/swift.rs | 10 +- .../corpus/swift/types/qualified-type.output | 139 ++++++++++++++++++ .../corpus/swift/types/qualified-type.swift | 8 + 3 files changed, 154 insertions(+), 3 deletions(-) create mode 100644 unified/extractor/tests/corpus/swift/types/qualified-type.output create mode 100644 unified/extractor/tests/corpus/swift/types/qualified-type.swift diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index e76e7ef212d4..77314ceb678c 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -1014,9 +1014,13 @@ fn translation_rules() -> Vec> { // A named type (`Int`). `identifierType.name` is the type-name token. rule!((identifierType name: @@n) => (named_type_expr name: (identifier #{n}))), // A qualified type (`Outer.Inner`, `NSString.CompareOptions`). swift-syntax - // nests these as `memberType` nodes; we keep the whole dotted path as the - // opaque `named_type_expr` name. - rule!((memberType) @ty => (named_type_expr name: (identifier #{ty}))), + // nests these as `memberType` nodes; preserve the nesting in the + // named_type_expr qualifier field. + rule!( + (memberType baseType: @base name: @@name) + => + (named_type_expr qualifier: {base} name: (identifier #{name})) + ), // Sugared types desugar to `generic_type_expr`: `T?` -> Optional, // `[T]` -> Array, `[K: V]` -> Dictionary. rule!( diff --git a/unified/extractor/tests/corpus/swift/types/qualified-type.output b/unified/extractor/tests/corpus/swift/types/qualified-type.output new file mode 100644 index 000000000000..f561dc6ab2dc --- /dev/null +++ b/unified/extractor/tests/corpus/swift/types/qualified-type.output @@ -0,0 +1,139 @@ +struct Outer { + struct Inner { + struct Deep {} + } +} + +let value: Outer.Inner +let nested: Outer.Inner.Deep + +--- + +sourceFile + endOfFileToken: endOfFile + statements: + codeBlockItem + item: + structDecl + attributes: + name: identifier "Outer" + memberBlock: + memberBlock + leftBrace: { + rightBrace: } + members: + memberBlockItem + decl: + structDecl + attributes: + name: identifier "Inner" + memberBlock: + memberBlock + leftBrace: { + rightBrace: } + members: + memberBlockItem + decl: + structDecl + attributes: + name: identifier "Deep" + memberBlock: + memberBlock + leftBrace: { + rightBrace: } + members: + modifiers: + structKeyword: struct + modifiers: + structKeyword: struct + modifiers: + structKeyword: struct + codeBlockItem + item: + variableDecl + attributes: + modifiers: + bindingSpecifier: let + bindings: + patternBinding + pattern: + identifierPattern + identifier: identifier "value" + typeAnnotation: + typeAnnotation + colon: : + type: + memberType + name: identifier "Inner" + baseType: + identifierType + name: identifier "Outer" + period: . + codeBlockItem + item: + variableDecl + attributes: + modifiers: + bindingSpecifier: let + bindings: + patternBinding + pattern: + identifierPattern + identifier: identifier "nested" + typeAnnotation: + typeAnnotation + colon: : + type: + memberType + name: identifier "Deep" + baseType: + memberType + name: identifier "Inner" + baseType: + identifierType + name: identifier "Outer" + period: . + period: . + +--- + +top_level + body: + block + stmt: + class_like_declaration + modifier: modifier "struct" + name: identifier "Outer" + member: + class_like_declaration + modifier: modifier "struct" + name: identifier "Inner" + member: + class_like_declaration + modifier: modifier "struct" + name: identifier "Deep" + variable_declaration + modifier: modifier "let" + pattern: + name_pattern + identifier: identifier "value" + type: + named_type_expr + qualifier: + named_type_expr + name: identifier "Outer" + name: identifier "Inner" + variable_declaration + modifier: modifier "let" + pattern: + name_pattern + identifier: identifier "nested" + type: + named_type_expr + qualifier: + named_type_expr + qualifier: + named_type_expr + name: identifier "Outer" + name: identifier "Inner" + name: identifier "Deep" diff --git a/unified/extractor/tests/corpus/swift/types/qualified-type.swift b/unified/extractor/tests/corpus/swift/types/qualified-type.swift new file mode 100644 index 000000000000..9c5fbae3cf7b --- /dev/null +++ b/unified/extractor/tests/corpus/swift/types/qualified-type.swift @@ -0,0 +1,8 @@ +struct Outer { + struct Inner { + struct Deep {} + } +} + +let value: Outer.Inner +let nested: Outer.Inner.Deep From f50c80a753b4c6c83092a21d978b4bcd32dc6474 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 6 Aug 2026 10:47:36 +0200 Subject: [PATCH 096/190] unified: Initial static name binding pass This supports only a minimal set of features but sets up the structure we'll be using for supporting more features. --- .../lib/codeql/unified/internal/FacadeAst.qll | 8 + .../unified/internal/LocalNameBinding.qll | 67 ++++-- .../unified/internal/NameBindingPlugin.qll | 37 ++++ .../internal/NameBindingPluginSwift.qll | 24 +++ .../unified/internal/StaticNameBinding.qll | 197 ++++++++++++++++++ ...Graph.ql => debugLocalNameBindingGraph.ql} | 6 +- .../dev/debugStaticNameBindingGraph.ql | 16 ++ .../static-name-binding/test.expected | 0 .../library-tests/static-name-binding/test.ql | 51 +++++ .../static-name-binding/test.swift | 44 ++++ 10 files changed, 428 insertions(+), 22 deletions(-) create mode 100644 unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll create mode 100644 unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll create mode 100644 unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll rename unified/ql/lib/codeql/unified/internal/dev/{debugScopeGraph.ql => debugLocalNameBindingGraph.ql} (72%) create mode 100644 unified/ql/lib/codeql/unified/internal/dev/debugStaticNameBindingGraph.ql create mode 100644 unified/ql/test/library-tests/static-name-binding/test.expected create mode 100644 unified/ql/test/library-tests/static-name-binding/test.ql create mode 100644 unified/ql/test/library-tests/static-name-binding/test.swift diff --git a/unified/ql/lib/codeql/unified/internal/FacadeAst.qll b/unified/ql/lib/codeql/unified/internal/FacadeAst.qll index a25fb3447c1e..a5d057135d87 100644 --- a/unified/ql/lib/codeql/unified/internal/FacadeAst.qll +++ b/unified/ql/lib/codeql/unified/internal/FacadeAst.qll @@ -17,6 +17,14 @@ module Unified { mod.getValue() = text ) } + + /** Gets the nearest enclosing class declaration, possibly this node itself. */ + ClassLikeDeclaration getEnclosingClass() { + result = this + or + not this instanceof ClassLikeDeclaration and + result = this.getParent().getEnclosingClass() + } } /** The base class for all patterns. */ diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index 0df235d521fd..59f94b433ba7 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -184,79 +184,92 @@ private module LocalNameBindingInput implements LocalNameBindingInputSig; module Public { @@ -319,6 +334,20 @@ module Public { /** Gets the name of this local, as a string. */ string getName() { result = super.getName() } } + + /** An identifier that appears as the declaration site of a name, such as the `x` in `let x = 123`. */ + class NameDeclaration extends Identifier { + NameDeclaration() { LocalNameBindingInput::bindingContext(this, _, _) } + + /** Gets the statement-like node declaring this name, such as a `VariableDeclaration` or `CatchClause`. */ + AstNode getDeclaration() { LocalNameBindingInput::bindingContext(this, _, result) } + + /** Gets the name being declared. */ + string getName() { result = this.getValue() } + + /** Gets the representative for the local name introduced by this declaration. */ + LocalName getLocalName() { result = this.(LocalNameBindingOutput::LocalAccess).getLocal() } + } } /** @@ -342,7 +371,7 @@ class PotentialLocalNameAccess extends Identifier { or this = any(NamedTypeExpr e | not exists(e.getQualifier())).getName() or - LocalNameBindingInput::bindingContext(this, _) + this instanceof NameDeclaration } LocalName getLocalName() { result = this.(LocalNameBindingOutput::LocalAccess).getLocal() } @@ -350,5 +379,5 @@ class PotentialLocalNameAccess extends Identifier { string getName() { result = this.getValue() } /** Holds if this is one of the declaration sites for a name, such as the `x` in `let x = 123`. */ - predicate isDeclarationSite() { LocalNameBindingInput::bindingContext(this, _) } + predicate isDeclarationSite() { this instanceof NameDeclaration } } diff --git a/unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll b/unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll new file mode 100644 index 000000000000..5ef34d6fe2da --- /dev/null +++ b/unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll @@ -0,0 +1,37 @@ +private import unified +private import codeql.util.Unit +private import codeql.unified.internal.NameBindingPluginSwift // ensure overrides are seen + +/** Extension point for language-specific inputs to name binding. */ +class NameBindingPlugin extends Unit { + /** + * Holds if `member` is an instance member. + * + * The caller has already restricted `member` to be a member of `cls`, and + * ensured that `member` is a `VariableDeclaration` or `FunctionDeclaration`. + */ + bindingset[cls, member] + predicate isInstanceMember(ClassLikeDeclaration cls, Member member) { none() } + + /** + * Holds if `member` is only visible in its local scope, and can thus be entirely resolved + * by local name-binding, suppressing any store-steps that would otherwise be induced from the member. + * + * Need only be implemented for members that occur in the context of class or top-level, as other + * contexts are considered local already. + */ + predicate isPrivateToLocalScope(Member member) { none() } +} + +/** Holds if `member` is an instance member. */ +predicate isInstanceMember(Member member) { + (member instanceof VariableDeclaration or member instanceof FunctionDeclaration) and + exists(ClassLikeDeclaration cls | cls.getAMember() = member | + any(NameBindingPlugin p).isInstanceMember(cls, member) + ) +} + +/** Holds if `member` is only visible in its local scope. */ +predicate isPrivateToLocalScope(Member member) { + any(NameBindingPlugin p).isPrivateToLocalScope(member) +} diff --git a/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll b/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll new file mode 100644 index 000000000000..98d30c5d779f --- /dev/null +++ b/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll @@ -0,0 +1,24 @@ +/** + * Provides Swift-specific name binding rules. + */ + +private import unified +private import codeql.unified.internal.NameBindingPlugin + +class NameBindingPluginSwift extends NameBindingPlugin { + // Note: For now we assume all code is Swift, but in the future we must restrict these rules to Swift-files + bindingset[cls, member] + override predicate isInstanceMember(ClassLikeDeclaration cls, Member member) { + exists(cls) and + not member.hasModifier(["static", "class", "enum_case"]) + } + + override predicate isPrivateToLocalScope(Member member) { + // Private top-level members + member = any(TopLevel top).getBody().getAStmt() and + member.hasModifier(["private", "fileprivate"]) + // + // Note: Private class members can be seen within type-extensions in the same file, + // so we can't declare those private to their local scope. + } +} diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll new file mode 100644 index 000000000000..f662a46b7de3 --- /dev/null +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -0,0 +1,197 @@ +/** + * Provides classes for reasoning about static references to the members of classes and top-levels. + */ + +private import unified +private import codeql.unified.internal.LocalNameBinding +private import codeql.unified.internal.NameBindingPlugin + +private newtype TNameBindingNode = + TIdentifier(Identifier n) or + TLocalName(LocalName local) or + TExportedNamespace(ClassLikeDeclaration cls) + +/** + * A node in a graph, in which name-binding rules are represented as edges between nodes. + */ +class NameBindingNode extends TNameBindingNode { + predicate isIdentifier(Identifier n) { this = TIdentifier(n) } + + Identifier asIdentifier() { this.isIdentifier(result) } + + predicate isLocalName(LocalName local) { this = TLocalName(local) } + + /** Holds if this represents the set of static members available in the given namespace (currently restricted to classes) */ + predicate isExportedNamespace(ClassLikeDeclaration cls) { this = TExportedNamespace(cls) } + + string toString() { + exists(Identifier n | this.isIdentifier(n) and result = "Identifier(" + n + ")") + or + exists(LocalName local | this.isLocalName(local) and result = "LocalName(" + local + ")") + or + exists(ClassLikeDeclaration cls | + this.isExportedNamespace(cls) and result = "ExportedNamespace(" + cls + ")" + ) + } + + Location getLocation() { + exists(Identifier n | this.isIdentifier(n) and result = n.getLocation()) + or + exists(LocalName local | this.isLocalName(local) and result = local.getLocation()) + or + exists(ClassLikeDeclaration cls | this.isExportedNamespace(cls) and result = cls.getLocation()) + } +} + +Identifier getIdentifierFromRef(AstNode n) { + result = n.(NameExpr).getIdentifier() + or + result = n.(NamePattern).getIdentifier() + or + result = n.(MemberAccessExpr).getMember() + or + result = n.(NamedTypeExpr).getName() +} + +NameBindingNode getNodeFromRef(AstNode n) { result.isIdentifier(getIdentifierFromRef(n)) } + +predicate readStep(NameBindingNode node1, string name, NameBindingNode node2) { + exists(MemberAccessExpr expr | + node1 = getNodeFromRef(expr.getBase()) and + name = expr.getMember().getValue() and + node2 = getNodeFromRef(expr) + ) + or + exists(NamedTypeExpr expr | + node1 = getNodeFromRef(expr.getQualifier()) and + name = expr.getName().getValue() and + node2 = getNodeFromRef(expr) + ) +} + +predicate storeStep(NameBindingNode node1, string name, NameBindingNode node2) { + exists(ClassLikeDeclaration cls, Member member, NameDeclaration nameDecl | + member = cls.getAMember() and + not isInstanceMember(member) and + not isPrivateToLocalScope(member) and + nameDecl.getDeclaration() = member + | + node1.isIdentifier(nameDecl) and + name = nameDecl.getName() and + node2.isExportedNamespace(cls) + ) +} + +predicate valueStep(NameBindingNode node1, NameBindingNode node2) { + exists(PotentialLocalNameAccess access | + access.isDeclarationSite() and + node1.isIdentifier(access) and + node2.isLocalName(access.getLocalName()) + or + node1.isLocalName(access.getLocalName()) and + node2.isIdentifier(access) + ) + or + exists(ClassLikeDeclaration cls | + node1.isExportedNamespace(cls) and + node2.isIdentifier(cls.getName()) + ) +} + +signature module TrackInputSig { + /** Holds if the forward-flow of `node` should be tracked. */ + predicate shouldTrack(NameBindingNode node); +} + +/** Creates a module for tracking flow through the name-binding graph. */ +module Track { + private import Input + + /** Gets a name-binding node to which `node` can flow. */ + NameBindingNode track(NameBindingNode node) { + shouldTrack(node) and + result = node + or + exists(NameBindingNode prev | prev = track(node) | valueStepEx(prev, result)) + } +} + +/** + * Holds if `node1 -> node2` is derived by combining a store and a read step. + */ +pragma[nomagic] +private predicate derivedStoreReadStep(NameBindingNode node1, NameBindingNode node2) { + exists(NamespaceNode namespace, string name | + node1 = namespace.getMember(name) and + readStep(namespace.ref(), name, node2) + ) +} + +/** Holds if there is an effective value step `node1 -> node2`. */ +pragma[inline] +private predicate valueStepEx(NameBindingNode node1, NameBindingNode node2) { + valueStep(node1, node2) + or + derivedStoreReadStep(node1, node2) +} + +/** A name-binding node that has members. */ +class NamespaceNode extends NameBindingNode { + NamespaceNode() { storeStep(_, _, this) } + + /** Gets a name-binding node that may refer to this namespace. */ + NameBindingNode ref() { result = TrackNamespace::track(this) } + + /** Gets a member of this namespace of the given name. */ + NameBindingNode getMember(string name) { storeStep(result, name, this) } +} + +private module TrackNamespaceInput implements TrackInputSig { + predicate shouldTrack(NameBindingNode node) { node instanceof NamespaceNode } +} + +private module TrackNamespace = Track; + +private module TrackNameDeclarationInput implements TrackInputSig { + predicate shouldTrack(NameBindingNode node) { node.isIdentifier(any(NameDeclaration d)) } +} + +private module TrackNameDeclaration = Track; + +/** Gets a name-binding node that may refer to the given declaration. */ +NameBindingNode trackNameDeclaration(NameDeclaration decl) { + exists(NameBindingNode start | + start.isIdentifier(decl) and + result = TrackNameDeclaration::track(start) + ) +} + +/** Holds if `node` should be included in the debug view. */ +private signature predicate relevantFileSig(File node); + +module DebugGraph { + private predicate relevantNode(NameBindingNode node) { + relevantFile(node.getLocation().getFile()) + } + + query predicate nodes(NameBindingNode node, string key, string value) { + relevantNode(node) and + key = "semmle.label" and + value = node.toString() + } + + query predicate edges(NameBindingNode node1, NameBindingNode node2, string key, string value) { + key = "semmle.label" and + ( + valueStep(node1, node2) and value = "" + or + exists(string name | + readStep(node1, name, node2) and + value = "read(" + name + ")" + or + storeStep(node1, name, node2) and + value = "store(" + name + ")" + ) + ) + } +} diff --git a/unified/ql/lib/codeql/unified/internal/dev/debugScopeGraph.ql b/unified/ql/lib/codeql/unified/internal/dev/debugLocalNameBindingGraph.ql similarity index 72% rename from unified/ql/lib/codeql/unified/internal/dev/debugScopeGraph.ql rename to unified/ql/lib/codeql/unified/internal/dev/debugLocalNameBindingGraph.ql index a77f8912d6fa..71887f476f16 100644 --- a/unified/ql/lib/codeql/unified/internal/dev/debugScopeGraph.ql +++ b/unified/ql/lib/codeql/unified/internal/dev/debugLocalNameBindingGraph.ql @@ -1,8 +1,8 @@ /** - * @name Debug scope graph - * @description Renders the graph used to perform local variable lookups + * @name Debug local name-binding graph + * @description Renders the graph used to perform local name lookups * @kind graph - * @id unified/debug-scope-graph + * @id unified/debug-local-name-binding-graph */ private import unified diff --git a/unified/ql/lib/codeql/unified/internal/dev/debugStaticNameBindingGraph.ql b/unified/ql/lib/codeql/unified/internal/dev/debugStaticNameBindingGraph.ql new file mode 100644 index 000000000000..740943fc66db --- /dev/null +++ b/unified/ql/lib/codeql/unified/internal/dev/debugStaticNameBindingGraph.ql @@ -0,0 +1,16 @@ +/** + * @name Debug static name-binding graph + * @description Renders the graph used to perform static name lookups + * @kind graph + * @id unified/debug-static-name-binding-graph + */ + +private import unified +private import codeql.unified.internal.StaticNameBinding + +/** + * Holds if graphs related to `file` should be shown in the graph. + */ +predicate relevantFile(File file) { file.getBaseName() = "test.swift" } + +import DebugGraph diff --git a/unified/ql/test/library-tests/static-name-binding/test.expected b/unified/ql/test/library-tests/static-name-binding/test.expected new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/unified/ql/test/library-tests/static-name-binding/test.ql b/unified/ql/test/library-tests/static-name-binding/test.ql new file mode 100644 index 000000000000..272606e2bd20 --- /dev/null +++ b/unified/ql/test/library-tests/static-name-binding/test.ql @@ -0,0 +1,51 @@ +import unified +import utils.test.InlineExpectationsTest +import utils.test.CommentUtil +import codeql.unified.internal.StaticNameBinding + +module StaticDeclAccess implements TestSig { + string getARelevantTag() { result = "access" } + + private string deriveClassName(ClassLikeDeclaration cls) { + not exists(cls.getParent().getEnclosingClass()) and + result = cls.getName().getValue() + or + result = deriveClassName(cls.getParent().getEnclosingClass()) + "." + cls.getName().getValue() + } + + private string defaultName(NameDeclaration decl) { + exists(ClassLikeDeclaration cls | + decl.getDeclaration() = cls.getAMember() and + result = deriveClassName(cls) + "." + decl.getName() + ) + or + not decl.getDeclaration() = any(ClassLikeDeclaration cls).getAMember() and + result = decl.getName() + } + + additional predicate declAt(NameDeclaration v, string filepath, int line) { + v.getLocation().hasLocationInfo(filepath, line, _, _, _) + } + + private predicate decl(NameDeclaration v, string alias) { + exists(string filepath, int line | declAt(v, filepath, line) | + keyValueCommentAt(filepath, line, "name", alias) + or + not keyValueCommentAt(filepath, line, "name", _) and + alias = defaultName(v) + ) + } + + predicate hasActualResult(Location location, string element, string tag, string value) { + exists(NameDeclaration decl, Identifier access | + access = trackNameDeclaration(decl).asIdentifier() and + not access instanceof NameDeclaration and + location = access.getLocation() and + element = access.toString() and + decl(decl, value) and + tag = "access" + ) + } +} + +import MakeTest diff --git a/unified/ql/test/library-tests/static-name-binding/test.swift b/unified/ql/test/library-tests/static-name-binding/test.swift new file mode 100644 index 000000000000..7698e714291f --- /dev/null +++ b/unified/ql/test/library-tests/static-name-binding/test.swift @@ -0,0 +1,44 @@ +class B {} // name=top.B + +class A { + class B { + class C {} + } +} + +let x1: B = nil; // $ access=top.B +let x2: A.B = nil; // $ access=A access=A.B +let x3: A.B.C = nil; // $ access=A access=A.B access=A.B.C + +class D { + let x1: B = nil; // $ access=top.B + let x2: A.B = nil; // $ access=A access=A.B + let x3: A.B.C = nil; // $ access=A access=A.B access=A.B.C + + func member() { + let x1: B = nil; // $ access=top.B + let x2: A.B = nil; // $ access=A access=A.B + let x3: A.B.C = nil; // $ access=A access=A.B access=A.B.C + } +} + +class E { + class A { + class B { + } + } + + let x1: A = nil; // $ access=E.A + let x2: A.B = nil; // $ access=E.A access=E.A.B +} + +class F { + static let field = 1 + static let (a,b) = (1,2) + + static func foo() { + F.field // $ access=F access=F.field + F.a // $ access=F access=F.a + F.b // $ access=F access=F.b + } +} From 375924ed293e340815c86d37618a842b1fa32807 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 6 Aug 2026 11:48:48 +0200 Subject: [PATCH 097/190] unified: Track through aliases --- .../unified/internal/StaticNameBinding.qll | 28 +++++++++++++------ .../static-name-binding/test.swift | 9 ++++++ 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index f662a46b7de3..3f60b2b28c85 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -101,6 +101,8 @@ predicate valueStep(NameBindingNode node1, NameBindingNode node2) { signature module TrackInputSig { /** Holds if the forward-flow of `node` should be tracked. */ predicate shouldTrack(NameBindingNode node); + + default predicate additionalValueStep(NameBindingNode node1, NameBindingNode node2) { none() } } /** Creates a module for tracking flow through the name-binding graph. */ @@ -114,6 +116,16 @@ module Track { or exists(NameBindingNode prev | prev = track(node) | valueStepEx(prev, result)) } + + /** Holds if there is an effective value step `node1 -> node2`. */ + pragma[inline] + private predicate valueStepEx(NameBindingNode node1, NameBindingNode node2) { + valueStep(node1, node2) + or + derivedStoreReadStep(node1, node2) + or + additionalValueStep(node1, node2) + } } /** @@ -127,14 +139,6 @@ private predicate derivedStoreReadStep(NameBindingNode node1, NameBindingNode no ) } -/** Holds if there is an effective value step `node1 -> node2`. */ -pragma[inline] -private predicate valueStepEx(NameBindingNode node1, NameBindingNode node2) { - valueStep(node1, node2) - or - derivedStoreReadStep(node1, node2) -} - /** A name-binding node that has members. */ class NamespaceNode extends NameBindingNode { NamespaceNode() { storeStep(_, _, this) } @@ -148,6 +152,14 @@ class NamespaceNode extends NameBindingNode { private module TrackNamespaceInput implements TrackInputSig { predicate shouldTrack(NameBindingNode node) { node instanceof NamespaceNode } + + predicate additionalValueStep(NameBindingNode node1, NameBindingNode node2) { + // Namespace-tracking goes through aliases, but declaration-tracking does not + exists(TypeAliasDeclaration decl | + node1 = getNodeFromRef(decl.getType()) and + node2.isIdentifier(decl.getName()) + ) + } } private module TrackNamespace = Track; diff --git a/unified/ql/test/library-tests/static-name-binding/test.swift b/unified/ql/test/library-tests/static-name-binding/test.swift index 7698e714291f..27453ec34351 100644 --- a/unified/ql/test/library-tests/static-name-binding/test.swift +++ b/unified/ql/test/library-tests/static-name-binding/test.swift @@ -42,3 +42,12 @@ class F { F.b // $ access=F access=F.b } } + +typealias G = A // $ access=A + +// Members can be accessed through aliases, but references to the alias itself do not bypass the alias. +class H { + let x1: G = nil; // $ access=G + let x2: G.B = nil; // $ access=G access=A.B + let x3: G.B.C = nil; // $ access=G access=A.B access=A.B.C +} From db8b97a0ddcdd3e514abb457a431797ad0844916 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 6 Aug 2026 12:48:41 +0200 Subject: [PATCH 098/190] unified: Add inheritance steps --- .../unified/internal/StaticNameBinding.qll | 33 +++++++++++++++++-- .../static-name-binding/inheritance.swift | 19 +++++++++++ 2 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 unified/ql/test/library-tests/static-name-binding/inheritance.swift diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index 3f60b2b28c85..ca1f670fb8ff 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -98,6 +98,14 @@ predicate valueStep(NameBindingNode node1, NameBindingNode node2) { ) } +predicate inheritanceStep(NameBindingNode supertype, NameBindingNode subtype) { + exists(ClassLikeDeclaration cls, BaseType base | + base = cls.getABaseType() and + supertype = getNodeFromRef(base.getType()) and + subtype.isExportedNamespace(cls) + ) +} + signature module TrackInputSig { /** Holds if the forward-flow of `node` should be tracked. */ predicate shouldTrack(NameBindingNode node); @@ -141,13 +149,31 @@ private predicate derivedStoreReadStep(NameBindingNode node1, NameBindingNode no /** A name-binding node that has members. */ class NamespaceNode extends NameBindingNode { - NamespaceNode() { storeStep(_, _, this) } + NamespaceNode() { storeStep(_, _, this) or inheritanceStep(_, this) } /** Gets a name-binding node that may refer to this namespace. */ NameBindingNode ref() { result = TrackNamespace::track(this) } + /** Gets an own (non-inherited) member of this namespace of the given name. */ + NameBindingNode getOwnMember(string name) { storeStep(result, name, this) } + + /** Holds if this namespace has an own-member of the given name */ + predicate hasOwnMember(string name) { exists(this.getOwnMember(name)) } + + /** Gets a namespace from which this namespace inherits directly. */ + NamespaceNode getAnInheritanceParent() { inheritanceStep(result.ref(), this) } + + /** Gets a namespace that directly inherits from this one. */ + NamespaceNode getAnInheritanceChild() { result.getAnInheritanceParent() = this } + /** Gets a member of this namespace of the given name. */ - NameBindingNode getMember(string name) { storeStep(result, name, this) } + pragma[nomagic] + NameBindingNode getMember(string name) { + result = this.getOwnMember(name) + or + not this.hasOwnMember(name) and + result = this.getAnInheritanceParent().getMember(name) + } } private module TrackNamespaceInput implements TrackInputSig { @@ -204,6 +230,9 @@ module DebugGraph { storeStep(node1, name, node2) and value = "store(" + name + ")" ) + or + inheritanceStep(node1, node2) and + value = "inheritedBy" ) } } diff --git a/unified/ql/test/library-tests/static-name-binding/inheritance.swift b/unified/ql/test/library-tests/static-name-binding/inheritance.swift new file mode 100644 index 000000000000..fcf1967d4842 --- /dev/null +++ b/unified/ql/test/library-tests/static-name-binding/inheritance.swift @@ -0,0 +1,19 @@ +class A { + class B { + class C {} + } +} + +class D: A {} // $ access=A +class E: D.B {} // $ access=D access=A.B + +// Members of base classes can be accessed through derived classes +func t1() { + let x1: D = nil; // $ access=D + let x2: D.B = nil; // $ access=D access=A.B + let x3: D.B.C = nil; // $ access=D access=A.B access=A.B.C + + // The base class of 'E' is itself resolved through inheritance + let x4: E = nil; // $ access=E + let x5: E.C = nil; // $ access=E access=A.B.C +} From 6341bba0e198901e753c2bbe0deb4b49870012eb Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 6 Aug 2026 13:36:29 +0200 Subject: [PATCH 099/190] unified: Support unqualified access --- .../codeql/namebinding/LocalNameBinding.qll | 29 +++++++++++++++++ .../unified/internal/LocalNameBinding.qll | 9 ++++++ .../unified/internal/StaticNameBinding.qll | 31 ++++++++++++++++++- .../unqualified-access.swift | 20 ++++++++++++ 4 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 unified/ql/test/library-tests/static-name-binding/unqualified-access.swift diff --git a/shared/namebinding/codeql/namebinding/LocalNameBinding.qll b/shared/namebinding/codeql/namebinding/LocalNameBinding.qll index 57c792027ba8..c4d4abdead45 100644 --- a/shared/namebinding/codeql/namebinding/LocalNameBinding.qll +++ b/shared/namebinding/codeql/namebinding/LocalNameBinding.qll @@ -136,6 +136,12 @@ signature module LocalNameBindingInputSig { * full control of scope resolution for specific types of references. */ default predicate lookupStartsAt(AstNode n, AstNode scope) { none() } + + /** + * Holds if the set of names available in `scope` is not known ahead of time, + * and thus any lookup chain that goes through `scope` may need to be reconciled at a later stage. + */ + default predicate uncertainScope(AstNode scope) { none() } } /** @@ -154,6 +160,8 @@ module LocalNameBinding implicitDeclInScope(_, this) or isTopScope(this) + or + uncertainScope(this) } } @@ -353,6 +361,27 @@ module LocalNameBinding ) } + /** + * Holds if `name`, when resolved from `lookup`, may resolve to one of the uncertain members of `scope`. + */ + pragma[nomagic] + private predicate lookupInUncertainScope(string name, Scope lookup, Scope scope) { + lookupInScope(name, lookup, scope) and + uncertainScope(scope) and + not declInScope(_, name, scope) and + not implicitDeclInScope(name, scope) + } + + /** + * Gets an uncertain scope that the given `accessCand` pair may resolve to. + */ + AstNode getAnUncertainScope(AstNode access, string name) { + exists(Scope lookup | + accessCandInLookupScope(access, name, lookup) and + lookupInUncertainScope(name, lookup, result) + ) + } + cached private newtype TLocal = TExplicitLocal(AstNode definingNode, string name, AstNode scope) { diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index 59f94b433ba7..97268e05af3f 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -314,6 +314,15 @@ private module LocalNameBindingInput implements LocalNameBindingInputSig Date: Thu, 6 Aug 2026 15:37:52 +0200 Subject: [PATCH 100/190] unified: Allow numbers in key=value comments --- unified/ql/lib/utils/test/CommentUtil.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/ql/lib/utils/test/CommentUtil.qll b/unified/ql/lib/utils/test/CommentUtil.qll index 6747aed57187..bd6f887a4010 100644 --- a/unified/ql/lib/utils/test/CommentUtil.qll +++ b/unified/ql/lib/utils/test/CommentUtil.qll @@ -12,7 +12,7 @@ predicate plainCommentAt(string filepath, int line, string text) { predicate keyValueCommentAt(string filepath, int line, string key, string value) { exists(string text, string regexp, string match | plainCommentAt(filepath, line, text) and - regexp = "(\\w+)=([\\w.]+)" and + regexp = "(\\w+)=([\\w.0-9]+)" and match = text.regexpFind(regexp, _, _) and key = match.regexpCapture(regexp, 1) and value = match.regexpCapture(regexp, 2) From 7e3a4e36a31e0faae3e3d5715fd2b80be2790e7d Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 6 Aug 2026 15:41:46 +0200 Subject: [PATCH 101/190] unified: Cross-file name binding --- unified/ql/lib/codeql/files/FileSystem.qll | 2 + .../lib/codeql/unified/internal/FacadeAst.qll | 27 +++++++ .../unified/internal/LocalNameBinding.qll | 4 + .../unified/internal/NameBindingPlugin.qll | 41 ++++++++++ .../internal/NameBindingPluginSwift.qll | 76 +++++++++++++++++++ .../unified/internal/StaticNameBinding.qll | 62 ++++++++++++++- .../package1/Package.swift | 11 +++ .../package1/Sources/Target1/File1.swift | 2 + .../package1/Sources/Target1/File2.swift | 1 + .../package1/Sources/Target2/File3.swift | 1 + 10 files changed, 224 insertions(+), 3 deletions(-) create mode 100644 unified/ql/test/library-tests/static-name-binding/package1/Package.swift create mode 100644 unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File1.swift create mode 100644 unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift create mode 100644 unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift diff --git a/unified/ql/lib/codeql/files/FileSystem.qll b/unified/ql/lib/codeql/files/FileSystem.qll index 6cc771fad9d2..a50c1cd3432a 100644 --- a/unified/ql/lib/codeql/files/FileSystem.qll +++ b/unified/ql/lib/codeql/files/FileSystem.qll @@ -31,6 +31,8 @@ class Container = Impl::Container; class Folder = Impl::Folder; +module Folder = Impl::Folder; + /** A file. */ class File extends Container, Impl::File { /** Holds if this file was extracted from ordinary source code. */ diff --git a/unified/ql/lib/codeql/unified/internal/FacadeAst.qll b/unified/ql/lib/codeql/unified/internal/FacadeAst.qll index a5d057135d87..cb00bae7eeca 100644 --- a/unified/ql/lib/codeql/unified/internal/FacadeAst.qll +++ b/unified/ql/lib/codeql/unified/internal/FacadeAst.qll @@ -4,12 +4,17 @@ overlay[local?] module; +private import codeql.files.FileSystem + module Unified { private import Ast::Unified as G import G /** The base class for all AST nodes. */ class AstNode extends G::AstNode { + /** Gets the file containing this AST node. */ + File getFile() { result = this.getLocation().getFile() } + /** Holds if this AST node has a modifier with the given text. */ predicate hasModifier(string text) { exists(Modifier mod | @@ -27,6 +32,28 @@ module Unified { } } + /** An expression */ + class Expr extends G::Expr { + /** Gets the string value of this expression, if it is a known string constant. */ + string getStringValue() { + // TODO: we'll want to cook the string literals extractor-side, but for now + // just strip the quotes here and ignore escape sequences. + result = this.(StringLiteral).getValue().regexpCapture("\"(.*)\"", 1) + } + } + + /** A function call */ + class CallExpr extends G::CallExpr { + /** Gets the named argument with the given `name`. */ + Expr getNamedArgument(string name) { + exists(Argument arg | + arg = this.getAnArgument() and + arg.getName().getValue() = name and + result = arg.getValue() + ) + } + } + /** The base class for all patterns. */ class Pattern extends G::Pattern { /** Gets the immediately-enclosing pattern in which this is a nested pattern. */ diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index 97268e05af3f..faa2be5fe43e 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -322,6 +322,10 @@ private module LocalNameBindingInput implements LocalNameBindingInputSig; diff --git a/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll b/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll index 98d30c5d779f..b2bba1763ed7 100644 --- a/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll +++ b/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll @@ -22,3 +22,79 @@ class NameBindingPluginSwift extends NameBindingPlugin { // so we can't declare those private to their local scope. } } + +private predicate predefinedSourceFolders(string folder, int ordering) { + folder = "Sources,Source,src,srcs".splitAt(",", ordering) +} + +bindingset[targetKind] +private predicate predefinedSourceFoldersByTarget(string targetKind, string folder, int ordering) { + predefinedSourceFolders(folder, ordering) + or + ordering = -1 and + ( + targetKind = "testTarget" and + folder = "Tests" + or + targetKind = "plugin" and + folder = "Plugins" + ) +} + +/** + * A call to `.target()` or similar target spec, in a `Package.swift` file. + */ +class SwiftPackageTarget extends ModuleScopeRepr, CallExpr { + private string targetKind; + + SwiftPackageTarget() { + this.getFile().getBaseName() = "Package.swift" and + this.getCallee().(MemberAccessExpr).getMember().getValue() = targetKind and + targetKind = + [ + "target", "executableTarget", "testTarget", "systemLibrary", "binaryTarget", "plugin", + "macro" + ] + } + + Folder getFolder() { result = this.getFile().getParentContainer() } + + /** Gets the intermediate folder such as `Sources/` containing the sources, but without the target name. */ + Folder getSourceMidFolder() { + result = + min(int i, string name, Folder subfolder | + predefinedSourceFoldersByTarget(targetKind, name, i) and + subfolder = this.getFolder().getFolder(name) + | + subfolder order by i + ) + } + + /** Gets the source folder to use if no explicit `path:` if given, typically `Sources/` */ + Folder getDefaultSourceFolder() { + exists(Folder subfolder | subfolder = this.getSourceMidFolder() | + result = subfolder.getFolder(this.getName()) + or + not exists(subfolder.getFolder(this.getName())) and + result = subfolder + ) + } + + string getName() { result = this.getNamedArgument("name").getStringValue() } + + string getExplicitPath() { result = this.getNamedArgument("path").getStringValue() } + + override predicate shouldInclude(Container c, string path) { + c = this.getFolder() and + path = this.getExplicitPath() + "/**/*.swift" + or + not exists(this.getExplicitPath()) and + c = this.getDefaultSourceFolder() and + path = "**/*.swift" + } + + override predicate hasImportableName(string name) { + targetKind = "target" and + name = this.getName() + } +} diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index f976520a7258..02ce277bc895 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -10,7 +10,13 @@ private newtype TNameBindingNode = TIdentifier(Identifier n) or TLocalName(LocalName local) or TExportedNamespace(ClassLikeDeclaration cls) or - TLocalNamespace(ClassLikeDeclaration cls) + TLocalNamespace(AstNode n) { + n = any(TopLevel t) or // Module names come in scope here + n = any(TopLevel t).getBody() or // Imported names come in scope here (shadowing module names) + n instanceof ClassLikeDeclaration + } or + TModuleScope(ModuleScopeRepr repr) or + TModuleRoot() /** * A node in a graph, in which name-binding rules are represented as edges between nodes. @@ -25,8 +31,14 @@ class NameBindingNode extends TNameBindingNode { /** Holds if this represents the set of static members available in the given namespace (currently restricted to classes) */ predicate isExportedNamespace(ClassLikeDeclaration cls) { this = TExportedNamespace(cls) } - /** Holds if this represents the set of members that can be accessed unqualified within the given scope (currently restricted to classes) */ - predicate isLocalNamespace(ClassLikeDeclaration cls) { this = TLocalNamespace(cls) } + /** Holds if this represents the set of members that can be accessed unqualified within the given scope. */ + predicate isLocalNamespace(AstNode n) { this = TLocalNamespace(n) } + + /** Holds if this represents the given module scope. */ + predicate isModuleScopeNode(ModuleScopeRepr repr) { this = TModuleScope(repr) } + + /** Holds if this represents the root namespace in which all named modules are members. */ + predicate isModuleRoot() { this = TModuleRoot() } string toString() { exists(Identifier n | this.isIdentifier(n) and result = "Identifier(" + n + ")") @@ -40,6 +52,12 @@ class NameBindingNode extends TNameBindingNode { exists(ClassLikeDeclaration cls | this.isLocalNamespace(cls) and result = "LocalNamespace(" + cls + ")" ) + or + exists(ModuleScopeRepr repr | + this.isModuleScopeNode(repr) and result = "ModuleScope(" + repr + ")" + ) + or + this.isModuleRoot() and result = "ModuleRoot" } Location getLocation() { @@ -50,6 +68,11 @@ class NameBindingNode extends TNameBindingNode { exists(ClassLikeDeclaration cls | this.isExportedNamespace(cls) and result = cls.getLocation()) or exists(ClassLikeDeclaration cls | this.isLocalNamespace(cls) and result = cls.getLocation()) + or + exists(ModuleScopeRepr repr | this.isModuleScopeNode(repr) and result = repr.getLocation()) + or + this.isModuleRoot() and + exists(ModuleScopeRepr repr | result = repr.getLocation()) } } @@ -65,12 +88,21 @@ Identifier getIdentifierFromRef(AstNode n) { NameBindingNode getNodeFromRef(AstNode n) { result.isIdentifier(getIdentifierFromRef(n)) } +NameBindingNode getModuleNodeFromFile(File f) { + exists(ModuleScopeRepr mod | + mod.getAnIncludedFile() = f and + result.isModuleScopeNode(mod) + ) +} + /** Gets the name-binding node associated with the given uncertain scope node. */ private NameBindingNode getNodeFromUncertainScope(AstNode n) { exists(ClassLikeDeclaration cls | n = cls.getAMember() and // note: must align with LocalNameBindingInput::uncertainScope result.isLocalNamespace(cls) ) + or + result.isLocalNamespace(n) } predicate readStep(NameBindingNode node1, string name, NameBindingNode node2) { @@ -104,6 +136,22 @@ predicate storeStep(NameBindingNode node1, string name, NameBindingNode node2) { name = nameDecl.getName() and node2.isExportedNamespace(cls) ) + or + exists(TopLevel top, Stmt stmt, NameDeclaration nameDecl | + stmt = top.getBody().getAStmt() and + not isPrivateToLocalScope(stmt) and + nameDecl.getDeclaration() = stmt + | + node1.isIdentifier(nameDecl) and + name = nameDecl.getName() and + node2 = getModuleNodeFromFile(top.getFile()) + ) + or + exists(ModuleScopeRepr mod | + node1.isModuleScopeNode(mod) and + mod.hasImportableName(name) and + node2.isModuleRoot() + ) } predicate valueStep(NameBindingNode node1, NameBindingNode node2) { @@ -125,6 +173,14 @@ predicate valueStep(NameBindingNode node1, NameBindingNode node2) { node1.isExportedNamespace(cls) and node2.isLocalNamespace(cls) ) + or + exists(TopLevel top | + node1.isModuleRoot() and + node2.isLocalNamespace(top) // module names in outermost scope + or + node1 = getModuleNodeFromFile(top.getFile()) and + node2.isLocalNamespace(top.getBody()) // implicitly import own module + ) } predicate inheritanceStep(NameBindingNode supertype, NameBindingNode subtype) { diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Package.swift b/unified/ql/test/library-tests/static-name-binding/package1/Package.swift new file mode 100644 index 000000000000..0789887c4b4c --- /dev/null +++ b/unified/ql/test/library-tests/static-name-binding/package1/Package.swift @@ -0,0 +1,11 @@ +// swift-tools-version: 5.9 + +import PackageDescription + +let package = Package( + name: "Package1", + targets: [ + .target(name: "Target1"), + .target(name: "Target2"), + ] +) diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File1.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File1.swift new file mode 100644 index 000000000000..fff0a56e90f3 --- /dev/null +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File1.swift @@ -0,0 +1,2 @@ +let x: A; // $ access=Target1.A +let y: Target2.A; // $ access=Target2.A diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift new file mode 100644 index 000000000000..fa515af0eaf5 --- /dev/null +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift @@ -0,0 +1 @@ +class A {} // name=Target1.A diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift new file mode 100644 index 000000000000..47c3f4da77ed --- /dev/null +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift @@ -0,0 +1 @@ +class A {} // name=Target2.A From 574a5c95059dafcf6227fe86d3140054a8b9802d Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 08:38:58 +0200 Subject: [PATCH 102/190] unified: Handle bracketed generic array constructors --- .../extractor/src/languages/swift/swift.rs | 16 ++++ .../expressions/array-type-constructor.output | 74 +++++++++++++++++++ .../expressions/array-type-constructor.swift | 1 + 3 files changed, 91 insertions(+) create mode 100644 unified/extractor/tests/corpus/swift/expressions/array-type-constructor.output create mode 100644 unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index 77314ceb678c..b192669ae9a2 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -633,6 +633,22 @@ fn translation_rules() -> Vec> { default: {val})) } ), + // Swift's `[T](...)` array-type constructor syntax is parsed as a call + // whose callee is an `arrayExpr` containing `T`. For a generic `T`, + // translating that callee as an array literal would place a type + // expression in an expression-only element field. Normalize it to an + // `Array` generic type constructor instead. + rule!( + (functionCallExpr + calledExpression: (arrayExpr elements: (arrayElement expression: (genericSpecializationExpr) @element)) + arguments: _* @args) + => + (call_expr + callee: (generic_type_expr + base: (named_type_expr name: (identifier "Array")) + type_argument: {element}) + argument: {args}) + ), // A function/method call (`foo(1, 2)`). `calledExpression` is the callee // and `arguments` is an (elided) list of `labeledExpr`, each translated // to an `argument` below. A trailing closure (`xs.map { … }`) becomes a diff --git a/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.output b/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.output new file mode 100644 index 000000000000..e721ba9cfde2 --- /dev/null +++ b/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.output @@ -0,0 +1,74 @@ +let values = [Result]() + +--- + +sourceFile + endOfFileToken: endOfFile + statements: + codeBlockItem + item: + variableDecl + attributes: + modifiers: + bindingSpecifier: let + bindings: + patternBinding + initializer: + initializerClause + equal: = + value: + functionCallExpr + leftParen: ( + rightParen: ) + arguments: + additionalTrailingClosures: + calledExpression: + arrayExpr + elements: + arrayElement + expression: + genericSpecializationExpr + expression: + declReferenceExpr + baseName: identifier "Result" + genericArgumentClause: + genericArgumentClause + arguments: + genericArgument + argument: + identifierType + name: identifier "Void" + leftAngle: < + rightAngle: > + leftSquare: [ + rightSquare: ] + pattern: + identifierPattern + identifier: identifier "values" + +--- + +top_level + body: + block + stmt: + variable_declaration + modifier: modifier "let" + pattern: + name_pattern + identifier: identifier "values" + value: + call_expr + callee: + generic_type_expr + base: + named_type_expr + name: identifier "Array" + type_argument: + generic_type_expr + base: + named_type_expr + name: identifier "Result" + type_argument: + named_type_expr + name: identifier "Void" diff --git a/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift b/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift new file mode 100644 index 000000000000..b3cccb6ae2a1 --- /dev/null +++ b/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift @@ -0,0 +1 @@ +let values = [Result]() \ No newline at end of file From 55b96f1f7bad28bdc8a806d04e8378d3ad68ef7e Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 08:44:40 +0200 Subject: [PATCH 103/190] unified: Handle bracketed generic array metatypes --- .../extractor/src/languages/swift/swift.rs | 14 ++++ .../expressions/array-type-metatype.output | 75 +++++++++++++++++++ .../expressions/array-type-metatype.swift | 1 + 3 files changed, 90 insertions(+) create mode 100644 unified/extractor/tests/corpus/swift/expressions/array-type-metatype.output create mode 100644 unified/extractor/tests/corpus/swift/expressions/array-type-metatype.swift diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index b192669ae9a2..a52ec352cca2 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -699,6 +699,20 @@ fn translation_rules() -> Vec> { // `declReferenceExpr`; pull its `baseName` out as the member identifier. // A leading-dot access (`.foo`) has no explicit base — the base is an // `inferred_type_expr`. The base-ful form is matched first. + // A bracketed generic array type used as a metatype or static-member + // base (`[T].self`) is parsed as an `arrayExpr`; preserve its type + // meaning as `Array` rather than an array literal. + rule!( + (memberAccessExpr + base: (arrayExpr elements: (arrayElement expression: (genericSpecializationExpr) @element)) + declName: (declReferenceExpr baseName: @member)) + => + (member_access_expr + base: (generic_type_expr + base: (named_type_expr name: (identifier "Array")) + type_argument: {element}) + member: (identifier #{member})) + ), rule!( (memberAccessExpr base: @base declName: (declReferenceExpr baseName: @member)) => diff --git a/unified/extractor/tests/corpus/swift/expressions/array-type-metatype.output b/unified/extractor/tests/corpus/swift/expressions/array-type-metatype.output new file mode 100644 index 000000000000..f06917190b3a --- /dev/null +++ b/unified/extractor/tests/corpus/swift/expressions/array-type-metatype.output @@ -0,0 +1,75 @@ +let type = [Result].self + +--- + +sourceFile + endOfFileToken: endOfFile + statements: + codeBlockItem + item: + variableDecl + attributes: + modifiers: + bindingSpecifier: let + bindings: + patternBinding + initializer: + initializerClause + equal: = + value: + memberAccessExpr + period: . + declName: + declReferenceExpr + baseName: self + base: + arrayExpr + elements: + arrayElement + expression: + genericSpecializationExpr + expression: + declReferenceExpr + baseName: identifier "Result" + genericArgumentClause: + genericArgumentClause + arguments: + genericArgument + argument: + identifierType + name: identifier "Void" + leftAngle: < + rightAngle: > + leftSquare: [ + rightSquare: ] + pattern: + identifierPattern + identifier: identifier "type" + +--- + +top_level + body: + block + stmt: + variable_declaration + modifier: modifier "let" + pattern: + name_pattern + identifier: identifier "type" + value: + member_access_expr + base: + generic_type_expr + base: + named_type_expr + name: identifier "Array" + type_argument: + generic_type_expr + base: + named_type_expr + name: identifier "Result" + type_argument: + named_type_expr + name: identifier "Void" + member: identifier "self" diff --git a/unified/extractor/tests/corpus/swift/expressions/array-type-metatype.swift b/unified/extractor/tests/corpus/swift/expressions/array-type-metatype.swift new file mode 100644 index 000000000000..d0ee51283459 --- /dev/null +++ b/unified/extractor/tests/corpus/swift/expressions/array-type-metatype.swift @@ -0,0 +1 @@ +let type = [Result].self \ No newline at end of file From 171aa7a623660f63214181a073673896e82ec8ce Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 08:56:30 +0200 Subject: [PATCH 104/190] unified: Use '.' as location for inferred_type_expr --- unified/extractor/src/languages/swift/swift.rs | 4 ++-- .../corpus/swift/functions/leading-dot-expression-call.output | 2 +- .../swift/functions/leading-dot-expression-value.output | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index a52ec352cca2..065e91ad3be4 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -719,9 +719,9 @@ fn translation_rules() -> Vec> { (member_access_expr base: {base} member: (identifier #{member})) ), rule!( - (memberAccessExpr declName: (declReferenceExpr baseName: @member)) + (memberAccessExpr period: @dot declName: (declReferenceExpr baseName: @member)) => - (member_access_expr base: (inferred_type_expr) member: (identifier #{member})) + (member_access_expr base: (inferred_type_expr #{dot}) member: (identifier #{member})) ), // Control transfer, one rule per keyword. `return` carries an optional // value; `break` / `continue` an optional target label; `throw` its diff --git a/unified/extractor/tests/corpus/swift/functions/leading-dot-expression-call.output b/unified/extractor/tests/corpus/swift/functions/leading-dot-expression-call.output index d0a844d02afa..a5b38e1e2bea 100644 --- a/unified/extractor/tests/corpus/swift/functions/leading-dot-expression-call.output +++ b/unified/extractor/tests/corpus/swift/functions/leading-dot-expression-call.output @@ -51,7 +51,7 @@ top_level call_expr callee: member_access_expr - base: inferred_type_expr ".some" + base: inferred_type_expr "." member: identifier "some" argument: argument diff --git a/unified/extractor/tests/corpus/swift/functions/leading-dot-expression-value.output b/unified/extractor/tests/corpus/swift/functions/leading-dot-expression-value.output index bec014593d91..41128b61818e 100644 --- a/unified/extractor/tests/corpus/swift/functions/leading-dot-expression-value.output +++ b/unified/extractor/tests/corpus/swift/functions/leading-dot-expression-value.output @@ -39,5 +39,5 @@ top_level identifier: identifier "x" value: member_access_expr - base: inferred_type_expr ".foo" + base: inferred_type_expr "." member: identifier "foo" From a9792e5be85e83c20ad60840beb3ea5396086393 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 08:35:30 +0200 Subject: [PATCH 105/190] unified: Fix handling of exprPattern --- .../extractor/src/languages/swift/swift.rs | 144 +++++++++------- .../nested-enum-case-pattern.output | 160 ++++++++++++++++++ .../nested-enum-case-pattern.swift | 6 + .../optional-enum-case-binding.output | 117 +++++++++++++ .../optional-enum-case-binding.swift | 3 + 5 files changed, 368 insertions(+), 62 deletions(-) create mode 100644 unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output create mode 100644 unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift create mode 100644 unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.output create mode 100644 unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.swift diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index 065e91ad3be4..556345c18d21 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -158,12 +158,30 @@ fn translation_rules() -> Vec> { // swift-syntax does not distinguish the lexical integer/string forms // (hex/binary/octal, single- vs multi-line, raw): each is a single // `*LiteralExpr` kind, so one rule per literal type suffices. - rule!((integerLiteralExpr) @@node => (int_literal #{node})), - rule!((floatLiteralExpr) @@node => (float_literal #{node})), - rule!((booleanLiteralExpr) @@node => (boolean_literal #{node})), - rule!((nilLiteralExpr) @@node => (builtin_expr #{node})), - rule!((stringLiteralExpr) @@node => (string_literal #{node})), - rule!((regexLiteralExpr) @@node => (regex_literal #{node})), + rule!((integerLiteralExpr) @@node => expr { + let value = tree!((int_literal #{node})); + if ctx.in_pattern { tree!((expr_equality_pattern expr: {value})) } else { value } + }), + rule!((floatLiteralExpr) @@node => expr { + let value = tree!((float_literal #{node})); + if ctx.in_pattern { tree!((expr_equality_pattern expr: {value})) } else { value } + }), + rule!((booleanLiteralExpr) @@node => expr { + let value = tree!((boolean_literal #{node})); + if ctx.in_pattern { tree!((expr_equality_pattern expr: {value})) } else { value } + }), + rule!((nilLiteralExpr) @@node => expr { + let value = tree!((builtin_expr #{node})); + if ctx.in_pattern { tree!((expr_equality_pattern expr: {value})) } else { value } + }), + rule!((stringLiteralExpr) @@node => expr { + let value = tree!((string_literal #{node})); + if ctx.in_pattern { tree!((expr_equality_pattern expr: {value})) } else { value } + }), + rule!((regexLiteralExpr) @@node => expr { + let value = tree!((regex_literal #{node})); + if ctx.in_pattern { tree!((expr_equality_pattern expr: {value})) } else { value } + }), // ---- Names ---- // A function reference spelled with argument labels (`f(x:y:z:)`) is a // `declReferenceExpr` carrying `argumentNames`. Mark it unsupported for @@ -176,6 +194,14 @@ fn translation_rules() -> Vec> { => (unsupported_node) ), + rule!((declReferenceExpr baseName: (identifier) @name) => expr { + let name = tree!((name_expr identifier: (identifier #{name}))); + if ctx.in_pattern { + tree!((expr_equality_pattern expr: {name})) + } else { + name + } + }), // A bare name reference (`x`), and an operator used as a value (`+` in // `reduce(0, +)`), are both `declReferenceExpr`; its `baseName` is the // referenced identifier / operator symbol. @@ -507,29 +533,6 @@ fn translation_rules() -> Vec> { // introduces a new binding; it unwraps to its inner pattern (a // `name_pattern`). rule!((valueBindingPattern pattern: @p) => pattern { p }), - // An enum-case pattern with associated values (`case .foo(let x)`, - // `case Color.foo(let x)`) is an expression pattern wrapping a call of a - // member access. It becomes a `constructor_pattern`; its arguments are - // translated as pattern elements (see the `labeledExpr` rules, gated by - // `ctx.in_pattern`). Matched before the generic `expressionPattern` rule. - // The base is optional: a leading-dot form (`.foo`) has none, so the - // constructor's base is an `inferred_type_expr`. - rule!( - (expressionPattern expression: (functionCallExpr - calledExpression: (memberAccessExpr base: _? @base period: @dot declName: (declReferenceExpr baseName: @name)) - arguments: _* @@args)) - => - constructor_pattern { - ctx.in_pattern = true; - let elements = ctx.translate(args)?; - let base = base.unwrap_or_else(|| tree!((inferred_type_expr #{dot}))); - tree!((constructor_pattern - constructor: (member_access_expr - base: {base} - member: (identifier #{name})) - element: {elements})) - } - ), // A tuple destructuring pattern (`let (a, b) = …`). A labelled element // (`let (x: a) = …`) carries its label through as the `pattern_element` // key; unlabelled elements have no key. @@ -544,36 +547,16 @@ fn translation_rules() -> Vec> { // handling in the future. (Redundant with the catch-all fallback, but // kept as a signpost.) rule!((isTypePattern) => (unsupported_node)), - // A standalone wildcard pattern (`case _:`, `if case _`): swift-syntax - // models the bare `_` as an `expressionPattern` wrapping a - // `discardAssignmentExpr`. Matched before the generic `expressionPattern` - // rule so `_` becomes an `ignore_pattern` rather than an equality match. - // (Wildcards *inside* an enum-case argument list are handled by the - // `labeledExpr`/`discardAssignmentExpr` rules.) - rule!((expressionPattern expression: (discardAssignmentExpr)) => (ignore_pattern)), // A wildcard *binding* pattern (`let _ = x`, `for _ in xs`). swift-syntax - // models this as a `wildcardPattern` — distinct from the `_` *match* - // pattern above, which is an `expressionPattern` over a - // `discardAssignmentExpr`. + // models this as a `wildcardPattern`, distinct from the `_` match form + // handled by the context-aware `discardAssignmentExpr` rule. rule!((wildcardPattern) => (ignore_pattern)), - // A tuple pattern in a match position (`case (let a, 3):`) is parsed by - // swift-syntax as an `expressionPattern` wrapping a `tupleExpr` — unlike a - // binding tuple (`let (a, b)`), which is a real `tuplePattern`. Recognise - // it as a `tuple_pattern`; its `labeledExpr` elements translate to - // `pattern_element`s under `ctx.in_pattern` (a binding element becomes a - // `name_pattern`, any other expression an `expr_equality_pattern`). - rule!( - (expressionPattern expression: (tupleExpr elements: _* @@els)) - => - tuple_pattern { - ctx.in_pattern = true; - let elements = ctx.translate(els)?; - tree!((tuple_pattern element: {elements})) - } - ), - // A bare expression pattern (`case 1:`, `case someConstant:`) matches by - // equality. - rule!((expressionPattern expression: @e) => (expr_equality_pattern expr: {e})), + // An expression pattern only establishes pattern context; its child + // determines the concrete pattern shape. + rule!((expressionPattern expression: @@e) => expr { + ctx.in_pattern = true; + ctx.translate(e)?.into_iter().next().ok_or("expression pattern has no child")? + }), // ---- Functions ---- // A function declaration (parameters/return type/body optional). The // parameters and return type nest under `signature`; the body is a @@ -661,7 +644,13 @@ fn translation_rules() -> Vec> { rule!( (functionCallExpr calledExpression: @callee arguments: _* @args) => - (call_expr callee: {callee} argument: {args}) + expr { + if ctx.in_pattern { + tree!((constructor_pattern constructor: {callee} element: {args})) + } else { + tree!((call_expr callee: {callee} argument: {args})) + } + } ), // A call argument or an enum-case pattern argument. When translating an // enum-case `constructor_pattern`'s arguments (`ctx.in_pattern`), a @@ -672,6 +661,27 @@ fn translation_rules() -> Vec> { // Otherwise the argument keeps its label as the `name` and its value. // The pattern-only shapes (`patternExpr`, `discardAssignmentExpr`) are // matched first; they never occur as ordinary call arguments. + rule!( + (labeledExpr + label: _? @@lbl + expression: (functionCallExpr + calledExpression: @constructor + arguments: _* @elements)) + => + argument { + if ctx.in_pattern { + tree!((pattern_element + key: (identifier #{lbl})? + pattern: (constructor_pattern + constructor: {constructor} + element: {elements}))) + } else { + tree!((argument + name: (identifier #{lbl})? + value: (call_expr callee: {constructor} argument: {elements}))) + } + } + ), rule!( (labeledExpr label: _? @@lbl expression: (patternExpr pattern: @p)) => @@ -689,7 +699,7 @@ fn translation_rules() -> Vec> { if ctx.in_pattern { tree!((pattern_element key: (identifier #{lbl})? - pattern: (expr_equality_pattern expr: {val}))) + pattern: {val})) } else { tree!((argument name: (identifier #{lbl})? value: {val})) } @@ -933,7 +943,18 @@ fn translation_rules() -> Vec> { ), // ---- Optionals and errors ---- // Optional chaining — unwrap the marker - rule!((optionalChainingExpr expression: @inner) => expr { inner }), + rule!((optionalChainingExpr expression: @@inner) => expr { + let inner = ctx.translate(inner)?.into_iter().next().ok_or("optional chaining expression has no child")?; + if ctx.in_pattern { + tree!((constructor_pattern + constructor: (member_access_expr + base: (named_type_expr name: (identifier "Optional")) + member: (identifier "some")) + element: (pattern_element pattern: {inner}))) + } else { + inner + } + }), // try/try?/try! expr → unary_expr with operator "try", "try?" or "try!" rule!( (tryExpr questionOrExclamationMark: _? @@m expression: @e) @@ -1023,8 +1044,7 @@ fn translation_rules() -> Vec> { // becomes a `modifier`; its source text is the modifier spelling. rule!((attribute) @m => (modifier #{m})), rule!((declModifier) @m => (modifier #{m})), - // A `super` expression. (`self` needs no rule: swift-syntax models it as - // an ordinary `declReferenceExpr`, already mapped to a `name_expr`.) + // A `super` expression. rule!((superExpr) => (super_expr)), // Type expressions. A generic type applied with explicit arguments // (`Set`) becomes a `generic_type_expr` whose `base` is the type diff --git a/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output new file mode 100644 index 000000000000..22d9b86bf996 --- /dev/null +++ b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output @@ -0,0 +1,160 @@ +switch event { +case let .received(.some(value), timestamp): + print(value, timestamp) +default: + break +} + +--- + +sourceFile + endOfFileToken: endOfFile + statements: + codeBlockItem + item: + expressionStmt + expression: + switchExpr + leftBrace: { + rightBrace: } + cases: + switchCase + label: + switchCaseLabel + colon: : + caseKeyword: case + caseItems: + switchCaseItem + pattern: + valueBindingPattern + pattern: + expressionPattern + expression: + functionCallExpr + leftParen: ( + rightParen: ) + arguments: + labeledExpr + expression: + functionCallExpr + leftParen: ( + rightParen: ) + arguments: + labeledExpr + expression: + patternExpr + pattern: + identifierPattern + identifier: identifier "value" + additionalTrailingClosures: + calledExpression: + memberAccessExpr + period: . + declName: + declReferenceExpr + baseName: identifier "some" + trailingComma: , + labeledExpr + expression: + patternExpr + pattern: + identifierPattern + identifier: identifier "timestamp" + additionalTrailingClosures: + calledExpression: + memberAccessExpr + period: . + declName: + declReferenceExpr + baseName: identifier "received" + bindingSpecifier: let + statements: + codeBlockItem + item: + functionCallExpr + leftParen: ( + rightParen: ) + arguments: + labeledExpr + expression: + declReferenceExpr + baseName: identifier "value" + trailingComma: , + labeledExpr + expression: + declReferenceExpr + baseName: identifier "timestamp" + additionalTrailingClosures: + calledExpression: + declReferenceExpr + baseName: identifier "print" + switchCase + label: + switchDefaultLabel + colon: : + defaultKeyword: default + statements: + codeBlockItem + item: + breakStmt + breakKeyword: break + subject: + declReferenceExpr + baseName: identifier "event" + switchKeyword: switch + +--- + +top_level + body: + block + stmt: + switch_expr + value: + name_expr + identifier: identifier "event" + case: + switch_case + pattern: + constructor_pattern + constructor: + member_access_expr + base: inferred_type_expr "." + member: identifier "received" + element: + pattern_element + pattern: + constructor_pattern + constructor: + member_access_expr + base: inferred_type_expr "." + member: identifier "some" + element: + pattern_element + pattern: + name_pattern + identifier: identifier "value" + pattern_element + pattern: + name_pattern + identifier: identifier "timestamp" + body: + block + stmt: + call_expr + callee: + name_expr + identifier: identifier "print" + argument: + argument + value: + name_expr + identifier: identifier "value" + argument + value: + name_expr + identifier: identifier "timestamp" + switch_case + body: + block + stmt: break_expr "break" diff --git a/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift new file mode 100644 index 000000000000..c603e2a3b12c --- /dev/null +++ b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift @@ -0,0 +1,6 @@ +switch event { +case let .received(.some(value), timestamp): + print(value, timestamp) +default: + break +} \ No newline at end of file diff --git a/unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.output b/unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.output new file mode 100644 index 000000000000..7b1eb1eea3b4 --- /dev/null +++ b/unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.output @@ -0,0 +1,117 @@ +if case .some(let value)? = input { + print(value) +} + +--- + +sourceFile + endOfFileToken: endOfFile + statements: + codeBlockItem + item: + expressionStmt + expression: + ifExpr + body: + codeBlock + leftBrace: { + rightBrace: } + statements: + codeBlockItem + item: + functionCallExpr + leftParen: ( + rightParen: ) + arguments: + labeledExpr + expression: + declReferenceExpr + baseName: identifier "value" + additionalTrailingClosures: + calledExpression: + declReferenceExpr + baseName: identifier "print" + conditions: + conditionElement + condition: + matchingPatternCondition + initializer: + initializerClause + equal: = + value: + declReferenceExpr + baseName: identifier "input" + pattern: + expressionPattern + expression: + optionalChainingExpr + expression: + functionCallExpr + leftParen: ( + rightParen: ) + arguments: + labeledExpr + expression: + patternExpr + pattern: + valueBindingPattern + pattern: + identifierPattern + identifier: identifier "value" + bindingSpecifier: let + additionalTrailingClosures: + calledExpression: + memberAccessExpr + period: . + declName: + declReferenceExpr + baseName: identifier "some" + questionMark: ? + caseKeyword: case + ifKeyword: if + +--- + +top_level + body: + block + stmt: + if_expr + condition: + pattern_guard_expr + pattern: + constructor_pattern + constructor: + member_access_expr + base: + named_type_expr + name: identifier "Optional" + member: identifier "some" + element: + pattern_element + pattern: + constructor_pattern + constructor: + member_access_expr + base: inferred_type_expr "." + member: identifier "some" + element: + pattern_element + pattern: + name_pattern + identifier: identifier "value" + value: + name_expr + identifier: identifier "input" + then: + block + stmt: + call_expr + callee: + name_expr + identifier: identifier "print" + argument: + argument + value: + name_expr + identifier: identifier "value" diff --git a/unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.swift b/unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.swift new file mode 100644 index 000000000000..ef9eac3661c9 --- /dev/null +++ b/unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.swift @@ -0,0 +1,3 @@ +if case .some(let value)? = input { + print(value) +} \ No newline at end of file From 8080bac9cf5f681ca9efeacce6498794b1134521 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 08:59:44 +0200 Subject: [PATCH 106/190] unified: Add newlines at EOF --- .../corpus/swift/control-flow/nested-enum-case-pattern.swift | 2 +- .../tests/corpus/swift/expressions/array-type-constructor.swift | 2 +- .../tests/corpus/swift/expressions/array-type-metatype.swift | 2 +- .../swift/optionals-and-errors/optional-enum-case-binding.swift | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift index c603e2a3b12c..876d9995aee6 100644 --- a/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift +++ b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift @@ -3,4 +3,4 @@ case let .received(.some(value), timestamp): print(value, timestamp) default: break -} \ No newline at end of file +} diff --git a/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift b/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift index b3cccb6ae2a1..49191aee851d 100644 --- a/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift +++ b/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift @@ -1 +1 @@ -let values = [Result]() \ No newline at end of file +let values = [Result]() diff --git a/unified/extractor/tests/corpus/swift/expressions/array-type-metatype.swift b/unified/extractor/tests/corpus/swift/expressions/array-type-metatype.swift index d0ee51283459..85d770be76cb 100644 --- a/unified/extractor/tests/corpus/swift/expressions/array-type-metatype.swift +++ b/unified/extractor/tests/corpus/swift/expressions/array-type-metatype.swift @@ -1 +1 @@ -let type = [Result].self \ No newline at end of file +let type = [Result].self diff --git a/unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.swift b/unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.swift index ef9eac3661c9..c0e58852bef1 100644 --- a/unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.swift +++ b/unified/extractor/tests/corpus/swift/optionals-and-errors/optional-enum-case-binding.swift @@ -1,3 +1,3 @@ if case .some(let value)? = input { print(value) -} \ No newline at end of file +} From 0cf2871385d5bb8140ded73738500cd50f680bc4 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 09:42:19 +0200 Subject: [PATCH 107/190] unified: Update comment The restriction to classes was more permanent that anticipated, since top-level scopes instead target a TModuleScope --- unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index 02ce277bc895..8f7b7ae7404e 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -28,7 +28,7 @@ class NameBindingNode extends TNameBindingNode { predicate isLocalName(LocalName local) { this = TLocalName(local) } - /** Holds if this represents the set of static members available in the given namespace (currently restricted to classes) */ + /** Holds if this represents the set of static members available in the given namespace. */ predicate isExportedNamespace(ClassLikeDeclaration cls) { this = TExportedNamespace(cls) } /** Holds if this represents the set of members that can be accessed unqualified within the given scope. */ From a3f21a5a20bf63b4dcff1b6ac011817963420170 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 10:44:24 +0200 Subject: [PATCH 108/190] unified: Support scoped imports Scoped imports like 'import class B.C' are mapped to an AST of form ImportDeclartion pattern: NamePattern "C" importedExpr: MemberAccessExpr base: "B" member: "C" The NamePattern introduces a local alias for 'C', but unlike type aliases we also resolve to the ultimate target, when it's coming through an import. --- unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll | 5 +++++ .../static-name-binding/package1/Sources/Target1/File2.swift | 5 +++++ .../static-name-binding/package1/Sources/Target2/File3.swift | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index 8f7b7ae7404e..adf505281eb9 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -181,6 +181,11 @@ predicate valueStep(NameBindingNode node1, NameBindingNode node2) { node1 = getModuleNodeFromFile(top.getFile()) and node2.isLocalNamespace(top.getBody()) // implicitly import own module ) + or + exists(ImportDeclaration imprt | + node1 = getNodeFromRef(imprt.getImportedExpr()) and + node2 = getNodeFromRef(imprt.getPattern()) + ) } predicate inheritanceStep(NameBindingNode supertype, NameBindingNode subtype) { diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift index fa515af0eaf5..4705d8f65558 100644 --- a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift @@ -1 +1,6 @@ class A {} // name=Target1.A + +private import class Target2.B // $ access=Target2.B // name=LocalB + +// Note: currently the local name 'B' introduced by the scoped import is also resolved as a target +private let x: B.C; // $ access=Target2.B access=Target2.B.C access=LocalB diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift index 47c3f4da77ed..c49329b168f3 100644 --- a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift @@ -1 +1,5 @@ class A {} // name=Target2.A + +class B { // name=Target2.B + class C {} // name=Target2.B.C +} From 50f934bbc4f0836c87786548e08b95b24d7a8d8f Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 10:55:32 +0200 Subject: [PATCH 109/190] unified: Don't track trivial name aliasse --- .../unified/internal/StaticNameBinding.qll | 20 ++++++++++++++++++- .../package1/Sources/Target1/File2.swift | 5 ++--- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index adf505281eb9..5afbf1ab6bb2 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -280,8 +280,26 @@ private module TrackNamespaceInput implements TrackInputSig { private module TrackNamespace = Track; +/** + * Holds if `decl` is a trivial local alias for an imported name. + * + * Declaration-tracking usually stops at type-aliases, but trivial aliases + * will be passed through. + */ +predicate isTrivialNameAlias(NameDeclaration decl) { + exists(ImportDeclaration imprt | + decl = getIdentifierFromRef(imprt.getPattern()) and + decl.getName() = getIdentifierFromRef(imprt.getImportedExpr()).getValue() + ) +} + private module TrackNameDeclarationInput implements TrackInputSig { - predicate shouldTrack(NameBindingNode node) { node.isIdentifier(any(NameDeclaration d)) } + predicate shouldTrack(NameBindingNode node) { + exists(NameDeclaration decl | + node.isIdentifier(decl) and + not isTrivialNameAlias(decl) + ) + } } private module TrackNameDeclaration = Track; diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift index 4705d8f65558..62dbfcbf5c04 100644 --- a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File2.swift @@ -1,6 +1,5 @@ class A {} // name=Target1.A -private import class Target2.B // $ access=Target2.B // name=LocalB +private import class Target2.B // $ access=Target2.B -// Note: currently the local name 'B' introduced by the scoped import is also resolved as a target -private let x: B.C; // $ access=Target2.B access=Target2.B.C access=LocalB +private let x: B.C; // $ access=Target2.B access=Target2.B.C From cfa81b13ab707def142edd65ffd17aa1b08441c2 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Fri, 7 Aug 2026 13:22:58 +0200 Subject: [PATCH 110/190] Ruby: Switch regex tracking from TypeTracking to DataFlow. --- .../ruby/regexp/internal/RegExpTracking.qll | 196 ++++-------------- 1 file changed, 36 insertions(+), 160 deletions(-) diff --git a/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpTracking.qll b/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpTracking.qll index 5d70b7d164a2..7229ccfd9125 100644 --- a/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpTracking.qll +++ b/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpTracking.qll @@ -55,175 +55,59 @@ DataFlow::Node stringSink() { /** Gets a node where regular expressions that flow to the node are used. */ DataFlow::Node regSink() { result = any(RegexExecution exec).getRegex() } -private signature module TypeTrackInputSig { - DataFlow::LocalSourceNode start(TypeTracker t, DataFlow::Node start); +private module RegexConfig implements DataFlow::StateConfigSig { + private newtype TFlowState = + TStringState() or + TRegExpState() - predicate end(DataFlow::Node n); + class FlowState = TFlowState; - predicate additionalStep(DataFlow::Node nodeFrom, DataFlow::LocalSourceNode nodeTo); -} - -/** - * Provides a version of type tracking where we first prune for reachable nodes, - * before doing the type tracking computation. - */ -private module PrunedTypeTrack { - private predicate additionalStep( - DataFlow::LocalSourceNode nodeFrom, DataFlow::LocalSourceNode nodeTo - ) { - Input::additionalStep(nodeFrom.getALocalUse(), nodeTo) - } - - /** Gets a node that is forwards reachable by type-tracking. */ - pragma[nomagic] - private DataFlow::LocalSourceNode forward(TypeTracker t) { - result = Input::start(t, _) + predicate isSource(DataFlow::Node source, FlowState state) { + state = TStringState() and source = strStart() or - exists(TypeTracker t2 | result = forward(t2).track(t2, t)) - or - exists(TypeTracker t2 | t2 = t.continue() | additionalStep(forward(t2), result)) + state = TRegExpState() and source = regStart() } - bindingset[result, tbt] - pragma[inline_late] - pragma[noopt] - private DataFlow::LocalSourceNode forwardLateInline(TypeBackTracker tbt) { - exists(TypeTracker tt | - result = forward(tt) and - tt = tbt.getACompatibleTypeTracker() - ) + predicate isSink(DataFlow::Node sink, FlowState state) { + state = TStringState() and sink = stringSink() + or + state = TRegExpState() and sink = regSink() } - /** Gets a node that is backwards reachable by type-tracking. */ - pragma[nomagic] - private DataFlow::LocalSourceNode backwards(TypeBackTracker t) { - result = forwardLateInline(t) and + predicate isAdditionalFlowStep( + DataFlow::Node node1, FlowState state1, DataFlow::Node node2, FlowState state2 + ) { + regFromString(node1, node2) and state1 = TStringState() and state2 = TRegExpState() + or + state1 = TStringState() and + state2 = TStringState() and ( - t.start() and - Input::end(result.getALocalUse()) + // include taint flow through `String` summaries + TaintTrackingPrivate::summaryThroughStepTaint(node1, node2, any(String::SummarizedCallable c)) or - exists(TypeBackTracker t2 | result = backwards(t2).backtrack(t2, t)) + // string concatenations, and + exists(CfgNodes::ExprNodes::OperationCfgNode op | + op = node2.asExpr() and + op.getAnOperand() = node1.asExpr() and + op.getExpr().(Ast::BinaryOperation).getOperator() = "+" + ) or - exists(TypeBackTracker t2 | t2 = t.continue() | additionalStep(result, backwards(t2))) - ) - } - - bindingset[result, tt] - pragma[inline_late] - pragma[noopt] - private DataFlow::LocalSourceNode backwardsInlineLate(TypeTracker tt) { - exists(TypeBackTracker tbt | - result = backwards(tbt) and - tt = tbt.getACompatibleTypeTracker() - ) - } - - /** Holds if `n` is forwards and backwards reachable with type tracker `t`. */ - pragma[nomagic] - private predicate reached(DataFlow::LocalSourceNode n, TypeTracker t) { - n = forward(t) and - n = backwardsInlineLate(t) - } - - pragma[nomagic] - private TypeTracker stepReached( - TypeTracker t, DataFlow::LocalSourceNode nodeFrom, DataFlow::LocalSourceNode nodeTo - ) { - exists(StepSummary summary | - step(nodeFrom, nodeTo, summary) and - reached(nodeFrom, t) and - reached(nodeTo, result) and - result = append(t, summary) - ) - or - additionalStep(nodeFrom, nodeTo) and - reached(nodeFrom, pragma[only_bind_into](t)) and - reached(nodeTo, pragma[only_bind_into](t)) and - result = t.continue() - } - - /** Gets a node that has been tracked from the start node `start`. */ - DataFlow::LocalSourceNode track(DataFlow::Node start, TypeTracker t) { - t.start() and - result = Input::start(t, start) and - reached(result, t) - or - exists(TypeTracker t2 | t = stepReached(t2, track(start, t2), result)) - } -} - -/** Holds if `inputStr` is compiled to a regular expression that is returned at `call`. */ -pragma[nomagic] -private predicate regFromString(DataFlow::LocalSourceNode inputStr, DataFlow::CallNode call) { - exists(DataFlow::Node mid | - inputStr.flowsTo(mid) and - call = API::getTopLevelMember("Regexp").getAMethodCall(["compile", "new"]) and - mid = call.getArgument(0) - ) -} - -private module StringTypeTrackInput implements TypeTrackInputSig { - DataFlow::LocalSourceNode start(TypeTracker t, DataFlow::Node start) { - start = strStart() and t.start() and result = start - } - - predicate end(DataFlow::Node n) { - n = stringSink() or - regFromString(n, _) - } - - predicate additionalStep(DataFlow::Node nodeFrom, DataFlow::LocalSourceNode nodeTo) { - // include taint flow through `String` summaries - TaintTrackingPrivate::summaryThroughStepTaint(nodeFrom, nodeTo, - any(String::SummarizedCallable c)) - or - // string concatenations, and - exists(CfgNodes::ExprNodes::OperationCfgNode op | - op = nodeTo.asExpr() and - op.getAnOperand() = nodeFrom.asExpr() and - op.getExpr().(Ast::BinaryOperation).getOperator() = "+" + // string interpolations + node1.asExpr() = + node2.asExpr().(CfgNodes::ExprNodes::StringlikeLiteralCfgNode).getAComponent() ) - or - // string interpolations - nodeFrom.asExpr() = - nodeTo.asExpr().(CfgNodes::ExprNodes::StringlikeLiteralCfgNode).getAComponent() } } -/** - * Gets a node that has been tracked from the string constant `start` to some node. - * This is used to figure out where `start` is evaluated as a regular expression against an input string, - * or where `start` is compiled into a regular expression. - */ -private predicate trackStrings = PrunedTypeTrack::track/2; +private module RegexTracking = DataFlow::GlobalWithState; -/** Holds if `strConst` flows to a regex compilation (tracked by `t`), where the resulting regular expression is stored in `reg`. */ +/** Holds if `inputStr` is compiled to a regular expression that is returned at `call`. */ pragma[nomagic] -private predicate regFromStringStart(DataFlow::Node strConst, TypeTracker t, DataFlow::CallNode reg) { - regFromString(trackStrings(strConst, t), reg) and - exists(t.continue()) -} - -private module RegTypeTrackInput implements TypeTrackInputSig { - DataFlow::LocalSourceNode start(TypeTracker t, DataFlow::Node start) { - start = regStart() and - t.start() and - result = start - or - regFromStringStart(start, t, result) - } - - predicate end(DataFlow::Node n) { n = regSink() } - - predicate additionalStep(DataFlow::Node nodeFrom, DataFlow::LocalSourceNode nodeTo) { none() } +private predicate regFromString(DataFlow::Node inputStr, DataFlow::CallNode call) { + call = API::getTopLevelMember("Regexp").getAMethodCall(["compile", "new"]) and + inputStr = call.getArgument(0) } -/** - * Gets a node that has been tracked from the regular expression `start` to some node. - * This is used to figure out where `start` is executed against an input string. - */ -private predicate trackRegs = PrunedTypeTrack::track/2; - /** Gets a node that references a regular expression. */ private DataFlow::LocalSourceNode trackRegexpType(TypeTracker t) { t.start() and @@ -240,12 +124,4 @@ DataFlow::Node trackRegexpType() { trackRegexpType(TypeTracker::end()).flowsTo(r /** Gets a node holding a value for the regular expression that is evaluated at `re`. */ cached -DataFlow::Node regExpSource(DataFlow::Node re) { - exists(DataFlow::LocalSourceNode end | end = trackStrings(result, TypeTracker::end()) | - end.getALocalUse() = re and re = stringSink() - ) - or - exists(DataFlow::LocalSourceNode end | end = trackRegs(result, TypeTracker::end()) | - end.getALocalUse() = re and re = regSink() - ) -} +DataFlow::Node regExpSource(DataFlow::Node re) { RegexTracking::flow(result, re) } From a79c32ae9f5fe61bfb12de2b61ef9cd88b3fc03f Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 13:46:59 +0200 Subject: [PATCH 111/190] unified: Bulk imports --- .../unified/internal/LocalNameBinding.qll | 3 +++ .../unified/internal/NameBindingPlugin.qll | 4 +-- .../internal/NameBindingPluginSwift.qll | 5 +++- .../unified/internal/StaticNameBinding.qll | 27 ++++++++++++++++++- .../package1/Sources/Target1/File3.swift | 4 +++ 5 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File3.swift diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index faa2be5fe43e..a7ab44dbbb8e 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -326,6 +326,9 @@ private module LocalNameBindingInput implements LocalNameBindingInputSig Date: Fri, 7 Aug 2026 13:48:21 +0200 Subject: [PATCH 112/190] unified: Fix access level in test case Program was not valid unless these were public --- .../package1/Sources/Target2/File3.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift index c49329b168f3..8309118a867b 100644 --- a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target2/File3.swift @@ -1,5 +1,5 @@ -class A {} // name=Target2.A +public class A {} // name=Target2.A -class B { // name=Target2.B - class C {} // name=Target2.B.C +public class B { // name=Target2.B + public class C {} // name=Target2.B.C } From a2b6c1f76ab2f1f0432b767a6dee3f39d8bc8eaf Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Fri, 7 Aug 2026 13:48:55 +0200 Subject: [PATCH 113/190] Ruby: Accept test improvement. --- .../IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected | 1 + .../IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.rb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected b/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected index 097f43c33e70..00f8d91f99d3 100644 --- a/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected +++ b/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected @@ -16,6 +16,7 @@ | tst-IncompleteHostnameRegExp.rb:20:14:20:31 | ^test.example.com$ | This regular expression has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:20:13:20:26 | "#{...}$" | here | | tst-IncompleteHostnameRegExp.rb:22:24:22:40 | test.example.com$ | This string, which is used as a regular expression $@, has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:23:13:23:29 | ...[...] | here | | tst-IncompleteHostnameRegExp.rb:28:24:28:40 | test.example.com$ | This string, which is used as a regular expression $@, has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:63:20:63:36 | ...[...] | here | +| tst-IncompleteHostnameRegExp.rb:30:27:30:43 | test.example.com$ | This string, which is used as a regular expression $@, has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:66:20:66:36 | ...[...] | here | | tst-IncompleteHostnameRegExp.rb:37:3:37:53 | ^(https?:)?\\/\\/((service\|www).)?example.com(?=$\|\\/) | This regular expression has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:37:2:37:54 | /^(https?:)?\\/\\/((service\|www).../ | here | | tst-IncompleteHostnameRegExp.rb:38:3:38:43 | ^(http\|https):\\/\\/www.example.com\\/p\\/f\\/ | This regular expression has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:38:2:38:44 | /^(http\|https):\\/\\/www.example.../ | here | | tst-IncompleteHostnameRegExp.rb:39:5:39:30 | http:\\/\\/sub.example.com\\/ | This regular expression has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:39:2:39:33 | /^(http:\\/\\/sub.example.com\\/)/ | here | diff --git a/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.rb b/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.rb index 50e2e257dcec..20c7522ba1cf 100644 --- a/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.rb +++ b/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.rb @@ -27,7 +27,7 @@ def foo convert1({ hostname: 'test.example.com$' }); # $ Alert // NOT OK - domains = [ { hostname: 'test.example.com$' } ]; # $ MISSING: Alert # NOT OK - but not flagged due to limitations of TypeTracking. + domains = [ { hostname: 'test.example.com$' } ]; # $ Alert // NOT OK From 659da08a38f0b6954cff3dc5c351c5e33b4baca0 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 13:53:21 +0200 Subject: [PATCH 114/190] unified: Fix incorrect expectation Module names can only be referenced by an import declaration, they cannot appear directly on front of a type name unless the module is also imported. --- .../static-name-binding/package1/Sources/Target1/File1.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File1.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File1.swift index fff0a56e90f3..1c9d6f81d06c 100644 --- a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File1.swift +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target1/File1.swift @@ -1,2 +1,2 @@ let x: A; // $ access=Target1.A -let y: Target2.A; // $ access=Target2.A +let y: Target2.A; // $ SPURIOUS: access=Target2.A From 35c54b15c7ed6916a38244497e10349fdc7539e7 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 14:26:12 +0200 Subject: [PATCH 115/190] unified: Fix toString and getLocation for TLocalNamespace --- .../ql/lib/codeql/unified/internal/StaticNameBinding.qll | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index 8a58e640b470..9c9967920704 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -54,9 +54,7 @@ class NameBindingNode extends TNameBindingNode { this.isExportedNamespace(cls) and result = "ExportedNamespace(" + cls + ")" ) or - exists(ClassLikeDeclaration cls | - this.isLocalNamespace(cls) and result = "LocalNamespace(" + cls + ")" - ) + exists(AstNode n | this.isLocalNamespace(n) and result = "LocalNamespace(" + n + ")") or exists(ModuleScopeRepr repr | this.isModuleScopeNode(repr) and result = "ModuleScope(" + repr + ")" @@ -74,7 +72,7 @@ class NameBindingNode extends TNameBindingNode { or exists(ClassLikeDeclaration cls | this.isExportedNamespace(cls) and result = cls.getLocation()) or - exists(ClassLikeDeclaration cls | this.isLocalNamespace(cls) and result = cls.getLocation()) + exists(AstNode n | this.isLocalNamespace(n) and result = n.getLocation()) or exists(ModuleScopeRepr repr | this.isModuleScopeNode(repr) and result = repr.getLocation()) or From af2f5a2654394ff56975db8db6625f89958b0098 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 14:26:27 +0200 Subject: [PATCH 116/190] unified: Remove location of TModuleRoot --- unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll | 3 --- 1 file changed, 3 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index 9c9967920704..a753cc5cce55 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -75,9 +75,6 @@ class NameBindingNode extends TNameBindingNode { exists(AstNode n | this.isLocalNamespace(n) and result = n.getLocation()) or exists(ModuleScopeRepr repr | this.isModuleScopeNode(repr) and result = repr.getLocation()) - or - this.isModuleRoot() and - exists(ModuleScopeRepr repr | result = repr.getLocation()) } } From 52cbb679dd79fd14d8126576ff5706c5398e3679 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Mon, 10 Aug 2026 10:25:44 +0200 Subject: [PATCH 117/190] Rust: Evaluate `mayInvokeCallback` in type inference stage --- rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll | 5 ++++- rust/ql/lib/codeql/rust/internal/CachedStages.qll | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll b/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll index e49d5cc21d29..8b63d818af1b 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll @@ -58,6 +58,7 @@ private import codeql.rust.dataflow.FlowBarrier private import codeql.rust.dataflow.FlowSummary private import codeql.rust.dataflow.FlowSource private import codeql.rust.dataflow.FlowSink +private import codeql.rust.internal.CachedStages private import codeql.rust.internal.typeinference.FunctionType private import codeql.rust.internal.typeinference.TypeMention private import codeql.rust.frameworks.stdlib.Stdlib @@ -215,7 +216,9 @@ private class SummarizedCallableFromModel extends SummarizedCallable::Range { * add a flow model that achieves the effect of simulating that the callback is * invoked, which is needed for flow through captured variables to work. */ -private predicate mayInvokeCallback(Function f, int n) { +cached +predicate mayInvokeCallback(Function f, int n) { + Stages::TypeInferenceStage::ref() and exists(TypeMention tm, Trait trait | tm = f.getParam(n).getTypeRepr() and trait = getALookupTrait(f, tm.getType()) and diff --git a/rust/ql/lib/codeql/rust/internal/CachedStages.qll b/rust/ql/lib/codeql/rust/internal/CachedStages.qll index a92770ed2384..4e3874a9282a 100644 --- a/rust/ql/lib/codeql/rust/internal/CachedStages.qll +++ b/rust/ql/lib/codeql/rust/internal/CachedStages.qll @@ -130,6 +130,7 @@ module Stages { module TypeInferenceStage { private import codeql.rust.internal.typeinference.Type private import codeql.rust.internal.typeinference.TypeInference + private import codeql.rust.dataflow.internal.ModelsAsData /** * Always holds. @@ -150,6 +151,8 @@ module Stages { exists(Type t) or exists(inferType(_)) + or + mayInvokeCallback(_, _) } } From 970e4c637361e486ca7ce907891c03c92bd0ffcd Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 7 Aug 2026 14:30:31 +0200 Subject: [PATCH 118/190] unified: Fix handling of unscoped imports An `import X` declaration now does two things: - X becomes a local name binding - X is bulk-imported into the local scope The AST mapping now maps it to X with a bulk-importing pattern as a sub-pattern. Module names can no longer be referenced anywhere except as the leading qualifier of an import statement. --- unified/extractor/ast_types.yml | 1 + .../extractor/src/languages/swift/swift.rs | 11 ++++---- ...with-deeply-nested-path-three-parts.output | 5 +++- .../import-with-dotted-path-two-parts.output | 5 +++- .../simple-import-with-single-name.output | 5 +++- .../ql/lib/codeql/unified/internal/Ast.qll | 9 ++++++- .../unified/internal/LocalNameBinding.qll | 2 -- .../unified/internal/NameBindingPlugin.qll | 3 ++- .../unified/internal/StaticNameBinding.qll | 27 +++++++++++++++---- unified/ql/lib/unified.dbscheme | 5 ++++ .../package1/Sources/Target1/File1.swift | 2 +- 11 files changed, 56 insertions(+), 19 deletions(-) diff --git a/unified/extractor/ast_types.yml b/unified/extractor/ast_types.yml index ca5f6d45edc6..854829a17cb4 100644 --- a/unified/extractor/ast_types.yml +++ b/unified/extractor/ast_types.yml @@ -413,6 +413,7 @@ named: name_pattern: modifier*: modifier identifier: identifier + sub_pattern?: pattern # A pattern matching anything, binding no variables, usually using the syntax "_" ignore_pattern: diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index 556345c18d21..0762cc66b291 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -1023,13 +1023,12 @@ fn translation_rules() -> Vec> { path: (importPathComponent name: @@parts)*) => import_declaration { - let pattern = match kind { - Some(_) => { - let last = *parts.last().ok_or("import has no path")?; - tree!((name_pattern identifier: (identifier #{last}))) - } - None => tree!((bulk_importing_pattern)), + let bulk_import = match kind { + None => Some(tree!((bulk_importing_pattern))), + Some(_) => None, // scoped import, no bulk import }; + let last = *parts.last().ok_or("import has no path")?; + let pattern = tree!((name_pattern identifier: (identifier #{last}) sub_pattern: {bulk_import})); tree!((import_declaration modifier: (modifier #{kind})? modifier: {attrs} diff --git a/unified/extractor/tests/corpus/swift/desugar/import-with-deeply-nested-path-three-parts.output b/unified/extractor/tests/corpus/swift/desugar/import-with-deeply-nested-path-three-parts.output index cacdc64a46de..ed16e68e219d 100644 --- a/unified/extractor/tests/corpus/swift/desugar/import-with-deeply-nested-path-three-parts.output +++ b/unified/extractor/tests/corpus/swift/desugar/import-with-deeply-nested-path-three-parts.output @@ -37,4 +37,7 @@ top_level identifier: identifier "Foundation" member: identifier "Networking" member: identifier "URLSession" - pattern: bulk_importing_pattern "import Foundation.Networking.URLSession" + pattern: + name_pattern + identifier: identifier "URLSession" + sub_pattern: bulk_importing_pattern "import Foundation.Networking.URLSession" diff --git a/unified/extractor/tests/corpus/swift/desugar/import-with-dotted-path-two-parts.output b/unified/extractor/tests/corpus/swift/desugar/import-with-dotted-path-two-parts.output index 4fc053a7bc53..88f08baa19ce 100644 --- a/unified/extractor/tests/corpus/swift/desugar/import-with-dotted-path-two-parts.output +++ b/unified/extractor/tests/corpus/swift/desugar/import-with-dotted-path-two-parts.output @@ -31,4 +31,7 @@ top_level name_expr identifier: identifier "Foundation" member: identifier "Networking" - pattern: bulk_importing_pattern "import Foundation.Networking" + pattern: + name_pattern + identifier: identifier "Networking" + sub_pattern: bulk_importing_pattern "import Foundation.Networking" diff --git a/unified/extractor/tests/corpus/swift/desugar/simple-import-with-single-name.output b/unified/extractor/tests/corpus/swift/desugar/simple-import-with-single-name.output index 583f33563d13..31261cd952c3 100644 --- a/unified/extractor/tests/corpus/swift/desugar/simple-import-with-single-name.output +++ b/unified/extractor/tests/corpus/swift/desugar/simple-import-with-single-name.output @@ -25,4 +25,7 @@ top_level imported_expr: name_expr identifier: identifier "Foundation" - pattern: bulk_importing_pattern "import Foundation" + pattern: + name_pattern + identifier: identifier "Foundation" + sub_pattern: bulk_importing_pattern "import Foundation" diff --git a/unified/ql/lib/codeql/unified/internal/Ast.qll b/unified/ql/lib/codeql/unified/internal/Ast.qll index 20ff74e6eaf7..d5ffa0218523 100644 --- a/unified/ql/lib/codeql/unified/internal/Ast.qll +++ b/unified/ql/lib/codeql/unified/internal/Ast.qll @@ -1078,9 +1078,14 @@ module Unified { /** Gets the node corresponding to the field `modifier`. */ final F::Modifier getAModifier() { result = this.getModifier(_) } + /** Gets the node corresponding to the field `sub_pattern`. */ + final F::Pattern getSubPattern() { unified_name_pattern_sub_pattern(this, result) } + /** Gets a field or child node of this node. */ final override F::AstNode getAFieldOrChild() { - unified_name_pattern_def(this, result) or unified_name_pattern_modifier(this, _, result) + unified_name_pattern_def(this, result) or + unified_name_pattern_modifier(this, _, result) or + unified_name_pattern_sub_pattern(this, result) } } @@ -1895,6 +1900,8 @@ module Unified { or result = node.(NamePattern).getModifier(i) and name = "getModifier" or + result = node.(NamePattern).getSubPattern() and i = -1 and name = "getSubPattern" + or result = node.(NamedTypeExpr).getName() and i = -1 and name = "getName" or result = node.(NamedTypeExpr).getQualifier() and i = -1 and name = "getQualifier" diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index a7ab44dbbb8e..d7020c153465 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -323,8 +323,6 @@ private module LocalNameBindingInput implements LocalNameBindingInputSig Date: Mon, 10 Aug 2026 11:02:59 +0200 Subject: [PATCH 119/190] Ruby: Approximate FieldContent in data flow. --- .../dataflow/internal/DataFlowPrivate.qll | 50 ++++++++++++------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll index 9f3042ebb5b7..b1efcd23aa4f 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll @@ -676,26 +676,28 @@ private module Cached { ) } + private predicate fieldName(string name) { + name = any(InstanceVariable v).getName() + or + name = "@" + any(SetterMethodCall c).getTargetName() + or + // The following equation unfortunately leads to a non-monotonic recursion error: + // name = any(AccessPathToken a).getAnArgument("Field") + // Therefore, we use the following instead to extract the field names from the + // external model data. This, unfortunately, does not included any field names used + // in models defined in QL code. + exists(string input, string output | + ModelOutput::relevantSummaryModel(_, _, input, output, _, _) + | + name = [input, output].regexpFind("(?<=(^|\\.)Field\\[)[^\\]]+(?=\\])", _, _).trim() + ) + } + cached newtype TContent = TKnownElementContent(ConstantValue cv) { trackKnownValue(cv) } or TUnknownElementContent() or - TFieldContent(string name) { - name = any(InstanceVariable v).getName() - or - name = "@" + any(SetterMethodCall c).getTargetName() - or - // The following equation unfortunately leads to a non-monotonic recursion error: - // name = any(AccessPathToken a).getAnArgument("Field") - // Therefore, we use the following instead to extract the field names from the - // external model data. This, unfortunately, does not included any field names used - // in models defined in QL code. - exists(string input, string output | - ModelOutput::relevantSummaryModel(_, _, input, output, _, _) - | - name = [input, output].regexpFind("(?<=(^|\\.)Field\\[)[^\\]]+(?=\\])", _, _).trim() - ) - } or + TFieldContent(string name) { fieldName(name) } or deprecated TSplatContent(int i, Boolean shifted) { i in [0 .. 10] } or deprecated THashSplatContent(ConstantValue::ConstantSymbolValue cv) or TCapturedVariableContent(VariableCapture::CapturedVariable v) or @@ -716,12 +718,20 @@ private module Cached { ) } + cached + int fieldNameBucket(string name) { + exists(int r | name = rank[r](string n | fieldName(n)) and result = r % 30) + } + cached newtype TContentApprox = TUnknownElementContentApprox() or TKnownIntegerElementContentApprox() or TKnownElementContentApprox(string approx) { approx = approxKnownElementIndex(_) } or - TNonElementContentApprox(Content c) { not c instanceof Content::ElementContent } or + TFieldContentApprox(int bucket) { bucket = fieldNameBucket(_) } or + TNonElementContentApprox(Content c) { + not c instanceof Content::ElementContent and not c instanceof Content::FieldContent + } or TCapturedVariableContentApprox(VariableCapture::CapturedVariable v) cached @@ -2268,6 +2278,10 @@ class ContentApprox extends TContentApprox { result = "approximated element " + approx ) or + exists(int bucket | + this = TFieldContentApprox(bucket) and result = "field bucket " + bucket.toString() + ) + or exists(Content c | this = TNonElementContentApprox(c) and result = c.toString() @@ -2307,6 +2321,8 @@ ContentApprox getContentApprox(Content c) { result = TKnownElementContentApprox(approxKnownElementIndex(c.(Content::KnownElementContent).getIndex())) or + result = TFieldContentApprox(fieldNameBucket(c.(Content::FieldContent).getName())) + or result = TNonElementContentApprox(c) } From f596a67c26af407ff434c3f30705b38ba05e3fc6 Mon Sep 17 00:00:00 2001 From: Asger F Date: Mon, 10 Aug 2026 11:42:33 +0200 Subject: [PATCH 120/190] unified: Fix Swift source folder documentation --- .../ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll b/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll index fb47c577b79e..6fd2187f47a1 100644 --- a/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll +++ b/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll @@ -73,7 +73,7 @@ class SwiftPackageTarget extends ModuleScopeRepr, CallExpr { ) } - /** Gets the source folder to use if no explicit `path:` if given, typically `Sources/` */ + /** Gets the source folder to use if no explicit `path:` is given, typically `Sources/`. */ Folder getDefaultSourceFolder() { exists(Folder subfolder | subfolder = this.getSourceMidFolder() | result = subfolder.getFolder(this.getName()) From d6164c3231b53ee95e6015e25e7e0de249699248 Mon Sep 17 00:00:00 2001 From: Asger F Date: Mon, 10 Aug 2026 11:43:16 +0200 Subject: [PATCH 121/190] unified: Preserve array constructor trailing closures --- .../extractor/src/languages/swift/swift.rs | 13 ++ .../expressions/array-type-constructor.output | 120 ++++++++++++++++++ .../expressions/array-type-constructor.swift | 3 + 3 files changed, 136 insertions(+) diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index 0762cc66b291..e615f07388a9 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -621,6 +621,19 @@ fn translation_rules() -> Vec> { // translating that callee as an array literal would place a type // expression in an expression-only element field. Normalize it to an // `Array` generic type constructor instead. + rule!( + (functionCallExpr + calledExpression: (arrayExpr elements: (arrayElement expression: (genericSpecializationExpr) @element)) + arguments: _* @args + trailingClosure: @tc) + => + (call_expr + callee: (generic_type_expr + base: (named_type_expr name: (identifier "Array")) + type_argument: {element}) + argument: {args} + argument: (argument value: {tc})) + ), rule!( (functionCallExpr calledExpression: (arrayExpr elements: (arrayElement expression: (genericSpecializationExpr) @element)) diff --git a/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.output b/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.output index e721ba9cfde2..43f1c8a553da 100644 --- a/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.output +++ b/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.output @@ -1,4 +1,7 @@ let values = [Result]() +let initialized = [Result](unsafeUninitializedCapacity: 1) { _, count in + count = 0 +} --- @@ -45,6 +48,79 @@ sourceFile pattern: identifierPattern identifier: identifier "values" + codeBlockItem + item: + variableDecl + attributes: + modifiers: + bindingSpecifier: let + bindings: + patternBinding + initializer: + initializerClause + equal: = + value: + functionCallExpr + leftParen: ( + rightParen: ) + arguments: + labeledExpr + colon: : + label: identifier "unsafeUninitializedCapacity" + expression: + integerLiteralExpr + literal: integerLiteral "1" + additionalTrailingClosures: + calledExpression: + arrayExpr + elements: + arrayElement + expression: + genericSpecializationExpr + expression: + declReferenceExpr + baseName: identifier "Result" + genericArgumentClause: + genericArgumentClause + arguments: + genericArgument + argument: + identifierType + name: identifier "Void" + leftAngle: < + rightAngle: > + leftSquare: [ + rightSquare: ] + trailingClosure: + closureExpr + leftBrace: { + rightBrace: } + signature: + closureSignature + attributes: + inKeyword: in + parameterClause: + closureShorthandParameter + name: _ + trailingComma: , + closureShorthandParameter + name: identifier "count" + statements: + codeBlockItem + item: + infixOperatorExpr + operator: + assignmentExpr + equal: = + leftOperand: + declReferenceExpr + baseName: identifier "count" + rightOperand: + integerLiteralExpr + literal: integerLiteral "0" + pattern: + identifierPattern + identifier: identifier "initialized" --- @@ -72,3 +148,47 @@ top_level type_argument: named_type_expr name: identifier "Void" + variable_declaration + modifier: modifier "let" + pattern: + name_pattern + identifier: identifier "initialized" + value: + call_expr + callee: + generic_type_expr + base: + named_type_expr + name: identifier "Array" + type_argument: + generic_type_expr + base: + named_type_expr + name: identifier "Result" + type_argument: + named_type_expr + name: identifier "Void" + argument: + argument + name: identifier "unsafeUninitializedCapacity" + value: int_literal "1" + argument + value: + function_expr + parameter: + parameter + pattern: + name_pattern + identifier: identifier "_" + parameter + pattern: + name_pattern + identifier: identifier "count" + body: + block + stmt: + assign_expr + target: + name_expr + identifier: identifier "count" + value: int_literal "0" diff --git a/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift b/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift index 49191aee851d..bd25a9cbb4ce 100644 --- a/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift +++ b/unified/extractor/tests/corpus/swift/expressions/array-type-constructor.swift @@ -1 +1,4 @@ let values = [Result]() +let initialized = [Result](unsafeUninitializedCapacity: 1) { _, count in + count = 0 +} From 08bc837b96a531228e0acd8f5ef982aa1581fc1a Mon Sep 17 00:00:00 2001 From: Mads Navntoft Date: Mon, 10 Aug 2026 13:35:46 +0200 Subject: [PATCH 122/190] Java: Redact java_version in gradle-buildless integration test --- .../diagnostics.expected | 2 +- .../gradle-sample-without-wrapper-or-gradle-buildless/test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/diagnostics.expected b/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/diagnostics.expected index b23aa85f2548..568c2312e97c 100644 --- a/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/diagnostics.expected +++ b/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/diagnostics.expected @@ -1,7 +1,7 @@ { "attributes": { "java_vendor": "__REDACTED__", - "java_version": "11.0.31" + "java_version": "__REDACTED__" }, "markdownMessage": "Internal telemetry for the Java extractor.\n\nNo action needed.", "severity": "note", diff --git a/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/test.py b/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/test.py index 92aedd825efa..495d4c40a0a8 100644 --- a/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/test.py +++ b/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/test.py @@ -5,7 +5,7 @@ # The version of gradle used doesn't work on java 17 def test(codeql, use_java_11, java, environment, check_diagnostics): - check_diagnostics.redact += ["attributes.java_vendor"] + check_diagnostics.redact += ["attributes.java_vendor", "attributes.java_version"] gradle_override_dir = pathlib.Path(tempfile.mkdtemp()) if runs_on.windows: (gradle_override_dir / "gradle.bat").write_text("@echo off\nexit /b 2\n") From b053b7d069e2da5108756c297badf21d70739ab1 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Mon, 10 Aug 2026 12:35:44 +0100 Subject: [PATCH 123/190] JavaScript: Add tests for \d flag from ES2022. --- .../extractor/tests/es2022/input/d-flag.js | 5 ++ .../extractor/tests/es2022/options.json | 3 ++ .../tests/es2022/output/trap/d-flag.js.trap | 54 +++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 javascript/extractor/tests/es2022/input/d-flag.js create mode 100644 javascript/extractor/tests/es2022/options.json create mode 100644 javascript/extractor/tests/es2022/output/trap/d-flag.js.trap diff --git a/javascript/extractor/tests/es2022/input/d-flag.js b/javascript/extractor/tests/es2022/input/d-flag.js new file mode 100644 index 000000000000..be7fb5d6841f --- /dev/null +++ b/javascript/extractor/tests/es2022/input/d-flag.js @@ -0,0 +1,5 @@ +const pattern = /import/dg; + +function target() { + return pattern; +} \ No newline at end of file diff --git a/javascript/extractor/tests/es2022/options.json b/javascript/extractor/tests/es2022/options.json new file mode 100644 index 000000000000..075583ca1f63 --- /dev/null +++ b/javascript/extractor/tests/es2022/options.json @@ -0,0 +1,3 @@ +{ + "experimental": true +} diff --git a/javascript/extractor/tests/es2022/output/trap/d-flag.js.trap b/javascript/extractor/tests/es2022/output/trap/d-flag.js.trap new file mode 100644 index 000000000000..57093a9adaf5 --- /dev/null +++ b/javascript/extractor/tests/es2022/output/trap/d-flag.js.trap @@ -0,0 +1,54 @@ +#10000=@"/d-flag.js;sourcefile" +files(#10000,"/d-flag.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Invalid regular expression flag","const pattern = /import/dg; +") +#20004=@"loc,{#10000},1,18,1,18" +locations_default(#20004,#10000,1,18,1,18) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"const pattern = /import/dg;"," +") +#20006=@"loc,{#10000},1,1,1,27" +locations_default(#20006,#10000,1,1,1,27) +hasLocation(#20005,#20006) +#20007=* +lines(#20007,#20001,""," +") +#20008=@"loc,{#10000},2,1,2,0" +locations_default(#20008,#10000,2,1,2,0) +hasLocation(#20007,#20008) +#20009=* +lines(#20009,#20001,"function target() {"," +") +#20010=@"loc,{#10000},3,1,3,19" +locations_default(#20010,#10000,3,1,3,19) +hasLocation(#20009,#20010) +#20011=* +lines(#20011,#20001," return pattern;"," +") +#20012=@"loc,{#10000},4,1,4,17" +locations_default(#20012,#10000,4,1,4,17) +hasLocation(#20011,#20012) +indentation(#10000,4," ",2) +#20013=* +lines(#20013,#20001,"}","") +#20014=@"loc,{#10000},5,1,5,1" +locations_default(#20014,#10000,5,1,5,1) +hasLocation(#20013,#20014) +numlines(#20001,5,0,0) +numlines(#10000,5,0,0) +filetype(#10000,"javascript") From 773ca4362f1a99271b3d05674d5cbf19df9dfe12 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Mon, 10 Aug 2026 12:36:02 +0100 Subject: [PATCH 124/190] JavaScript: Add support for \d flag from ES2022. --- javascript/extractor/src/com/semmle/jcorn/Parser.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/javascript/extractor/src/com/semmle/jcorn/Parser.java b/javascript/extractor/src/com/semmle/jcorn/Parser.java index b0bc89645597..3ae1491af10e 100644 --- a/javascript/extractor/src/com/semmle/jcorn/Parser.java +++ b/javascript/extractor/src/com/semmle/jcorn/Parser.java @@ -790,7 +790,8 @@ private Token readRegexp() { String validFlags = "gim"; if (this.options.ecmaVersion() >= 6) validFlags = "gimuy"; if (this.options.ecmaVersion() >= 9) validFlags = "gimsuy"; - if (this.options.ecmaVersion() >= 15) validFlags = "gimsuyv"; + if (this.options.ecmaVersion() >= 13) validFlags = "dgimsuy"; + if (this.options.ecmaVersion() >= 15) validFlags = "dgimsuyv"; if (!mods.matches("^[" + validFlags + "]*$")) this.raise(start, "Invalid regular expression flag"); if (mods.indexOf('u') >= 0) { From 663c5a02ccd98c1bbb4d78cbff68a630158baf95 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Mon, 10 Aug 2026 12:36:14 +0100 Subject: [PATCH 125/190] JavaScript: Accept test changes. --- .../tests/es2022/output/trap/d-flag.js.trap | 244 +++++++++++++++--- 1 file changed, 207 insertions(+), 37 deletions(-) diff --git a/javascript/extractor/tests/es2022/output/trap/d-flag.js.trap b/javascript/extractor/tests/es2022/output/trap/d-flag.js.trap index 57093a9adaf5..c8a92cf06a3e 100644 --- a/javascript/extractor/tests/es2022/output/trap/d-flag.js.trap +++ b/javascript/extractor/tests/es2022/output/trap/d-flag.js.trap @@ -9,46 +9,216 @@ hasLocation(#10000,#10002) #20000=@"global_scope" scopes(#20000,0) #20001=@"script;{#10000},1,1" -toplevels(#20001,0) -#20002=@"loc,{#10000},1,1,1,1" -locations_default(#20002,#10000,1,1,1,1) -hasLocation(#20001,#20002) -#20003=* -js_parse_errors(#20003,#20001,"Error: Invalid regular expression flag","const pattern = /import/dg; -") -#20004=@"loc,{#10000},1,18,1,18" -locations_default(#20004,#10000,1,18,1,18) -hasLocation(#20003,#20004) -#20005=* -lines(#20005,#20001,"const pattern = /import/dg;"," +#20002=* +lines(#20002,#20001,"const pattern = /import/dg;"," ") -#20006=@"loc,{#10000},1,1,1,27" -locations_default(#20006,#10000,1,1,1,27) -hasLocation(#20005,#20006) -#20007=* -lines(#20007,#20001,""," +#20003=@"loc,{#10000},1,1,1,27" +locations_default(#20003,#10000,1,1,1,27) +hasLocation(#20002,#20003) +#20004=* +lines(#20004,#20001,""," ") -#20008=@"loc,{#10000},2,1,2,0" -locations_default(#20008,#10000,2,1,2,0) -hasLocation(#20007,#20008) -#20009=* -lines(#20009,#20001,"function target() {"," +#20005=@"loc,{#10000},2,1,2,0" +locations_default(#20005,#10000,2,1,2,0) +hasLocation(#20004,#20005) +#20006=* +lines(#20006,#20001,"function target() {"," ") -#20010=@"loc,{#10000},3,1,3,19" -locations_default(#20010,#10000,3,1,3,19) -hasLocation(#20009,#20010) -#20011=* -lines(#20011,#20001," return pattern;"," +#20007=@"loc,{#10000},3,1,3,19" +locations_default(#20007,#10000,3,1,3,19) +hasLocation(#20006,#20007) +#20008=* +lines(#20008,#20001," return pattern;"," ") -#20012=@"loc,{#10000},4,1,4,17" -locations_default(#20012,#10000,4,1,4,17) -hasLocation(#20011,#20012) +#20009=@"loc,{#10000},4,1,4,17" +locations_default(#20009,#10000,4,1,4,17) +hasLocation(#20008,#20009) indentation(#10000,4," ",2) -#20013=* -lines(#20013,#20001,"}","") -#20014=@"loc,{#10000},5,1,5,1" -locations_default(#20014,#10000,5,1,5,1) -hasLocation(#20013,#20014) -numlines(#20001,5,0,0) -numlines(#10000,5,0,0) +#20010=* +lines(#20010,#20001,"}","") +#20011=@"loc,{#10000},5,1,5,1" +locations_default(#20011,#10000,5,1,5,1) +hasLocation(#20010,#20011) +numlines(#20001,5,4,0) +#20012=* +tokeninfo(#20012,7,#20001,0,"const") +#20013=@"loc,{#10000},1,1,1,5" +locations_default(#20013,#10000,1,1,1,5) +hasLocation(#20012,#20013) +#20014=* +tokeninfo(#20014,6,#20001,1,"pattern") +#20015=@"loc,{#10000},1,7,1,13" +locations_default(#20015,#10000,1,7,1,13) +hasLocation(#20014,#20015) +#20016=* +tokeninfo(#20016,8,#20001,2,"=") +#20017=@"loc,{#10000},1,15,1,15" +locations_default(#20017,#10000,1,15,1,15) +hasLocation(#20016,#20017) +#20018=* +tokeninfo(#20018,5,#20001,3,"/import/dg") +#20019=@"loc,{#10000},1,17,1,26" +locations_default(#20019,#10000,1,17,1,26) +hasLocation(#20018,#20019) +#20020=* +tokeninfo(#20020,8,#20001,4,";") +#20021=@"loc,{#10000},1,27,1,27" +locations_default(#20021,#10000,1,27,1,27) +hasLocation(#20020,#20021) +#20022=* +tokeninfo(#20022,7,#20001,5,"function") +#20023=@"loc,{#10000},3,1,3,8" +locations_default(#20023,#10000,3,1,3,8) +hasLocation(#20022,#20023) +#20024=* +tokeninfo(#20024,6,#20001,6,"target") +#20025=@"loc,{#10000},3,10,3,15" +locations_default(#20025,#10000,3,10,3,15) +hasLocation(#20024,#20025) +#20026=* +tokeninfo(#20026,8,#20001,7,"(") +#20027=@"loc,{#10000},3,16,3,16" +locations_default(#20027,#10000,3,16,3,16) +hasLocation(#20026,#20027) +#20028=* +tokeninfo(#20028,8,#20001,8,")") +#20029=@"loc,{#10000},3,17,3,17" +locations_default(#20029,#10000,3,17,3,17) +hasLocation(#20028,#20029) +#20030=* +tokeninfo(#20030,8,#20001,9,"{") +#20031=@"loc,{#10000},3,19,3,19" +locations_default(#20031,#10000,3,19,3,19) +hasLocation(#20030,#20031) +#20032=* +tokeninfo(#20032,7,#20001,10,"return") +#20033=@"loc,{#10000},4,3,4,8" +locations_default(#20033,#10000,4,3,4,8) +hasLocation(#20032,#20033) +#20034=* +tokeninfo(#20034,6,#20001,11,"pattern") +#20035=@"loc,{#10000},4,10,4,16" +locations_default(#20035,#10000,4,10,4,16) +hasLocation(#20034,#20035) +#20036=* +tokeninfo(#20036,8,#20001,12,";") +#20037=@"loc,{#10000},4,17,4,17" +locations_default(#20037,#10000,4,17,4,17) +hasLocation(#20036,#20037) +#20038=* +tokeninfo(#20038,8,#20001,13,"}") +hasLocation(#20038,#20011) +#20039=* +tokeninfo(#20039,0,#20001,14,"") +#20040=@"loc,{#10000},5,2,5,1" +locations_default(#20040,#10000,5,2,5,1) +hasLocation(#20039,#20040) +toplevels(#20001,0) +#20041=@"loc,{#10000},1,1,5,1" +locations_default(#20041,#10000,1,1,5,1) +hasLocation(#20001,#20041) +#20042=@"var;{target};{#20000}" +variables(#20042,"target",#20000) +#20043=@"var;{pattern};{#20000}" +variables(#20043,"pattern",#20000) +#20044=@"var;{this};{#20000}" +variables(#20044,"this",#20000) +#20045=* +stmts(#20045,22,#20001,0,"const p ... ort/dg;") +hasLocation(#20045,#20003) +stmt_containers(#20045,#20001) +#20046=* +exprs(#20046,64,#20045,0,"pattern = /import/dg") +#20047=@"loc,{#10000},1,7,1,26" +locations_default(#20047,#10000,1,7,1,26) +hasLocation(#20046,#20047) +enclosing_stmt(#20046,#20045) +expr_containers(#20046,#20001) +#20048=* +exprs(#20048,78,#20046,0,"pattern") +hasLocation(#20048,#20015) +enclosing_stmt(#20048,#20045) +expr_containers(#20048,#20001) +literals("pattern","pattern",#20048) +decl(#20048,#20043) +#20049=* +exprs(#20049,5,#20046,1,"/import/dg") +hasLocation(#20049,#20019) +enclosing_stmt(#20049,#20045) +expr_containers(#20049,#20001) +literals("/import/dg","/import/dg",#20049) +#20050=* +regexpterm(#20050,14,#20049,0,"import") +#20051=@"loc,{#10000},1,18,1,23" +locations_default(#20051,#10000,1,18,1,23) +hasLocation(#20050,#20051) +regexp_const_value(#20050,"import") +#20052=* +stmts(#20052,17,#20001,1,"functio ... tern;\n}") +#20053=@"loc,{#10000},3,1,5,1" +locations_default(#20053,#10000,3,1,5,1) +hasLocation(#20052,#20053) +stmt_containers(#20052,#20001) +#20054=* +exprs(#20054,78,#20052,-1,"target") +hasLocation(#20054,#20025) +expr_containers(#20054,#20052) +literals("target","target",#20054) +decl(#20054,#20042) +#20055=* +scopes(#20055,1) +scopenodes(#20052,#20055) +scopenesting(#20055,#20000) +#20056=@"var;{this};{#20055}" +variables(#20056,"this",#20055) +#20057=@"var;{arguments};{#20055}" +variables(#20057,"arguments",#20055) +is_arguments_object(#20057) +#20058=* +stmts(#20058,1,#20052,-2,"{\n ret ... tern;\n}") +#20059=@"loc,{#10000},3,19,5,1" +locations_default(#20059,#10000,3,19,5,1) +hasLocation(#20058,#20059) +stmt_containers(#20058,#20052) +#20060=* +stmts(#20060,9,#20058,0,"return pattern;") +#20061=@"loc,{#10000},4,3,4,17" +locations_default(#20061,#10000,4,3,4,17) +hasLocation(#20060,#20061) +stmt_containers(#20060,#20052) +#20062=* +exprs(#20062,79,#20060,0,"pattern") +hasLocation(#20062,#20035) +enclosing_stmt(#20062,#20060) +expr_containers(#20062,#20052) +literals("pattern","pattern",#20062) +bind(#20062,#20043) +#20063=* +entry_cfg_node(#20063,#20001) +#20064=@"loc,{#10000},1,1,1,0" +locations_default(#20064,#10000,1,1,1,0) +hasLocation(#20063,#20064) +#20065=* +exit_cfg_node(#20065,#20001) +hasLocation(#20065,#20040) +successor(#20052,#20065) +#20066=* +entry_cfg_node(#20066,#20052) +#20067=@"loc,{#10000},3,1,3,0" +locations_default(#20067,#10000,3,1,3,0) +hasLocation(#20066,#20067) +#20068=* +exit_cfg_node(#20068,#20052) +hasLocation(#20068,#20040) +successor(#20062,#20060) +successor(#20060,#20068) +successor(#20058,#20062) +successor(#20066,#20058) +successor(#20045,#20048) +successor(#20049,#20046) +successor(#20048,#20049) +successor(#20046,#20052) +successor(#20054,#20045) +successor(#20063,#20054) +numlines(#10000,5,4,0) filetype(#10000,"javascript") From 6a6931cfe8581f04a31dc01f923de020d72d812f Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Mon, 10 Aug 2026 14:14:56 +0200 Subject: [PATCH 126/190] Rust: Accept more inconsistencies --- .../models/CONSISTENCY/PathResolutionConsistency.expected | 3 +++ .../database/CONSISTENCY/PathResolutionConsistency.expected | 2 ++ .../file/CONSISTENCY/PathResolutionConsistency.expected | 3 +++ .../stdin/CONSISTENCY/PathResolutionConsistency.expected | 3 +++ .../CONSISTENCY/PathResolutionConsistency.expected | 5 +++++ .../axum/CONSISTENCY/PathResolutionConsistency.expected | 5 +++++ .../warp/CONSISTENCY/PathResolutionConsistency.expected | 3 +++ .../CWE-696/CONSISTENCY/PathResolutionConsistency.expected | 4 ++++ 8 files changed, 28 insertions(+) create mode 100644 rust/ql/test/library-tests/dataflow/models/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected diff --git a/rust/ql/test/library-tests/dataflow/models/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/models/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..e30b94a59e93 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/models/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,3 @@ +multiplePathResolutions +| main.rs:433:3:433:13 | ...::main | +| main.rs:455:5:455:7 | ...::runtime | diff --git a/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/PathResolutionConsistency.expected index b6a4a56f9f77..a43ac755ca4f 100644 --- a/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/PathResolutionConsistency.expected @@ -1,3 +1,5 @@ multiplePathResolutions | test.rs:10:28:10:65 | Result::<...> | | test.rs:97:40:97:49 | Result::<...> | +| test.rs:207:3:207:13 | ...::main | +| test.rs:221:5:221:6 | ...::runtime | diff --git a/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..83f2dd8d73c3 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,3 @@ +multiplePathResolutions +| test.rs:294:3:294:13 | ...::main | +| test.rs:326:5:326:6 | ...::runtime | diff --git a/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..a74204eaf517 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,3 @@ +multiplePathResolutions +| test.rs:204:3:204:13 | ...::main | +| test.rs:218:5:218:6 | ...::runtime | diff --git a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..a57d64282229 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,5 @@ +multiplePathResolutions +| test.rs:40:7:40:25 | ...::fmt | +| test.rs:40:7:40:25 | ...::fmt | +| test.rs:217:7:217:17 | ...::main | +| test.rs:267:9:267:12 | ...::runtime | diff --git a/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..5b4fc1e3902c --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,5 @@ +multiplePathResolutions +| main.rs:3:3:3:28 | ...::fmt | +| main.rs:3:3:3:28 | ...::fmt | +| main.rs:13:3:13:13 | ...::main | +| main.rs:19:5:19:8 | ...::runtime | diff --git a/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..63b00cc6d41b --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,3 @@ +multiplePathResolutions +| main.rs:3:3:3:13 | ...::main | +| main.rs:14:5:14:8 | ...::runtime | diff --git a/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..632d59f91e9e --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,4 @@ +multiplePathResolutions +| test.rs:14:3:14:12 | harmless1_3___rust_dtor___dtor | +| test.rs:33:3:33:12 | bad1_2___rust_dtor___dtor | +| test.rs:39:3:39:12 | bad1_3___rust_dtor___dtor | From 224ab741d8fd3379ce7b52077218ab4b0d8ff255 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Mon, 10 Aug 2026 13:21:53 +0100 Subject: [PATCH 127/190] JavaScript: Add change note. --- javascript/ql/lib/change-notes/2026-08-10-d-regex-flag.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 javascript/ql/lib/change-notes/2026-08-10-d-regex-flag.md diff --git a/javascript/ql/lib/change-notes/2026-08-10-d-regex-flag.md b/javascript/ql/lib/change-notes/2026-08-10-d-regex-flag.md new file mode 100644 index 000000000000..8552c7bf7925 --- /dev/null +++ b/javascript/ql/lib/change-notes/2026-08-10-d-regex-flag.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added support for regular expressions using the `d` flag. From dc90b3af41c8236786dc8ed603f85ba4e5140e48 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 10 Aug 2026 15:04:07 +0200 Subject: [PATCH 128/190] Rust: fix cfg exclusion for items from macro expansions `should_be_excluded` only resolved a crate for items in real files. Items coming from a macro expansion live in a `MacroFile`, for which `HirFileId::file_id()` returns `None`, so the cfg was never checked and both branches of e.g. `#[cfg(feature = "rt")]` / `#[cfg(not(feature = "rt"))]` were extracted. Recover the crate from the macro call in that case, mirroring the crate resolution the old upstream `Semantics::check_cfg_attr` performed. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4ee033fb-30ad-4617-9922-bc0f1088ba81 --- rust/extractor/src/translate/base.rs | 29 +++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/rust/extractor/src/translate/base.rs b/rust/extractor/src/translate/base.rs index cb498e40bfe9..68c3691fd24c 100644 --- a/rust/extractor/src/translate/base.rs +++ b/rust/extractor/src/translate/base.rs @@ -8,7 +8,7 @@ use ra_ap_hir::Semantics; use ra_ap_hir::db::ExpandDatabase; use ra_ap_hir_expand::builtin::{BuiltinDeriveExpander, find_builtin_derive}; use ra_ap_hir_expand::span_map::ExpansionSpanMap; -use ra_ap_hir_expand::{ExpandResult, ExpandTo, InFile, map_node_range_up_rooted}; +use ra_ap_hir_expand::{ExpandResult, ExpandTo, HirFileId, InFile, map_node_range_up_rooted}; use ra_ap_ide_db::RootDatabase; use ra_ap_ide_db::line_index::{LineCol, LineIndex}; use ra_ap_parser::{SyntaxKind, TopEntryPoint}; @@ -502,15 +502,26 @@ impl<'a> Translator<'a> { None => return false, }; let cfg_expr = ra_ap_cfg::CfgExpr::parse_from_ast(cfg_predicate); - let file_id = sema.hir_file_for(item.syntax()); - let krate = match file_id - .file_id() - .and_then(|fid| sema.file_to_module_defs(fid.file_id(sema.db)).next()) - { - Some(module) => module.krate(sema.db), - None => return false, + // Resolve the crate the item belongs to so its `cfg` options can be checked. + // Items originating from a macro expansion live in a `MacroFile` rather than a + // real file, so we recover their crate from the macro call; otherwise cfg'd-out + // items from expansions (e.g. tokio's `cfg(feature = "rt")` / + // `cfg(not(feature = "rt"))` cousins) would all be extracted, bloating the DB with + // contradictory entries. + let cfg_options = match sema.hir_file_for(item.syntax()) { + HirFileId::FileId(fid) => { + match sema.file_to_module_defs(fid.file_id(sema.db)).next() { + Some(module) => module.krate(sema.db).cfg(sema.db), + None => return false, + } + } + HirFileId::MacroFile(macro_call) => sema + .db + .lookup_intern_macro_call(macro_call) + .krate + .cfg_options(sema.db), }; - krate.cfg(sema.db).check(&cfg_expr) == Some(false) + cfg_options.check(&cfg_expr) == Some(false) }) }) } From 70598e915fdfa0a3c546aa0e3efa497fe0280c7b Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 10 Aug 2026 15:18:27 +0200 Subject: [PATCH 129/190] Rust: Add extractor test for cfg exclusion in macro expansions Regression test for `should_be_excluded`: items produced by a macro expansion carrying a disabled `#[cfg(...)]` must be excluded from extraction, just like disabled items written directly in a source file. Uses `cfg(any())`/`cfg(all())` so the test does not depend on crate features. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4ee033fb-30ad-4617-9922-bc0f1088ba81 --- .../macro-expansion-cfg/Cargo.lock | 7 ++++++ .../macro-expansion-cfg/cfg_macro.expected | 2 ++ .../macro-expansion-cfg/cfg_macro.ql | 6 +++++ .../macro-expansion-cfg/cfg_macro.rs | 22 +++++++++++++++++++ 4 files changed, 37 insertions(+) create mode 100644 rust/ql/test/extractor-tests/macro-expansion-cfg/Cargo.lock create mode 100644 rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.expected create mode 100644 rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.ql create mode 100644 rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.rs diff --git a/rust/ql/test/extractor-tests/macro-expansion-cfg/Cargo.lock b/rust/ql/test/extractor-tests/macro-expansion-cfg/Cargo.lock new file mode 100644 index 000000000000..b9856cfaf77d --- /dev/null +++ b/rust/ql/test/extractor-tests/macro-expansion-cfg/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "test" +version = "0.0.1" diff --git a/rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.expected b/rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.expected new file mode 100644 index 000000000000..51ce8be37062 --- /dev/null +++ b/rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.expected @@ -0,0 +1,2 @@ +| cfg_macro.rs:15:1:15:15 | fn from_macro_enabled | from_macro_enabled | +| cfg_macro.rs:21:1:22:26 | fn direct_enabled | direct_enabled | diff --git a/rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.ql b/rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.ql new file mode 100644 index 000000000000..93c4b4d80edf --- /dev/null +++ b/rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.ql @@ -0,0 +1,6 @@ +import rust +import TestUtils + +query predicate functions(Function f, string name) { + toBeTested(f) and name = f.getName().getText() +} diff --git a/rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.rs b/rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.rs new file mode 100644 index 000000000000..ea4799b49b5e --- /dev/null +++ b/rust/ql/test/extractor-tests/macro-expansion-cfg/cfg_macro.rs @@ -0,0 +1,22 @@ +// Regression test: `#[cfg(...)]`-disabled items produced by a macro expansion must be +// excluded from extraction, just like disabled items written directly in a source file. +// `any()` is always false and `all()` is always true, so this does not depend on crate features. + +macro_rules! make_cfg_items { + () => { + #[cfg(any())] // always false: must be excluded + pub fn from_macro_disabled() {} + + #[cfg(all())] // always true: must be kept + pub fn from_macro_enabled() {} + }; +} + +make_cfg_items!(); + +// Baseline: the same predicates on items written directly in the file (not via a macro). +#[cfg(any())] // always false: must be excluded +pub fn direct_disabled() {} + +#[cfg(all())] // always true: must be kept +pub fn direct_enabled() {} From c567c679a41ae6a5d8542ea8bce3e43740a0dde5 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 10 Aug 2026 15:57:05 +0200 Subject: [PATCH 130/190] Rust: Accept expected-file changes from CI Apply .expected diffs from the Rust Language Tests CI runs following the cfg-exclusion fix: duplicate flow rows from macro/cfg double-extraction are removed and platform-gated models no longer double-load, which clears the associated consistency violations. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4ee033fb-30ad-4617-9922-bc0f1088ba81 --- .../PathResolutionConsistency.expected | 3 - .../ExtractionConsistency.expected | 2 - .../PathResolutionConsistency.expected | 2 - .../ExtractionConsistency.expected | 2 - .../PathResolutionConsistency.expected | 3 - .../ExtractionConsistency.expected | 2 - .../PathResolutionConsistency.expected | 6 - .../TypeInferenceConsistency.expected | 4 - .../ExtractionConsistency.expected | 2 - .../PathResolutionConsistency.expected | 3 - .../ExtractionConsistency.expected | 2 - .../PathResolutionConsistency.expected | 5 - .../ExtractionConsistency.expected | 2 - .../PathResolutionConsistency.expected | 5 - .../ExtractionConsistency.expected | 2 - .../PathResolutionConsistency.expected | 3 - .../PathResolutionConsistency.expected | 6 - .../PathResolutionConsistency.expected | 12 -- .../ExtractionConsistency.expected | 22 -- .../PathResolutionConsistency.expected | 4 - .../PathResolutionConsistency.expected | 9 - .../UncontrolledAllocationSize.expected | 196 ++++++++---------- .../CWE-825/AccessInvalidPointer.expected | 4 - .../PathResolutionConsistency.expected | 3 - .../PathResolutionConsistency.expected | 4 - .../TypeInferenceConsistency.expected | 8 - 26 files changed, 89 insertions(+), 227 deletions(-) delete mode 100644 rust/ql/test/library-tests/dataflow/models/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/ExtractionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/ExtractionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/ExtractionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/TypeInferenceConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/ExtractionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/ExtractionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/ExtractionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/ExtractionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-295/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-311/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/ExtractionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/TypeInferenceConsistency.expected diff --git a/rust/ql/test/library-tests/dataflow/models/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/models/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index e30b94a59e93..000000000000 --- a/rust/ql/test/library-tests/dataflow/models/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,3 +0,0 @@ -multiplePathResolutions -| main.rs:433:3:433:13 | ...::main | -| main.rs:455:5:455:7 | ...::runtime | diff --git a/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/ExtractionConsistency.expected deleted file mode 100644 index 61ef42d077a4..000000000000 --- a/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/ExtractionConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -extractionWarning -| test.rs:221:7:221:10 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/PathResolutionConsistency.expected index a43ac755ca4f..b6a4a56f9f77 100644 --- a/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/sources/database/CONSISTENCY/PathResolutionConsistency.expected @@ -1,5 +1,3 @@ multiplePathResolutions | test.rs:10:28:10:65 | Result::<...> | | test.rs:97:40:97:49 | Result::<...> | -| test.rs:207:3:207:13 | ...::main | -| test.rs:221:5:221:6 | ...::runtime | diff --git a/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/ExtractionConsistency.expected deleted file mode 100644 index 9f7a9af6e891..000000000000 --- a/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/ExtractionConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -extractionWarning -| test.rs:326:7:326:10 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 83f2dd8d73c3..000000000000 --- a/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,3 +0,0 @@ -multiplePathResolutions -| test.rs:294:3:294:13 | ...::main | -| test.rs:326:5:326:6 | ...::runtime | diff --git a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/ExtractionConsistency.expected deleted file mode 100644 index bc5b5c896a5a..000000000000 --- a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/ExtractionConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -extractionWarning -| test.rs:563:7:563:10 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 5be3b1490017..000000000000 --- a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,6 +0,0 @@ -multipleResolvedTargets -| test.rs:23:26:23:66 | ... .text() | -| test.rs:26:26:26:67 | ... .bytes() | -multiplePathResolutions -| test.rs:517:3:517:13 | ...::main | -| test.rs:563:5:563:6 | ...::runtime | diff --git a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/TypeInferenceConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/TypeInferenceConsistency.expected deleted file mode 100644 index 2242144075b9..000000000000 --- a/rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/TypeInferenceConsistency.expected +++ /dev/null @@ -1,4 +0,0 @@ -nonUniqueCertainType -| test.rs:23:26:23:52 | ...::get(...) | dyn(Output).T | -| test.rs:26:26:26:52 | ...::get(...) | dyn(Output).T | -| test.rs:29:24:29:50 | ...::get(...) | dyn(Output).T | diff --git a/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/ExtractionConsistency.expected deleted file mode 100644 index 1669b7895193..000000000000 --- a/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/ExtractionConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -extractionWarning -| test.rs:218:7:218:10 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index a74204eaf517..000000000000 --- a/rust/ql/test/library-tests/dataflow/sources/stdin/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,3 +0,0 @@ -multiplePathResolutions -| test.rs:204:3:204:13 | ...::main | -| test.rs:218:5:218:6 | ...::runtime | diff --git a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/ExtractionConsistency.expected deleted file mode 100644 index eb9d8e47d74c..000000000000 --- a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/ExtractionConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -extractionWarning -| test.rs:267:62:267:62 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index a57d64282229..000000000000 --- a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,5 +0,0 @@ -multiplePathResolutions -| test.rs:40:7:40:25 | ...::fmt | -| test.rs:40:7:40:25 | ...::fmt | -| test.rs:217:7:217:17 | ...::main | -| test.rs:267:9:267:12 | ...::runtime | diff --git a/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/ExtractionConsistency.expected deleted file mode 100644 index 39c3a932a0ba..000000000000 --- a/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/ExtractionConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -extractionWarning -| main.rs:19:46:19:46 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 5b4fc1e3902c..000000000000 --- a/rust/ql/test/query-tests/security/CWE-079/axum/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,5 +0,0 @@ -multiplePathResolutions -| main.rs:3:3:3:28 | ...::fmt | -| main.rs:3:3:3:28 | ...::fmt | -| main.rs:13:3:13:13 | ...::main | -| main.rs:19:5:19:8 | ...::runtime | diff --git a/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/ExtractionConsistency.expected deleted file mode 100644 index 133438cef21c..000000000000 --- a/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/ExtractionConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -extractionWarning -| main.rs:1:1:1:1 | macro expansion failed for 'panic' | diff --git a/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 63b00cc6d41b..000000000000 --- a/rust/ql/test/query-tests/security/CWE-079/warp/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,3 +0,0 @@ -multiplePathResolutions -| main.rs:3:3:3:13 | ...::main | -| main.rs:14:5:14:8 | ...::runtime | diff --git a/rust/ql/test/query-tests/security/CWE-295/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-295/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index e4c71e75287c..000000000000 --- a/rust/ql/test/query-tests/security/CWE-295/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,6 +0,0 @@ -multipleResolvedTargets -| main.rs:36:16:36:41 | ...::builder(...) | -| main.rs:46:16:46:44 | ...::new(...) | -multiplePathResolutions -| main.rs:36:16:36:30 | ...::Client | -| main.rs:46:16:46:37 | ...::ClientBuilder | diff --git a/rust/ql/test/query-tests/security/CWE-311/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-311/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index e0fbd93fd64a..000000000000 --- a/rust/ql/test/query-tests/security/CWE-311/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,12 +0,0 @@ -multipleResolvedTargets -| main.rs:20:18:20:39 | ...::new(...) | -| main.rs:21:5:21:20 | client.post(...) | -| main.rs:21:5:21:33 | ... .body(...) | -| main.rs:21:5:21:40 | ... .send() | -| main.rs:34:18:34:39 | ...::new(...) | -| main.rs:35:5:35:36 | client.request(...) | -| main.rs:35:5:35:49 | ... .body(...) | -| main.rs:35:5:35:56 | ... .send() | -multiplePathResolutions -| main.rs:20:18:20:32 | ...::Client | -| main.rs:34:18:34:32 | ...::Client | diff --git a/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/ExtractionConsistency.expected b/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/ExtractionConsistency.expected deleted file mode 100644 index e63e6374ba5b..000000000000 --- a/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/ExtractionConsistency.expected +++ /dev/null @@ -1,22 +0,0 @@ -extractionWarning -| test.rs:16:10:19:5 | macro expansion failed for 'compile_error' | -| test.rs:23:17:24:9 | macro expansion failed for 'compile_error' | -| test.rs:28:3:28:12 | macro expansion failed for 'compile_error' | -| test.rs:33:3:33:12 | macro expansion failed for 'compile_error' | -| test.rs:39:3:39:12 | macro expansion failed for 'compile_error' | -| test.rs:50:3:50:6 | macro expansion failed for 'compile_error' | -| test.rs:55:3:55:6 | macro expansion failed for 'compile_error' | -| test.rs:60:3:60:6 | macro expansion failed for 'compile_error' | -| test.rs:65:3:65:6 | macro expansion failed for 'compile_error' | -| test.rs:73:3:73:6 | macro expansion failed for 'compile_error' | -| test.rs:78:3:78:6 | macro expansion failed for 'compile_error' | -| test.rs:87:3:87:6 | macro expansion failed for 'compile_error' | -| test.rs:94:3:94:6 | macro expansion failed for 'compile_error' | -| test.rs:99:3:99:12 | macro expansion failed for 'compile_error' | -| test.rs:104:3:104:12 | macro expansion failed for 'compile_error' | -| test.rs:112:3:112:12 | macro expansion failed for 'compile_error' | -| test.rs:128:3:128:6 | macro expansion failed for 'compile_error' | -| test.rs:139:3:139:6 | macro expansion failed for 'compile_error' | -| test.rs:144:3:144:6 | macro expansion failed for 'compile_error' | -| test.rs:150:3:150:6 | macro expansion failed for 'compile_error' | -| test.rs:168:3:168:6 | macro expansion failed for 'compile_error' | diff --git a/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 632d59f91e9e..000000000000 --- a/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,4 +0,0 @@ -multiplePathResolutions -| test.rs:14:3:14:12 | harmless1_3___rust_dtor___dtor | -| test.rs:33:3:33:12 | bad1_2___rust_dtor___dtor | -| test.rs:39:3:39:12 | bad1_3___rust_dtor___dtor | diff --git a/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 8fdcfa97d675..000000000000 --- a/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,9 +0,0 @@ -multipleResolvedTargets -| main.rs:218:14:218:30 | ...::malloc(...) | -| main.rs:219:13:219:27 | ...::malloc(...) | -| main.rs:220:13:220:37 | ...::aligned_alloc(...) | -| main.rs:221:13:221:37 | ...::aligned_alloc(...) | -| main.rs:222:13:222:31 | ...::calloc(...) | -| main.rs:223:13:223:55 | ...::calloc(...) | -| main.rs:224:13:224:32 | ...::realloc(...) | -| main.rs:331:13:331:27 | ...::malloc(...) | diff --git a/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected b/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected index dca47ef0cdc2..477dbee0e0f4 100644 --- a/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected +++ b/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected @@ -42,21 +42,16 @@ | main.rs:210:40:210:50 | grow_zeroed | main.rs:339:13:339:26 | ...::args | main.rs:210:40:210:50 | grow_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:213:36:213:41 | shrink | main.rs:339:13:339:26 | ...::args | main.rs:213:36:213:41 | shrink | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:219:13:219:24 | ...::malloc | main.rs:339:13:339:26 | ...::args | main.rs:219:13:219:24 | ...::malloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | -| main.rs:219:13:219:24 | ...::malloc | main.rs:339:13:339:26 | ...::args | main.rs:219:13:219:24 | ...::malloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:220:13:220:31 | ...::aligned_alloc | main.rs:339:13:339:26 | ...::args | main.rs:220:13:220:31 | ...::aligned_alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:222:13:222:24 | ...::calloc | main.rs:339:13:339:26 | ...::args | main.rs:222:13:222:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | -| main.rs:222:13:222:24 | ...::calloc | main.rs:339:13:339:26 | ...::args | main.rs:222:13:222:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | -| main.rs:223:13:223:24 | ...::calloc | main.rs:339:13:339:26 | ...::args | main.rs:223:13:223:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:223:13:223:24 | ...::calloc | main.rs:339:13:339:26 | ...::args | main.rs:223:13:223:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:224:13:224:25 | ...::realloc | main.rs:339:13:339:26 | ...::args | main.rs:224:13:224:25 | ...::realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | -| main.rs:224:13:224:25 | ...::realloc | main.rs:339:13:339:26 | ...::args | main.rs:224:13:224:25 | ...::realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:228:13:228:41 | ...::try_with_capacity | main.rs:339:13:339:26 | ...::args | main.rs:228:13:228:41 | ...::try_with_capacity | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:229:13:229:37 | ...::with_capacity | main.rs:339:13:339:26 | ...::args | main.rs:229:13:229:37 | ...::with_capacity | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:230:13:230:44 | ...::try_with_capacity_in | main.rs:339:13:339:26 | ...::args | main.rs:230:13:230:44 | ...::try_with_capacity_in | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:231:13:231:40 | ...::with_capacity_in | main.rs:339:13:339:26 | ...::args | main.rs:231:13:231:40 | ...::with_capacity_in | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | | main.rs:287:22:287:38 | ...::alloc | main.rs:311:25:311:38 | ...::args | main.rs:287:22:287:38 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:311:25:311:38 | ...::args | user-provided value | | main.rs:331:13:331:24 | ...::malloc | main.rs:339:13:339:26 | ...::args | main.rs:331:13:331:24 | ...::malloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | -| main.rs:331:13:331:24 | ...::malloc | main.rs:339:13:339:26 | ...::args | main.rs:331:13:331:24 | ...::malloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:339:13:339:26 | ...::args | user-provided value | edges | main.rs:12:36:12:43 | ...: usize | main.rs:18:41:18:41 | v | provenance | | | main.rs:18:41:18:41 | v | main.rs:18:13:18:31 | ...::realloc | provenance | MaD:17 Sink:MaD:17 | @@ -65,43 +60,43 @@ edges | main.rs:18:41:18:41 | v | main.rs:32:60:32:60 | v | provenance | | | main.rs:18:41:18:41 | v | main.rs:35:49:35:49 | v | provenance | | | main.rs:20:9:20:10 | l2 | main.rs:21:31:21:32 | l2 | provenance | | -| main.rs:20:14:20:54 | ...::from_size_align(...) [Ok] | main.rs:20:14:20:63 | ... .unwrap() | provenance | MaD:44 | +| main.rs:20:14:20:54 | ...::from_size_align(...) [Ok] | main.rs:20:14:20:63 | ... .unwrap() | provenance | MaD:41 | | main.rs:20:14:20:63 | ... .unwrap() | main.rs:20:9:20:10 | l2 | provenance | | -| main.rs:20:50:20:50 | v | main.rs:20:14:20:54 | ...::from_size_align(...) [Ok] | provenance | MaD:36 | +| main.rs:20:50:20:50 | v | main.rs:20:14:20:54 | ...::from_size_align(...) [Ok] | provenance | MaD:33 | | main.rs:21:31:21:32 | l2 | main.rs:21:13:21:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:21:31:21:32 | l2 | main.rs:22:31:22:32 | l2 | provenance | | | main.rs:21:31:21:32 | l2 | main.rs:23:31:23:32 | l2 | provenance | | | main.rs:21:31:21:32 | l2 | main.rs:24:38:24:39 | l2 | provenance | | -| main.rs:22:31:22:32 | l2 | main.rs:22:31:22:44 | l2.align_to(...) [Ok] | provenance | MaD:30 | -| main.rs:22:31:22:44 | l2.align_to(...) [Ok] | main.rs:22:31:22:53 | ... .unwrap() | provenance | MaD:44 | +| main.rs:22:31:22:32 | l2 | main.rs:22:31:22:44 | l2.align_to(...) [Ok] | provenance | MaD:27 | +| main.rs:22:31:22:44 | l2.align_to(...) [Ok] | main.rs:22:31:22:53 | ... .unwrap() | provenance | MaD:41 | | main.rs:22:31:22:53 | ... .unwrap() | main.rs:22:13:22:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:23:31:23:32 | l2 | main.rs:23:31:23:44 | l2.align_to(...) [Ok] | provenance | MaD:30 | -| main.rs:23:31:23:44 | l2.align_to(...) [Ok] | main.rs:23:31:23:53 | ... .unwrap() | provenance | MaD:44 | -| main.rs:23:31:23:53 | ... .unwrap() | main.rs:23:31:23:68 | ... .pad_to_align() | provenance | MaD:38 | +| main.rs:23:31:23:32 | l2 | main.rs:23:31:23:44 | l2.align_to(...) [Ok] | provenance | MaD:27 | +| main.rs:23:31:23:44 | l2.align_to(...) [Ok] | main.rs:23:31:23:53 | ... .unwrap() | provenance | MaD:41 | +| main.rs:23:31:23:53 | ... .unwrap() | main.rs:23:31:23:68 | ... .pad_to_align() | provenance | MaD:35 | | main.rs:23:31:23:68 | ... .pad_to_align() | main.rs:23:13:23:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:24:38:24:39 | l2 | main.rs:24:13:24:36 | ...::alloc_zeroed | provenance | MaD:16 Sink:MaD:16 | | main.rs:29:9:29:10 | l4 | main.rs:30:31:30:32 | l4 | provenance | | | main.rs:29:14:29:64 | ...::from_size_align_unchecked(...) | main.rs:29:9:29:10 | l4 | provenance | | -| main.rs:29:60:29:60 | v | main.rs:29:14:29:64 | ...::from_size_align_unchecked(...) | provenance | MaD:37 | +| main.rs:29:60:29:60 | v | main.rs:29:14:29:64 | ...::from_size_align_unchecked(...) | provenance | MaD:34 | | main.rs:30:31:30:32 | l4 | main.rs:30:13:30:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:32:9:32:10 | l5 | main.rs:33:31:33:32 | l5 | provenance | | | main.rs:32:14:32:118 | ...::from_size_align_unchecked(...) | main.rs:32:9:32:10 | l5 | provenance | | -| main.rs:32:60:32:60 | v | main.rs:32:60:32:89 | ... * ... | provenance | MaD:28 | -| main.rs:32:60:32:89 | ... * ... | main.rs:32:14:32:118 | ...::from_size_align_unchecked(...) | provenance | MaD:37 | +| main.rs:32:60:32:60 | v | main.rs:32:60:32:89 | ... * ... | provenance | MaD:25 | +| main.rs:32:60:32:89 | ... * ... | main.rs:32:14:32:118 | ...::from_size_align_unchecked(...) | provenance | MaD:34 | | main.rs:33:31:33:32 | l5 | main.rs:33:13:33:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:35:9:35:10 | s6 | main.rs:36:60:36:61 | s6 | provenance | | | main.rs:35:14:35:54 | ... + ... | main.rs:35:9:35:10 | s6 | provenance | | -| main.rs:35:15:35:49 | ... * ... | main.rs:35:14:35:54 | ... + ... | provenance | MaD:27 | -| main.rs:35:49:35:49 | v | main.rs:35:15:35:49 | ... * ... | provenance | MaD:28 | +| main.rs:35:15:35:49 | ... * ... | main.rs:35:14:35:54 | ... + ... | provenance | MaD:24 | +| main.rs:35:49:35:49 | v | main.rs:35:15:35:49 | ... * ... | provenance | MaD:25 | | main.rs:36:9:36:10 | l6 | main.rs:37:31:37:32 | l6 | provenance | | | main.rs:36:14:36:65 | ...::from_size_align_unchecked(...) | main.rs:36:9:36:10 | l6 | provenance | | -| main.rs:36:60:36:61 | s6 | main.rs:36:14:36:65 | ...::from_size_align_unchecked(...) | provenance | MaD:37 | +| main.rs:36:60:36:61 | s6 | main.rs:36:14:36:65 | ...::from_size_align_unchecked(...) | provenance | MaD:34 | | main.rs:37:31:37:32 | l6 | main.rs:37:13:37:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:37:31:37:32 | l6 | main.rs:39:60:39:61 | l6 | provenance | | | main.rs:39:9:39:10 | l7 | main.rs:40:31:40:32 | l7 | provenance | | | main.rs:39:14:39:72 | ...::from_size_align_unchecked(...) | main.rs:39:9:39:10 | l7 | provenance | | -| main.rs:39:60:39:61 | l6 | main.rs:39:60:39:68 | l6.size() | provenance | MaD:41 | -| main.rs:39:60:39:68 | l6.size() | main.rs:39:14:39:72 | ...::from_size_align_unchecked(...) | provenance | MaD:37 | +| main.rs:39:60:39:61 | l6 | main.rs:39:60:39:68 | l6.size() | provenance | MaD:38 | +| main.rs:39:60:39:68 | l6.size() | main.rs:39:14:39:72 | ...::from_size_align_unchecked(...) | provenance | MaD:34 | | main.rs:40:31:40:32 | l7 | main.rs:40:13:40:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:43:44:43:51 | ...: usize | main.rs:50:41:50:41 | v | provenance | | | main.rs:43:44:43:51 | ...: usize | main.rs:51:41:51:41 | v | provenance | | @@ -109,27 +104,27 @@ edges | main.rs:43:44:43:51 | ...: usize | main.rs:54:48:54:48 | v | provenance | | | main.rs:43:44:43:51 | ...: usize | main.rs:58:34:58:34 | v | provenance | | | main.rs:43:44:43:51 | ...: usize | main.rs:67:46:67:46 | v | provenance | | -| main.rs:50:31:50:42 | l2.repeat(...) [Ok, tuple.0] | main.rs:50:31:50:51 | ... .unwrap() [tuple.0] | provenance | MaD:44 | +| main.rs:50:31:50:42 | l2.repeat(...) [Ok, tuple.0] | main.rs:50:31:50:51 | ... .unwrap() [tuple.0] | provenance | MaD:41 | | main.rs:50:31:50:51 | ... .unwrap() [tuple.0] | main.rs:50:31:50:53 | ... .0 | provenance | | | main.rs:50:31:50:53 | ... .0 | main.rs:50:13:50:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:50:41:50:41 | v | main.rs:50:31:50:42 | l2.repeat(...) [Ok, tuple.0] | provenance | MaD:39 | -| main.rs:51:31:51:46 | l2.repeat(...) [Ok, tuple.0] | main.rs:51:31:51:55 | ... .unwrap() [tuple.0] | provenance | MaD:44 | +| main.rs:50:41:50:41 | v | main.rs:50:31:50:42 | l2.repeat(...) [Ok, tuple.0] | provenance | MaD:36 | +| main.rs:51:31:51:46 | l2.repeat(...) [Ok, tuple.0] | main.rs:51:31:51:55 | ... .unwrap() [tuple.0] | provenance | MaD:41 | | main.rs:51:31:51:55 | ... .unwrap() [tuple.0] | main.rs:51:31:51:57 | ... .0 | provenance | | | main.rs:51:31:51:57 | ... .0 | main.rs:51:13:51:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:51:41:51:41 | v | main.rs:51:41:51:45 | ... + ... | provenance | MaD:27 | -| main.rs:51:41:51:45 | ... + ... | main.rs:51:31:51:46 | l2.repeat(...) [Ok, tuple.0] | provenance | MaD:39 | -| main.rs:53:31:53:49 | l2.repeat_packed(...) [Ok] | main.rs:53:31:53:58 | ... .unwrap() | provenance | MaD:44 | +| main.rs:51:41:51:41 | v | main.rs:51:41:51:45 | ... + ... | provenance | MaD:24 | +| main.rs:51:41:51:45 | ... + ... | main.rs:51:31:51:46 | l2.repeat(...) [Ok, tuple.0] | provenance | MaD:36 | +| main.rs:53:31:53:49 | l2.repeat_packed(...) [Ok] | main.rs:53:31:53:58 | ... .unwrap() | provenance | MaD:41 | | main.rs:53:31:53:58 | ... .unwrap() | main.rs:53:13:53:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:53:48:53:48 | v | main.rs:53:31:53:49 | l2.repeat_packed(...) [Ok] | provenance | MaD:40 | -| main.rs:54:31:54:54 | l2.repeat_packed(...) [Ok] | main.rs:54:31:54:63 | ... .unwrap() | provenance | MaD:44 | +| main.rs:53:48:53:48 | v | main.rs:53:31:53:49 | l2.repeat_packed(...) [Ok] | provenance | MaD:37 | +| main.rs:54:31:54:54 | l2.repeat_packed(...) [Ok] | main.rs:54:31:54:63 | ... .unwrap() | provenance | MaD:41 | | main.rs:54:31:54:63 | ... .unwrap() | main.rs:54:13:54:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:54:48:54:48 | v | main.rs:54:48:54:53 | ... * ... | provenance | MaD:28 | -| main.rs:54:48:54:53 | ... * ... | main.rs:54:31:54:54 | l2.repeat_packed(...) [Ok] | provenance | MaD:40 | +| main.rs:54:48:54:48 | v | main.rs:54:48:54:53 | ... * ... | provenance | MaD:25 | +| main.rs:54:48:54:53 | ... * ... | main.rs:54:31:54:54 | l2.repeat_packed(...) [Ok] | provenance | MaD:37 | | main.rs:58:9:58:20 | TuplePat [tuple.0] | main.rs:58:10:58:11 | k1 | provenance | | | main.rs:58:10:58:11 | k1 | main.rs:59:31:59:32 | k1 | provenance | | -| main.rs:58:24:58:35 | l3.repeat(...) [Ok, tuple.0] | main.rs:58:24:58:66 | ... .expect(...) [tuple.0] | provenance | MaD:43 | +| main.rs:58:24:58:35 | l3.repeat(...) [Ok, tuple.0] | main.rs:58:24:58:66 | ... .expect(...) [tuple.0] | provenance | MaD:40 | | main.rs:58:24:58:66 | ... .expect(...) [tuple.0] | main.rs:58:9:58:20 | TuplePat [tuple.0] | provenance | | -| main.rs:58:34:58:34 | v | main.rs:58:24:58:35 | l3.repeat(...) [Ok, tuple.0] | provenance | MaD:39 | +| main.rs:58:34:58:34 | v | main.rs:58:24:58:35 | l3.repeat(...) [Ok, tuple.0] | provenance | MaD:36 | | main.rs:59:31:59:32 | k1 | main.rs:59:13:59:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:59:31:59:32 | k1 | main.rs:60:34:60:35 | k1 | provenance | | | main.rs:59:31:59:32 | k1 | main.rs:62:24:62:25 | k1 | provenance | | @@ -137,32 +132,32 @@ edges | main.rs:59:31:59:32 | k1 | main.rs:65:31:65:32 | k1 | provenance | | | main.rs:60:9:60:20 | TuplePat [tuple.0] | main.rs:60:10:60:11 | k2 | provenance | | | main.rs:60:10:60:11 | k2 | main.rs:61:31:61:32 | k2 | provenance | | -| main.rs:60:24:60:36 | l3.extend(...) [Ok, tuple.0] | main.rs:60:24:60:45 | ... .unwrap() [tuple.0] | provenance | MaD:44 | +| main.rs:60:24:60:36 | l3.extend(...) [Ok, tuple.0] | main.rs:60:24:60:45 | ... .unwrap() [tuple.0] | provenance | MaD:41 | | main.rs:60:24:60:45 | ... .unwrap() [tuple.0] | main.rs:60:9:60:20 | TuplePat [tuple.0] | provenance | | -| main.rs:60:34:60:35 | k1 | main.rs:60:24:60:36 | l3.extend(...) [Ok, tuple.0] | provenance | MaD:32 | +| main.rs:60:34:60:35 | k1 | main.rs:60:24:60:36 | l3.extend(...) [Ok, tuple.0] | provenance | MaD:29 | | main.rs:61:31:61:32 | k2 | main.rs:61:13:61:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:62:9:62:20 | TuplePat [tuple.0] | main.rs:62:10:62:11 | k3 | provenance | | | main.rs:62:10:62:11 | k3 | main.rs:63:31:63:32 | k3 | provenance | | -| main.rs:62:24:62:25 | k1 | main.rs:62:24:62:36 | k1.extend(...) [Ok, tuple.0] | provenance | MaD:33 | -| main.rs:62:24:62:36 | k1.extend(...) [Ok, tuple.0] | main.rs:62:24:62:45 | ... .unwrap() [tuple.0] | provenance | MaD:44 | +| main.rs:62:24:62:25 | k1 | main.rs:62:24:62:36 | k1.extend(...) [Ok, tuple.0] | provenance | MaD:30 | +| main.rs:62:24:62:36 | k1.extend(...) [Ok, tuple.0] | main.rs:62:24:62:45 | ... .unwrap() [tuple.0] | provenance | MaD:41 | | main.rs:62:24:62:45 | ... .unwrap() [tuple.0] | main.rs:62:9:62:20 | TuplePat [tuple.0] | provenance | | | main.rs:63:31:63:32 | k3 | main.rs:63:13:63:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:64:31:64:50 | l3.extend_packed(...) [Ok] | main.rs:64:31:64:59 | ... .unwrap() | provenance | MaD:44 | +| main.rs:64:31:64:50 | l3.extend_packed(...) [Ok] | main.rs:64:31:64:59 | ... .unwrap() | provenance | MaD:41 | | main.rs:64:31:64:59 | ... .unwrap() | main.rs:64:13:64:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:64:48:64:49 | k1 | main.rs:64:31:64:50 | l3.extend_packed(...) [Ok] | provenance | MaD:34 | -| main.rs:65:31:65:32 | k1 | main.rs:65:31:65:50 | k1.extend_packed(...) [Ok] | provenance | MaD:35 | -| main.rs:65:31:65:50 | k1.extend_packed(...) [Ok] | main.rs:65:31:65:59 | ... .unwrap() | provenance | MaD:44 | +| main.rs:64:48:64:49 | k1 | main.rs:64:31:64:50 | l3.extend_packed(...) [Ok] | provenance | MaD:31 | +| main.rs:65:31:65:32 | k1 | main.rs:65:31:65:50 | k1.extend_packed(...) [Ok] | provenance | MaD:32 | +| main.rs:65:31:65:50 | k1.extend_packed(...) [Ok] | main.rs:65:31:65:59 | ... .unwrap() | provenance | MaD:41 | | main.rs:65:31:65:59 | ... .unwrap() | main.rs:65:13:65:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:67:9:67:10 | l4 | main.rs:68:31:68:32 | l4 | provenance | | -| main.rs:67:14:67:47 | ...::array::<...>(...) [Ok] | main.rs:67:14:67:56 | ... .unwrap() | provenance | MaD:44 | +| main.rs:67:14:67:47 | ...::array::<...>(...) [Ok] | main.rs:67:14:67:56 | ... .unwrap() | provenance | MaD:41 | | main.rs:67:14:67:56 | ... .unwrap() | main.rs:67:9:67:10 | l4 | provenance | | -| main.rs:67:46:67:46 | v | main.rs:67:14:67:47 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | +| main.rs:67:46:67:46 | v | main.rs:67:14:67:47 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | | main.rs:68:31:68:32 | l4 | main.rs:68:13:68:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:86:35:86:42 | ...: usize | main.rs:87:54:87:54 | v | provenance | | | main.rs:87:9:87:14 | layout | main.rs:88:31:88:36 | layout | provenance | | -| main.rs:87:18:87:58 | ...::from_size_align(...) [Ok] | main.rs:87:18:87:67 | ... .unwrap() | provenance | MaD:44 | +| main.rs:87:18:87:58 | ...::from_size_align(...) [Ok] | main.rs:87:18:87:67 | ... .unwrap() | provenance | MaD:41 | | main.rs:87:18:87:67 | ... .unwrap() | main.rs:87:9:87:14 | layout | provenance | | -| main.rs:87:54:87:54 | v | main.rs:87:18:87:58 | ...::from_size_align(...) [Ok] | provenance | MaD:36 | +| main.rs:87:54:87:54 | v | main.rs:87:18:87:58 | ...::from_size_align(...) [Ok] | provenance | MaD:33 | | main.rs:88:31:88:36 | layout | main.rs:88:13:88:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:91:38:91:45 | ...: usize | main.rs:92:47:92:47 | v | provenance | | | main.rs:91:38:91:45 | ...: usize | main.rs:101:51:101:51 | v | provenance | | @@ -173,16 +168,16 @@ edges | main.rs:91:38:91:45 | ...: usize | main.rs:161:55:161:55 | v | provenance | | | main.rs:92:9:92:10 | l1 | main.rs:96:35:96:36 | l1 | provenance | | | main.rs:92:9:92:10 | l1 | main.rs:102:35:102:36 | l1 | provenance | | -| main.rs:92:14:92:48 | ...::array::<...>(...) [Ok] | main.rs:92:14:92:57 | ... .unwrap() | provenance | MaD:44 | +| main.rs:92:14:92:48 | ...::array::<...>(...) [Ok] | main.rs:92:14:92:57 | ... .unwrap() | provenance | MaD:41 | | main.rs:92:14:92:57 | ... .unwrap() | main.rs:92:9:92:10 | l1 | provenance | | -| main.rs:92:47:92:47 | v | main.rs:92:14:92:48 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | +| main.rs:92:47:92:47 | v | main.rs:92:14:92:48 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | | main.rs:96:35:96:36 | l1 | main.rs:96:17:96:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:96:35:96:36 | l1 | main.rs:109:35:109:36 | l1 | provenance | | | main.rs:96:35:96:36 | l1 | main.rs:111:35:111:36 | l1 | provenance | | | main.rs:101:13:101:14 | l3 | main.rs:103:35:103:36 | l3 | provenance | | -| main.rs:101:18:101:52 | ...::array::<...>(...) [Ok] | main.rs:101:18:101:61 | ... .unwrap() | provenance | MaD:44 | +| main.rs:101:18:101:52 | ...::array::<...>(...) [Ok] | main.rs:101:18:101:61 | ... .unwrap() | provenance | MaD:41 | | main.rs:101:18:101:61 | ... .unwrap() | main.rs:101:13:101:14 | l3 | provenance | | -| main.rs:101:51:101:51 | v | main.rs:101:18:101:52 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | +| main.rs:101:51:101:51 | v | main.rs:101:18:101:52 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | | main.rs:102:35:102:36 | l1 | main.rs:102:17:102:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:102:35:102:36 | l1 | main.rs:109:35:109:36 | l1 | provenance | | | main.rs:102:35:102:36 | l1 | main.rs:111:35:111:36 | l1 | provenance | | @@ -193,28 +188,28 @@ edges | main.rs:111:35:111:36 | l1 | main.rs:111:17:111:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:111:35:111:36 | l1 | main.rs:146:35:146:36 | l1 | provenance | | | main.rs:145:13:145:14 | l9 | main.rs:148:35:148:36 | l9 | provenance | | -| main.rs:145:18:145:52 | ...::array::<...>(...) [Ok] | main.rs:145:18:145:61 | ... .unwrap() | provenance | MaD:44 | +| main.rs:145:18:145:52 | ...::array::<...>(...) [Ok] | main.rs:145:18:145:61 | ... .unwrap() | provenance | MaD:41 | | main.rs:145:18:145:61 | ... .unwrap() | main.rs:145:13:145:14 | l9 | provenance | | -| main.rs:145:51:145:51 | v | main.rs:145:18:145:52 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | +| main.rs:145:51:145:51 | v | main.rs:145:18:145:52 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | | main.rs:146:35:146:36 | l1 | main.rs:146:17:146:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:146:35:146:36 | l1 | main.rs:177:31:177:32 | l1 | provenance | | | main.rs:148:35:148:36 | l9 | main.rs:148:17:148:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:151:9:151:11 | l10 | main.rs:152:31:152:33 | l10 | provenance | | -| main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | main.rs:151:15:151:78 | ... .unwrap() | provenance | MaD:44 | +| main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | main.rs:151:15:151:78 | ... .unwrap() | provenance | MaD:41 | | main.rs:151:15:151:78 | ... .unwrap() | main.rs:151:9:151:11 | l10 | provenance | | -| main.rs:151:48:151:68 | ...::min(...) | main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | -| main.rs:151:62:151:62 | v | main.rs:151:48:151:68 | ...::min(...) | provenance | MaD:46 | +| main.rs:151:48:151:68 | ...::min(...) | main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | +| main.rs:151:62:151:62 | v | main.rs:151:48:151:68 | ...::min(...) | provenance | MaD:43 | | main.rs:152:31:152:33 | l10 | main.rs:152:13:152:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:154:9:154:11 | l11 | main.rs:155:31:155:33 | l11 | provenance | | -| main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | main.rs:154:15:154:78 | ... .unwrap() | provenance | MaD:44 | +| main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | main.rs:154:15:154:78 | ... .unwrap() | provenance | MaD:41 | | main.rs:154:15:154:78 | ... .unwrap() | main.rs:154:9:154:11 | l11 | provenance | | -| main.rs:154:48:154:68 | ...::max(...) | main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | -| main.rs:154:62:154:62 | v | main.rs:154:48:154:68 | ...::max(...) | provenance | MaD:45 | +| main.rs:154:48:154:68 | ...::max(...) | main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | +| main.rs:154:62:154:62 | v | main.rs:154:48:154:68 | ...::max(...) | provenance | MaD:42 | | main.rs:155:31:155:33 | l11 | main.rs:155:13:155:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:161:13:161:15 | l13 | main.rs:162:35:162:37 | l13 | provenance | | -| main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | main.rs:161:19:161:68 | ... .unwrap() | provenance | MaD:44 | +| main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | main.rs:161:19:161:68 | ... .unwrap() | provenance | MaD:41 | | main.rs:161:19:161:68 | ... .unwrap() | main.rs:161:13:161:15 | l13 | provenance | | -| main.rs:161:55:161:55 | v | main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | provenance | MaD:36 | +| main.rs:161:55:161:55 | v | main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | provenance | MaD:33 | | main.rs:162:35:162:37 | l13 | main.rs:162:17:162:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:162:35:162:37 | l13 | main.rs:169:35:169:37 | l13 | provenance | | | main.rs:169:35:169:37 | l13 | main.rs:169:17:169:33 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | @@ -222,9 +217,9 @@ edges | main.rs:183:29:183:36 | ...: usize | main.rs:192:46:192:46 | v | provenance | | | main.rs:183:29:183:36 | ...: usize | main.rs:202:48:202:48 | v | provenance | | | main.rs:192:9:192:10 | l2 | main.rs:193:38:193:39 | l2 | provenance | | -| main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | main.rs:192:14:192:56 | ... .unwrap() | provenance | MaD:44 | +| main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | main.rs:192:14:192:56 | ... .unwrap() | provenance | MaD:41 | | main.rs:192:14:192:56 | ... .unwrap() | main.rs:192:9:192:10 | l2 | provenance | | -| main.rs:192:46:192:46 | v | main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | +| main.rs:192:46:192:46 | v | main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | provenance | MaD:28 | | main.rs:193:38:193:39 | l2 | main.rs:193:32:193:36 | alloc | provenance | MaD:12 Sink:MaD:12 | | main.rs:193:38:193:39 | l2 | main.rs:194:45:194:46 | l2 | provenance | | | main.rs:194:45:194:46 | l2 | main.rs:194:32:194:43 | alloc_zeroed | provenance | MaD:13 Sink:MaD:13 | @@ -245,18 +240,14 @@ edges | main.rs:213:51:213:52 | l2 | main.rs:213:36:213:41 | shrink | provenance | MaD:11 Sink:MaD:11 | | main.rs:217:27:217:34 | ...: usize | main.rs:219:26:219:26 | v | provenance | | | main.rs:219:26:219:26 | v | main.rs:219:13:219:24 | ...::malloc | provenance | MaD:20 Sink:MaD:20 | -| main.rs:219:26:219:26 | v | main.rs:219:13:219:24 | ...::malloc | provenance | MaD:23 Sink:MaD:23 | | main.rs:219:26:219:26 | v | main.rs:220:36:220:36 | v | provenance | | | main.rs:220:36:220:36 | v | main.rs:220:13:220:31 | ...::aligned_alloc | provenance | MaD:18 Sink:MaD:18 | | main.rs:220:36:220:36 | v | main.rs:222:30:222:30 | v | provenance | | | main.rs:222:30:222:30 | v | main.rs:222:13:222:24 | ...::calloc | provenance | MaD:19 Sink:MaD:19 | -| main.rs:222:30:222:30 | v | main.rs:222:13:222:24 | ...::calloc | provenance | MaD:22 Sink:MaD:22 | | main.rs:222:30:222:30 | v | main.rs:223:26:223:26 | v | provenance | | | main.rs:223:26:223:26 | v | main.rs:223:13:223:24 | ...::calloc | provenance | MaD:19 Sink:MaD:19 | -| main.rs:223:26:223:26 | v | main.rs:223:13:223:24 | ...::calloc | provenance | MaD:22 Sink:MaD:22 | | main.rs:223:26:223:26 | v | main.rs:224:31:224:31 | v | provenance | | | main.rs:224:31:224:31 | v | main.rs:224:13:224:25 | ...::realloc | provenance | MaD:21 Sink:MaD:21 | -| main.rs:224:31:224:31 | v | main.rs:224:13:224:25 | ...::realloc | provenance | MaD:24 Sink:MaD:24 | | main.rs:227:24:227:31 | ...: usize | main.rs:228:43:228:43 | v | provenance | | | main.rs:228:43:228:43 | v | main.rs:228:13:228:41 | ...::try_with_capacity | provenance | MaD:3 Sink:MaD:3 | | main.rs:228:43:228:43 | v | main.rs:229:39:229:39 | v | provenance | | @@ -267,22 +258,21 @@ edges | main.rs:231:42:231:42 | v | main.rs:231:13:231:40 | ...::with_capacity_in | provenance | MaD:6 Sink:MaD:6 | | main.rs:282:24:282:41 | ...: String | main.rs:283:21:283:30 | user_input | provenance | | | main.rs:283:9:283:17 | num_bytes | main.rs:285:54:285:62 | num_bytes | provenance | | -| main.rs:283:21:283:30 | user_input | main.rs:283:21:283:47 | user_input.parse() [Ok] | provenance | MaD:29 | +| main.rs:283:21:283:30 | user_input | main.rs:283:21:283:47 | user_input.parse() [Ok] | provenance | MaD:26 | | main.rs:283:21:283:47 | user_input.parse() [Ok] | main.rs:283:21:283:48 | TryExpr | provenance | | -| main.rs:283:21:283:48 | TryExpr | main.rs:283:21:283:77 | ... * ... | provenance | MaD:28 | +| main.rs:283:21:283:48 | TryExpr | main.rs:283:21:283:77 | ... * ... | provenance | MaD:25 | | main.rs:283:21:283:77 | ... * ... | main.rs:283:9:283:17 | num_bytes | provenance | | | main.rs:285:9:285:14 | layout | main.rs:287:40:287:45 | layout | provenance | | -| main.rs:285:18:285:66 | ...::from_size_align(...) [Ok] | main.rs:285:18:285:75 | ... .unwrap() | provenance | MaD:44 | +| main.rs:285:18:285:66 | ...::from_size_align(...) [Ok] | main.rs:285:18:285:75 | ... .unwrap() | provenance | MaD:41 | | main.rs:285:18:285:75 | ... .unwrap() | main.rs:285:9:285:14 | layout | provenance | | -| main.rs:285:54:285:62 | num_bytes | main.rs:285:18:285:66 | ...::from_size_align(...) [Ok] | provenance | MaD:36 | +| main.rs:285:54:285:62 | num_bytes | main.rs:285:18:285:66 | ...::from_size_align(...) [Ok] | provenance | MaD:33 | | main.rs:287:40:287:45 | layout | main.rs:287:22:287:38 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:311:25:311:38 | ...::args | main.rs:311:25:311:40 | ...::args(...) [element] | provenance | Src:MaD:25 | -| main.rs:311:25:311:40 | ...::args(...) [element] | main.rs:311:25:311:47 | ... .nth(...) [Some] | provenance | MaD:26 | -| main.rs:311:25:311:47 | ... .nth(...) [Some] | main.rs:311:25:311:74 | ... .unwrap_or(...) | provenance | MaD:42 | +| main.rs:311:25:311:38 | ...::args | main.rs:311:25:311:40 | ...::args(...) [element] | provenance | Src:MaD:22 | +| main.rs:311:25:311:40 | ...::args(...) [element] | main.rs:311:25:311:47 | ... .nth(...) [Some] | provenance | MaD:23 | +| main.rs:311:25:311:47 | ... .nth(...) [Some] | main.rs:311:25:311:74 | ... .unwrap_or(...) | provenance | MaD:39 | | main.rs:311:25:311:74 | ... .unwrap_or(...) | main.rs:282:24:282:41 | ...: String | provenance | | | main.rs:317:26:317:33 | ...: usize | main.rs:331:26:331:26 | a | provenance | | | main.rs:331:26:331:26 | a | main.rs:331:13:331:24 | ...::malloc | provenance | MaD:20 Sink:MaD:20 | -| main.rs:331:26:331:26 | a | main.rs:331:13:331:24 | ...::malloc | provenance | MaD:23 Sink:MaD:23 | | main.rs:339:9:339:9 | v | main.rs:342:34:342:34 | v | provenance | | | main.rs:339:9:339:9 | v | main.rs:343:42:343:42 | v | provenance | | | main.rs:339:9:339:9 | v | main.rs:344:36:344:36 | v | provenance | | @@ -290,11 +280,11 @@ edges | main.rs:339:9:339:9 | v | main.rs:346:25:346:25 | v | provenance | | | main.rs:339:9:339:9 | v | main.rs:347:22:347:22 | v | provenance | | | main.rs:339:9:339:9 | v | main.rs:349:24:349:24 | v | provenance | | -| main.rs:339:13:339:26 | ...::args | main.rs:339:13:339:28 | ...::args(...) [element] | provenance | Src:MaD:25 | -| main.rs:339:13:339:28 | ...::args(...) [element] | main.rs:339:13:339:35 | ... .nth(...) [Some] | provenance | MaD:26 | -| main.rs:339:13:339:35 | ... .nth(...) [Some] | main.rs:339:13:339:65 | ... .unwrap_or(...) | provenance | MaD:42 | -| main.rs:339:13:339:65 | ... .unwrap_or(...) | main.rs:339:13:339:82 | ... .parse() [Ok] | provenance | MaD:29 | -| main.rs:339:13:339:82 | ... .parse() [Ok] | main.rs:339:13:339:91 | ... .unwrap() | provenance | MaD:44 | +| main.rs:339:13:339:26 | ...::args | main.rs:339:13:339:28 | ...::args(...) [element] | provenance | Src:MaD:22 | +| main.rs:339:13:339:28 | ...::args(...) [element] | main.rs:339:13:339:35 | ... .nth(...) [Some] | provenance | MaD:23 | +| main.rs:339:13:339:35 | ... .nth(...) [Some] | main.rs:339:13:339:65 | ... .unwrap_or(...) | provenance | MaD:39 | +| main.rs:339:13:339:65 | ... .unwrap_or(...) | main.rs:339:13:339:82 | ... .parse() [Ok] | provenance | MaD:26 | +| main.rs:339:13:339:82 | ... .parse() [Ok] | main.rs:339:13:339:91 | ... .unwrap() | provenance | MaD:41 | | main.rs:339:13:339:91 | ... .unwrap() | main.rs:339:9:339:9 | v | provenance | | | main.rs:342:34:342:34 | v | main.rs:12:36:12:43 | ...: usize | provenance | | | main.rs:343:42:343:42 | v | main.rs:43:44:43:51 | ...: usize | provenance | | @@ -325,31 +315,28 @@ models | 19 | Sink: libc::unix::calloc; Argument[0,1]; alloc-size | | 20 | Sink: libc::unix::malloc; Argument[0]; alloc-size | | 21 | Sink: libc::unix::realloc; Argument[1]; alloc-size | -| 22 | Sink: libc::windows::calloc; Argument[0,1]; alloc-size | -| 23 | Sink: libc::windows::malloc; Argument[0]; alloc-size | -| 24 | Sink: libc::windows::realloc; Argument[1]; alloc-size | -| 25 | Source: std::env::args; ReturnValue.Element; commandargs | -| 26 | Summary: <_ as core::iter::traits::iterator::Iterator>::nth; Argument[self].Reference.Element; ReturnValue.Field[core::option::Option::Some(0)]; value | -| 27 | Summary: <_ as core::ops::arith::Add>::add; Argument[self,0]; ReturnValue; taint | -| 28 | Summary: <_ as core::ops::arith::Mul>::mul; Argument[self,0]; ReturnValue; taint | -| 29 | Summary: ::deref; Argument[self]; ReturnValue; value | -| 30 | Summary: ::align_to; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 31 | Summary: ::array; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 32 | Summary: ::extend; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | -| 33 | Summary: ::extend; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | -| 34 | Summary: ::extend_packed; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 35 | Summary: ::extend_packed; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 36 | Summary: ::from_size_align; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 37 | Summary: ::from_size_align_unchecked; Argument[0]; ReturnValue; taint | -| 38 | Summary: ::pad_to_align; Argument[self].Reference; ReturnValue; taint | -| 39 | Summary: ::repeat; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | -| 40 | Summary: ::repeat_packed; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 41 | Summary: ::size; Argument[self].Reference; ReturnValue; taint | -| 42 | Summary: ::unwrap_or; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | -| 43 | Summary: ::expect; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 44 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 45 | Summary: core::cmp::max; Argument[0]; ReturnValue; value | -| 46 | Summary: core::cmp::min; Argument[0]; ReturnValue; value | +| 22 | Source: std::env::args; ReturnValue.Element; commandargs | +| 23 | Summary: <_ as core::iter::traits::iterator::Iterator>::nth; Argument[self].Reference.Element; ReturnValue.Field[core::option::Option::Some(0)]; value | +| 24 | Summary: <_ as core::ops::arith::Add>::add; Argument[self,0]; ReturnValue; taint | +| 25 | Summary: <_ as core::ops::arith::Mul>::mul; Argument[self,0]; ReturnValue; taint | +| 26 | Summary: ::deref; Argument[self]; ReturnValue; value | +| 27 | Summary: ::align_to; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 28 | Summary: ::array; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 29 | Summary: ::extend; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | +| 30 | Summary: ::extend; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | +| 31 | Summary: ::extend_packed; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 32 | Summary: ::extend_packed; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 33 | Summary: ::from_size_align; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 34 | Summary: ::from_size_align_unchecked; Argument[0]; ReturnValue; taint | +| 35 | Summary: ::pad_to_align; Argument[self].Reference; ReturnValue; taint | +| 36 | Summary: ::repeat; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)].Field[0]; taint | +| 37 | Summary: ::repeat_packed; Argument[0]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 38 | Summary: ::size; Argument[self].Reference; ReturnValue; taint | +| 39 | Summary: ::unwrap_or; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | +| 40 | Summary: ::expect; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 41 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 42 | Summary: core::cmp::max; Argument[0]; ReturnValue; value | +| 43 | Summary: core::cmp::min; Argument[0]; ReturnValue; value | nodes | main.rs:12:36:12:43 | ...: usize | semmle.label | ...: usize | | main.rs:18:13:18:31 | ...::realloc | semmle.label | ...::realloc | @@ -539,18 +526,14 @@ nodes | main.rs:213:51:213:52 | l2 | semmle.label | l2 | | main.rs:217:27:217:34 | ...: usize | semmle.label | ...: usize | | main.rs:219:13:219:24 | ...::malloc | semmle.label | ...::malloc | -| main.rs:219:13:219:24 | ...::malloc | semmle.label | ...::malloc | | main.rs:219:26:219:26 | v | semmle.label | v | | main.rs:220:13:220:31 | ...::aligned_alloc | semmle.label | ...::aligned_alloc | | main.rs:220:36:220:36 | v | semmle.label | v | | main.rs:222:13:222:24 | ...::calloc | semmle.label | ...::calloc | -| main.rs:222:13:222:24 | ...::calloc | semmle.label | ...::calloc | | main.rs:222:30:222:30 | v | semmle.label | v | | main.rs:223:13:223:24 | ...::calloc | semmle.label | ...::calloc | -| main.rs:223:13:223:24 | ...::calloc | semmle.label | ...::calloc | | main.rs:223:26:223:26 | v | semmle.label | v | | main.rs:224:13:224:25 | ...::realloc | semmle.label | ...::realloc | -| main.rs:224:13:224:25 | ...::realloc | semmle.label | ...::realloc | | main.rs:224:31:224:31 | v | semmle.label | v | | main.rs:227:24:227:31 | ...: usize | semmle.label | ...: usize | | main.rs:228:13:228:41 | ...::try_with_capacity | semmle.label | ...::try_with_capacity | @@ -579,7 +562,6 @@ nodes | main.rs:311:25:311:74 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | | main.rs:317:26:317:33 | ...: usize | semmle.label | ...: usize | | main.rs:331:13:331:24 | ...::malloc | semmle.label | ...::malloc | -| main.rs:331:13:331:24 | ...::malloc | semmle.label | ...::malloc | | main.rs:331:26:331:26 | a | semmle.label | a | | main.rs:339:9:339:9 | v | semmle.label | v | | main.rs:339:13:339:26 | ...::args | semmle.label | ...::args | diff --git a/rust/ql/test/query-tests/security/CWE-825/AccessInvalidPointer.expected b/rust/ql/test/query-tests/security/CWE-825/AccessInvalidPointer.expected index 0993171ab96a..d3b5456063ff 100644 --- a/rust/ql/test/query-tests/security/CWE-825/AccessInvalidPointer.expected +++ b/rust/ql/test/query-tests/security/CWE-825/AccessInvalidPointer.expected @@ -9,7 +9,6 @@ | deallocation.rs:90:7:90:8 | m2 | deallocation.rs:70:3:70:21 | ...::dealloc | deallocation.rs:90:7:90:8 | m2 | This operation dereferences a pointer that may be $@. | deallocation.rs:70:3:70:21 | ...::dealloc | invalid | | deallocation.rs:95:5:95:31 | ...::write::<...> | deallocation.rs:70:3:70:21 | ...::dealloc | deallocation.rs:95:5:95:31 | ...::write::<...> | This operation dereferences a pointer that may be $@. | deallocation.rs:70:3:70:21 | ...::dealloc | invalid | | deallocation.rs:115:13:115:18 | my_ptr | deallocation.rs:112:3:112:12 | ...::free | deallocation.rs:115:13:115:18 | my_ptr | This operation dereferences a pointer that may be $@. | deallocation.rs:112:3:112:12 | ...::free | invalid | -| deallocation.rs:115:13:115:18 | my_ptr | deallocation.rs:112:3:112:12 | ...::free | deallocation.rs:115:13:115:18 | my_ptr | This operation dereferences a pointer that may be $@. | deallocation.rs:112:3:112:12 | ...::free | invalid | | deallocation.rs:130:14:130:15 | p1 | deallocation.rs:123:23:123:40 | ...::dangling | deallocation.rs:130:14:130:15 | p1 | This operation dereferences a pointer that may be $@. | deallocation.rs:123:23:123:40 | ...::dangling | invalid | | deallocation.rs:131:14:131:15 | p2 | deallocation.rs:124:21:124:42 | ...::dangling_mut | deallocation.rs:131:14:131:15 | p2 | This operation dereferences a pointer that may be $@. | deallocation.rs:124:21:124:42 | ...::dangling_mut | invalid | | deallocation.rs:132:14:132:15 | p3 | deallocation.rs:125:23:125:36 | ...::null | deallocation.rs:132:14:132:15 | p3 | This operation dereferences a pointer that may be $@. | deallocation.rs:125:23:125:36 | ...::null | invalid | @@ -44,7 +43,6 @@ edges | deallocation.rs:70:23:70:35 | [post] m2 as ... | deallocation.rs:95:33:95:34 | m2 | provenance | | | deallocation.rs:95:33:95:34 | m2 | deallocation.rs:95:5:95:31 | ...::write::<...> | provenance | MaD:2 Sink:MaD:2 | | deallocation.rs:112:3:112:12 | ...::free | deallocation.rs:112:14:112:40 | [post] my_ptr as ... | provenance | Src:MaD:9 MaD:9 | -| deallocation.rs:112:3:112:12 | ...::free | deallocation.rs:112:14:112:40 | [post] my_ptr as ... | provenance | Src:MaD:10 MaD:10 | | deallocation.rs:112:14:112:40 | [post] my_ptr as ... | deallocation.rs:115:13:115:18 | my_ptr | provenance | | | deallocation.rs:123:6:123:7 | p1 | deallocation.rs:130:14:130:15 | p1 | provenance | | | deallocation.rs:123:23:123:40 | ...::dangling | deallocation.rs:123:23:123:42 | ...::dangling(...) | provenance | Src:MaD:4 MaD:4 | @@ -94,7 +92,6 @@ models | 7 | Source: core::ptr::null; ReturnValue; pointer-invalidate | | 8 | Source: core::ptr::null_mut; ReturnValue; pointer-invalidate | | 9 | Source: libc::unix::free; Argument[0]; pointer-invalidate | -| 10 | Source: libc::windows::free; Argument[0]; pointer-invalidate | nodes | deallocation.rs:20:3:20:21 | ...::dealloc | semmle.label | ...::dealloc | | deallocation.rs:20:23:20:24 | [post] m1 | semmle.label | [post] m1 | @@ -113,7 +110,6 @@ nodes | deallocation.rs:95:5:95:31 | ...::write::<...> | semmle.label | ...::write::<...> | | deallocation.rs:95:33:95:34 | m2 | semmle.label | m2 | | deallocation.rs:112:3:112:12 | ...::free | semmle.label | ...::free | -| deallocation.rs:112:3:112:12 | ...::free | semmle.label | ...::free | | deallocation.rs:112:14:112:40 | [post] my_ptr as ... | semmle.label | [post] my_ptr as ... | | deallocation.rs:115:13:115:18 | my_ptr | semmle.label | my_ptr | | deallocation.rs:123:6:123:7 | p1 | semmle.label | p1 | diff --git a/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 850ba012c153..000000000000 --- a/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,3 +0,0 @@ -multipleResolvedTargets -| deallocation.rs:106:16:106:32 | ...::malloc(...) | -| deallocation.rs:112:3:112:41 | ...::free(...) | diff --git a/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index eb6f8590fbdd..000000000000 --- a/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,4 +0,0 @@ -multiplePathResolutions -| request_forgery_tests.rs:60:7:60:17 | ...::main | -| request_forgery_tests.rs:64:9:64:11 | ...::runtime | -| request_forgery_tests.rs:79:5:79:18 | ...::runtime | diff --git a/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/TypeInferenceConsistency.expected b/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/TypeInferenceConsistency.expected deleted file mode 100644 index b70ece5bb153..000000000000 --- a/rust/ql/test/query-tests/security/CWE-918/CONSISTENCY/TypeInferenceConsistency.expected +++ /dev/null @@ -1,8 +0,0 @@ -nonUniqueCertainType -| request_forgery_tests.rs:8:24:8:46 | ...::get(...) | dyn(Output).T | -| request_forgery_tests.rs:17:25:17:42 | ...::get(...) | dyn(Output).T | -| request_forgery_tests.rs:21:25:21:42 | ...::get(...) | dyn(Output).T | -| request_forgery_tests.rs:25:25:25:42 | ...::get(...) | dyn(Output).T | -| request_forgery_tests.rs:31:29:31:51 | ...::get(...) | dyn(Output).T | -| request_forgery_tests.rs:37:37:37:59 | ...::get(...) | dyn(Output).T | -| request_forgery_tests.rs:68:28:68:43 | ...::get(...) | dyn(Output).T | From c972bb8632974fc9c928750ee33f2c86abcd2f1c Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Mon, 10 Aug 2026 16:15:36 +0200 Subject: [PATCH 131/190] Rust: Revert change in `multipleResolvedTargets` --- rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll | 1 - 1 file changed, 1 deletion(-) diff --git a/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll b/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll index e3416b1480b0..807225d1615a 100644 --- a/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll +++ b/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll @@ -26,7 +26,6 @@ query predicate multiplePathResolutions(Path p, ItemNode i) { /** Holds if `ie` has multiple resolved targets including `target`. */ query predicate multipleResolvedTargets(InvocationExpr ie, Addressable target) { - not ie.(AstNode).isInMacroExpansion() and target = ie.getResolvedTarget() and strictcount(ie.getResolvedTarget()) > 1 } From 3fd19093876335ad3273ae42422f75967b3b4ddf Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Mon, 10 Aug 2026 16:24:37 +0200 Subject: [PATCH 132/190] Rust: Minor cleanup --- .../rust/elements/internal/MetaImpl.qll | 14 +++++++++- .../codeql/rust/internal/PathResolution.qll | 26 +++++-------------- .../security/CWE-696/BadCtorInitialization.ql | 13 +--------- 3 files changed, 20 insertions(+), 33 deletions(-) diff --git a/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll index 295decd667a9..693724e96ae6 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/MetaImpl.qll @@ -11,6 +11,8 @@ private import codeql.rust.elements.internal.generated.Meta * be referenced directly. */ module Impl { + private import rust + // the following QLdoc is generated: if you need to edit it, do it in the schema file /** * A meta item in an attribute. @@ -26,5 +28,15 @@ module Impl { * } * ``` */ - class Meta extends Generated::Meta { } + class Meta extends Generated::Meta { + /** Gets the path, if it exists. */ + pragma[nomagic] + Path getMetaPath() { + result = this.(PathMeta).getPath() + or + result = this.(KeyValueMeta).getPath() + or + result = this.(TokenTreeMeta).getPath() + } + } } diff --git a/rust/ql/lib/codeql/rust/internal/PathResolution.qll b/rust/ql/lib/codeql/rust/internal/PathResolution.qll index a3627dad33c6..15a67ff62679 100644 --- a/rust/ql/lib/codeql/rust/internal/PathResolution.qll +++ b/rust/ql/lib/codeql/rust/internal/PathResolution.qll @@ -49,20 +49,6 @@ private import codeql.rust.internal.CachedStages private import codeql.rust.frameworks.stdlib.Builtins as Builtins private import codeql.util.Option -/** Gets the path of a `Meta` node, regardless of its concrete subtype. */ -pragma[nomagic] -private Path getMetaPath(Meta m) { - result = m.(PathMeta).getPath() - or - result = m.(KeyValueMeta).getPath() - or - result = m.(TokenTreeMeta).getPath() -} - -/** Gets the expression of a `Meta` node, regardless of its concrete subtype. */ -pragma[nomagic] -private Expr getMetaExpr(Meta m) { result = m.(KeyValueMeta).getExpr() } - private newtype TNamespace = TTypeNamespace() or TValueNamespace() or @@ -277,7 +263,7 @@ abstract class ItemNode extends Locatable { pragma[nomagic] final Attr getAttr(string name) { result = this.getAnAttr() and - getMetaPath(result.getMeta()).(PathExt).isUnqualified(name) + result.getMeta().getMetaPath().(PathExt).isUnqualified(name) } final predicate hasAttr(string name) { exists(this.getAttr(name)) } @@ -1394,7 +1380,7 @@ private predicate fileModuleInlineLate(SourceFile f, string name, Folder folder) */ private Meta getPathAttrMeta(Module m) { result = m.getAnAttr().getMeta() and - getMetaPath(result).getText() = "path" + result.getMetaPath().getText() = "path" } /** @@ -1455,10 +1441,10 @@ private predicate modImportNestedLookup(Module m, ModuleItemNode ancestor, Folde } private predicate pathAttrImport(Folder f, Module m, string relativePath) { - exists(Meta meta | + exists(KeyValueMeta meta | f = m.getFile().getParentContainer() and meta = getPathAttrMeta(m) and - relativePath = getMetaExpr(meta).(LiteralExpr).getTextValue().regexpCapture("\"(.+)\"", 1) + relativePath = meta.getExpr().(LiteralExpr).getTextValue().regexpCapture("\"(.+)\"", 1) ) } @@ -1839,7 +1825,7 @@ private module DollarCrateResolution { or exists(ItemNode type | expansion = type.(TypeItem).getDeriveMacroExpansion(_) and - macroDefPath = getMetaPath(type.getAttr("derive").getMeta()) + macroDefPath = type.getAttr("derive").getMeta().getMetaPath() ) } @@ -1998,7 +1984,7 @@ private predicate pathUsesNamespace(PathExt p, Namespace n) { ( p = any(MacroCall mc).getPath() or - p = getMetaPath(any(Meta m)) + p = any(Meta m).getMetaPath() ) } diff --git a/rust/ql/src/queries/security/CWE-696/BadCtorInitialization.ql b/rust/ql/src/queries/security/CWE-696/BadCtorInitialization.ql index 04a991b9a004..a45f4fb0209d 100644 --- a/rust/ql/src/queries/security/CWE-696/BadCtorInitialization.ql +++ b/rust/ql/src/queries/security/CWE-696/BadCtorInitialization.ql @@ -12,17 +12,6 @@ */ import rust -private import codeql.rust.elements.PathMeta -private import codeql.rust.elements.KeyValueMeta -private import codeql.rust.elements.TokenTreeMeta - -private Path getMetaPath(Meta m) { - result = m.(PathMeta).getPath() - or - result = m.(KeyValueMeta).getPath() - or - result = m.(TokenTreeMeta).getPath() -} /** * A `#[ctor]` or `#[dtor]` attribute, that is, a source for this query. @@ -31,7 +20,7 @@ class CtorAttr extends Attr { string whichAttr; CtorAttr() { - whichAttr = getMetaPath(this.getMeta()).getText() and + whichAttr = this.getMeta().getMetaPath().getText() and whichAttr = ["ctor", "dtor"] } From 82dfa2de876e59caf5c64db0c5eb0a63e0494069 Mon Sep 17 00:00:00 2001 From: Mads Navntoft Date: Mon, 10 Aug 2026 16:49:13 +0200 Subject: [PATCH 133/190] Java: Replace instead of redact to preserve major version --- .../diagnostics.expected | 2 +- .../gradle-sample-without-wrapper-or-gradle-buildless/test.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/diagnostics.expected b/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/diagnostics.expected index 568c2312e97c..f479e56b2e68 100644 --- a/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/diagnostics.expected +++ b/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/diagnostics.expected @@ -1,7 +1,7 @@ { "attributes": { "java_vendor": "__REDACTED__", - "java_version": "__REDACTED__" + "java_version": "11" }, "markdownMessage": "Internal telemetry for the Java extractor.\n\nNo action needed.", "severity": "note", diff --git a/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/test.py b/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/test.py index 495d4c40a0a8..3aaee01f4055 100644 --- a/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/test.py +++ b/java/ql/integration-tests/java/gradle-sample-without-wrapper-or-gradle-buildless/test.py @@ -5,7 +5,8 @@ # The version of gradle used doesn't work on java 17 def test(codeql, use_java_11, java, environment, check_diagnostics): - check_diagnostics.redact += ["attributes.java_vendor", "attributes.java_version"] + check_diagnostics.redact += ["attributes.java_vendor"] + check_diagnostics.replacements = [("11\\.[0-9]+\\.[0-9]+", "11")] gradle_override_dir = pathlib.Path(tempfile.mkdtemp()) if runs_on.windows: (gradle_override_dir / "gradle.bat").write_text("@echo off\nexit /b 2\n") From 2214e4057ecf2e238cbd49b91bb822ec68d8826f Mon Sep 17 00:00:00 2001 From: Chad Bentz <1760475+felickz@users.noreply.github.com> Date: Mon, 10 Aug 2026 13:13:59 -0400 Subject: [PATCH 134/190] Update java/ql/lib/ext/io.r2dbc.spi.model.yml Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com> --- java/ql/lib/ext/io.r2dbc.spi.model.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/ql/lib/ext/io.r2dbc.spi.model.yml b/java/ql/lib/ext/io.r2dbc.spi.model.yml index 7edfcdc36643..4643a3e874fe 100644 --- a/java/ql/lib/ext/io.r2dbc.spi.model.yml +++ b/java/ql/lib/ext/io.r2dbc.spi.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/java-all extensible: sinkModel data: - - ["io.r2dbc.spi", "Connection", True, "createStatement", "(String)", "", "Argument[0]", "sql-injection", "manual"] - ["io.r2dbc.spi", "Batch", True, "add", "(String)", "", "Argument[0]", "sql-injection", "manual"] - ["io.r2dbc.spi", "Connection", True, "createSavepoint", "(String)", "", "Argument[0]", "sql-injection", "manual"] + - ["io.r2dbc.spi", "Connection", True, "createStatement", "(String)", "", "Argument[0]", "sql-injection", "manual"] - ["io.r2dbc.spi", "Connection", True, "releaseSavepoint", "(String)", "", "Argument[0]", "sql-injection", "manual"] - - ["io.r2dbc.spi", "Connection", True, "rollbackTransactionToSavepoint", "(String)", "", "Argument[0]", "sql-injection", "manual"] - ["io.r2dbc.spi", "Statement", True, "returnGeneratedValues", "(String[])", "", "Argument[0]", "sql-injection", "manual"] + - ["io.r2dbc.spi", "Connection", True, "rollbackTransactionToSavepoint", "(String)", "", "Argument[0]", "sql-injection", "manual"] From 6919c3deb74c073a53b763a993196e369123a44e Mon Sep 17 00:00:00 2001 From: Chad Bentz <1760475+felickz@users.noreply.github.com> Date: Mon, 10 Aug 2026 13:16:07 -0400 Subject: [PATCH 135/190] Java: test safe R2DBC parameter binding Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: fb2a5047-e061-44ba-b6df-198390190733 --- .../ext/org.springframework.r2dbc.core.model.yml | 14 +++++++------- .../CWE-089/semmle/examples/SpringJdbc.java | 10 ++++++++++ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/java/ql/lib/ext/org.springframework.r2dbc.core.model.yml b/java/ql/lib/ext/org.springframework.r2dbc.core.model.yml index d388e72fdcc9..7246dd68f8d4 100644 --- a/java/ql/lib/ext/org.springframework.r2dbc.core.model.yml +++ b/java/ql/lib/ext/org.springframework.r2dbc.core.model.yml @@ -4,24 +4,24 @@ extensions: extensible: sinkModel data: - ["org.springframework.r2dbc.core", "DatabaseClient", True, "sql", "(String)", "", "Argument[0]", "sql-injection", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "flatMap", "(java.util.function.Function)", "", "Argument[this]", "sql-injection", "manual"] - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "fetch", "", "", "Argument[this]", "sql-injection", "manual"] - - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "then", "", "", "Argument[this]", "sql-injection", "manual"] - - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "map", "(java.util.function.Function)", "", "Argument[this]", "sql-injection", "manual"] - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "map", "(java.util.function.BiFunction)", "", "Argument[this]", "sql-injection", "manual"] - - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "mapValue", "(Class)", "", "Argument[this]", "sql-injection", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "map", "(java.util.function.Function)", "", "Argument[this]", "sql-injection", "manual"] - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "mapProperties", "(Class)", "", "Argument[this]", "sql-injection", "manual"] - - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "flatMap", "(java.util.function.Function)", "", "Argument[this]", "sql-injection", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "mapValue", "(Class)", "", "Argument[this]", "sql-injection", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "then", "", "", "Argument[this]", "sql-injection", "manual"] - addsTo: pack: codeql/java-all extensible: summaryModel data: - ["org.springframework.r2dbc.core", "DatabaseClient", True, "sql", "(java.util.function.Supplier)", "", "Argument[0].ReturnValue", "ReturnValue", "taint", "manual"] - - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bind", "(int,Object)", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bind", "(String,Object)", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindNull", "(int,Class)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bind", "(int,Object)", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindNull", "(String,Class)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindNull", "(int,Class)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindProperties", "(Object)", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindValues", "(List)", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindValues", "(Map)", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "bindProperties", "(Object)", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "filter", "(java.util.function.Function)", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["org.springframework.r2dbc.core", "DatabaseClient$GenericExecuteSpec", True, "filter", "(org.springframework.r2dbc.core.StatementFilterFunction)", "", "Argument[this]", "ReturnValue", "taint", "manual"] diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java index 656e9c69abf4..398a7784ed03 100644 --- a/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/SpringJdbc.java @@ -111,6 +111,16 @@ public static void testR2dbc(DatabaseClient client, Connection connection, Batch connection.rollbackTransactionToSavepoint(source()); // $ sqlInjection connection.createStatement("INSERT INTO test VALUES (1)") .returnGeneratedValues(source()); // $ sqlInjection + + client.sql(() -> "SELECT * FROM test WHERE value = :value").bind("value", source()).fetch(); + client.sql(() -> "SELECT * FROM test").filter(statement -> source()).fetch(); + client.sql(() -> "SELECT * FROM test").map(row -> source()); + connection.createStatement("SELECT * FROM test"); + batch.add("SELECT * FROM test"); + connection.createSavepoint("savepoint"); + connection.releaseSavepoint("savepoint"); + connection.rollbackTransactionToSavepoint("savepoint"); + connection.createStatement("INSERT INTO test VALUES (1)").returnGeneratedValues("id"); } } \ No newline at end of file From 29335fd8153c47a6984084429cc8e18d9ed4d0ea Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Mon, 10 Aug 2026 19:31:47 +0200 Subject: [PATCH 136/190] Rust: Add flow models for `ToOwned` trait --- rust/ql/lib/codeql/rust/frameworks/stdlib/alloc.model.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/alloc.model.yml b/rust/ql/lib/codeql/rust/frameworks/stdlib/alloc.model.yml index 78d1cbdec29e..427f0e6aed0b 100644 --- a/rust/ql/lib/codeql/rust/frameworks/stdlib/alloc.model.yml +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/alloc.model.yml @@ -56,6 +56,9 @@ extensions: # Vec - ["alloc::vec::from_elem", "Argument[0]", "ReturnValue.Element", "value", "manual"] - ["::deref", "Argument[self].Reference.Element", "ReturnValue.Reference.Element", "value", "manual"] + # ToOwned + - ["<_ as alloc::borrow::ToOwned>::to_owned", "Argument[self].Reference", "ReturnValue", "taint", "manual"] + - ["<_ as alloc::borrow::ToOwned>::clone_into", "Argument[self].Reference", "Argument[0].Reference", "taint", "manual"] - addsTo: pack: codeql/rust-all extensible: neutralModel From 5dffc22dbba5d226282d88608cb5f7972b76fe47 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2026 00:22:23 +0000 Subject: [PATCH 137/190] Add changed framework coverage reports --- java/documentation/library-coverage/coverage.csv | 2 ++ java/documentation/library-coverage/coverage.rst | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/java/documentation/library-coverage/coverage.csv b/java/documentation/library-coverage/coverage.csv index 39bb4b37e593..e3893d193663 100644 --- a/java/documentation/library-coverage/coverage.csv +++ b/java/documentation/library-coverage/coverage.csv @@ -73,6 +73,7 @@ io.netty.handler.ssl,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,2,,,,,,,,,,,,,,,,,,,,,,,,,,,, io.netty.handler.stream,1,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,, io.netty.resolver,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, io.netty.util,2,,23,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,21,2 +io.r2dbc.spi,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,, io.undertow.server.handlers.resource,1,,3,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, jakarta.activation,2,,2,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,2, jakarta.faces.context,4,7,,,,,,,,,,,,,,2,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,7,, @@ -254,6 +255,7 @@ org.springframework.jdbc.datasource,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,, org.springframework.jdbc.object,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,,,,,,,,,,,,,,,,, org.springframework.jndi,1,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, org.springframework.ldap,47,,,,,,,,,,,,,,,,,,,33,,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.springframework.r2dbc.core,8,,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,10, org.springframework.security.core.userdetails,2,,,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, org.springframework.security.web.savedrequest,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,, org.springframework.ui,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32 diff --git a/java/documentation/library-coverage/coverage.rst b/java/documentation/library-coverage/coverage.rst index cc3da4594a66..70d02b68751e 100644 --- a/java/documentation/library-coverage/coverage.rst +++ b/java/documentation/library-coverage/coverage.rst @@ -37,9 +37,9 @@ Java framework & library support `Retrofit `_,``retrofit2``,,1,1,,,,,,1 `SLF4J `_,``org.slf4j``,,6,55,,,,,, `SnakeYAML `_,``org.yaml.snakeyaml``,,1,,,,,,, - `Spring `_,``org.springframework.*``,46,494,144,26,,28,14,,36 + `Spring `_,``org.springframework.*``,46,504,152,26,,36,14,,36 `Thymeleaf `_,``org.thymeleaf``,,2,2,,,,,, `jOOQ `_,``org.jooq``,,,1,,,1,,, - Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.com.caucho.hessian.io``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.caucho.burlap.io``, ``com.caucho.hessian.io``, ``com.cedarsoftware.util.io``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.esotericsoftware.yamlbeans``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.opensymphony.xwork2``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``hudson``, ``io.jsonwebtoken``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.avro``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.fileupload``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hc.client5.http.protocol``, ``org.apache.hc.client5.http.utils``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.poi``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.codehaus.cargo.container.installer``, ``org.dom4j``, ``org.exolab.castor.xml``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.ho.yaml``, ``org.influxdb``, ``org.jabsorb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.xml.sax``, ``org.xmlpull.v1``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",151,8258,818,188,6,14,18,,186 - Totals,,406,28627,2751,461,16,137,33,1,416 + Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.com.caucho.hessian.io``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.caucho.burlap.io``, ``com.caucho.hessian.io``, ``com.cedarsoftware.util.io``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.esotericsoftware.yamlbeans``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.opensymphony.xwork2``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``hudson``, ``io.jsonwebtoken``, ``io.r2dbc.spi``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.avro``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.fileupload``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hc.client5.http.protocol``, ``org.apache.hc.client5.http.utils``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.poi``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.codehaus.cargo.container.installer``, ``org.dom4j``, ``org.exolab.castor.xml``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.ho.yaml``, ``org.influxdb``, ``org.jabsorb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.xml.sax``, ``org.xmlpull.v1``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",151,8258,824,188,6,20,18,,186 + Totals,,406,28637,2765,461,16,151,33,1,416 From d3775a2c6683f39f9c9cd147b87258523f06713d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 11 Aug 2026 08:11:11 +0000 Subject: [PATCH 138/190] Initial plan From a658c7742bec431d0ed102893e8e1668583b5066 Mon Sep 17 00:00:00 2001 From: Asger F Date: Tue, 11 Aug 2026 10:16:46 +0200 Subject: [PATCH 139/190] unified: Add test showing AST mapping error Notice the type error in the output --- .../nested-enum-case-pattern.output | 78 +++++++++++++++++++ .../nested-enum-case-pattern.swift | 2 + 2 files changed, 80 insertions(+) diff --git a/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output index 22d9b86bf996..a85ba8a8cca8 100644 --- a/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output +++ b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output @@ -1,6 +1,8 @@ switch event { case let .received(.some(value), timestamp): print(value, timestamp) +case Type.some(let value): + print(value) default: break } @@ -88,6 +90,54 @@ sourceFile calledExpression: declReferenceExpr baseName: identifier "print" + switchCase + label: + switchCaseLabel + colon: : + caseKeyword: case + caseItems: + switchCaseItem + pattern: + expressionPattern + expression: + functionCallExpr + leftParen: ( + rightParen: ) + arguments: + labeledExpr + expression: + patternExpr + pattern: + valueBindingPattern + pattern: + identifierPattern + identifier: identifier "value" + bindingSpecifier: let + additionalTrailingClosures: + calledExpression: + memberAccessExpr + period: . + declName: + declReferenceExpr + baseName: identifier "some" + base: + declReferenceExpr + baseName: identifier "Type" + statements: + codeBlockItem + item: + functionCallExpr + leftParen: ( + rightParen: ) + arguments: + labeledExpr + expression: + declReferenceExpr + baseName: identifier "value" + additionalTrailingClosures: + calledExpression: + declReferenceExpr + baseName: identifier "print" switchCase label: switchDefaultLabel @@ -154,6 +204,34 @@ top_level value: name_expr identifier: identifier "timestamp" + switch_case + pattern: + constructor_pattern + constructor: + member_access_expr + base: + expr_equality_pattern <-- ERROR: The field member_access_expr.base should contain expr_or_type, but got expr_equality_pattern + expr: + name_expr + identifier: identifier "Type" + member: identifier "some" + element: + pattern_element + pattern: + name_pattern + identifier: identifier "value" + body: + block + stmt: + call_expr + callee: + name_expr + identifier: identifier "print" + argument: + argument + value: + name_expr + identifier: identifier "value" switch_case body: block diff --git a/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift index 876d9995aee6..ed1a6b738a4b 100644 --- a/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift +++ b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.swift @@ -1,6 +1,8 @@ switch event { case let .received(.some(value), timestamp): print(value, timestamp) +case Type.some(let value): + print(value) default: break } From c58a096608d9bc9578c1ae4596650ff0d366ea78 Mon Sep 17 00:00:00 2001 From: Asger F Date: Tue, 11 Aug 2026 10:19:21 +0200 Subject: [PATCH 140/190] unified: Fix translation of callee in constructor pattern --- unified/extractor/src/languages/swift/swift.rs | 7 ++++++- .../swift/control-flow/nested-enum-case-pattern.output | 6 ++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index e615f07388a9..6396d4addd75 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -655,9 +655,14 @@ fn translation_rules() -> Vec> { (call_expr callee: {callee} argument: {args} argument: (argument value: {tc})) ), rule!( - (functionCallExpr calledExpression: @callee arguments: _* @args) + (functionCallExpr calledExpression: @@rawCallee arguments: _* @args) => expr { + // Always translate the callee in non-pattern context. + let callee = ctx.scoped(|ctx| { + ctx.in_pattern = false; + ctx.translate(rawCallee) + })?; if ctx.in_pattern { tree!((constructor_pattern constructor: {callee} element: {args})) } else { diff --git a/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output index a85ba8a8cca8..66a6f32dab4d 100644 --- a/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output +++ b/unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output @@ -210,10 +210,8 @@ top_level constructor: member_access_expr base: - expr_equality_pattern <-- ERROR: The field member_access_expr.base should contain expr_or_type, but got expr_equality_pattern - expr: - name_expr - identifier: identifier "Type" + name_expr + identifier: identifier "Type" member: identifier "some" element: pattern_element From 925d3e2c219ccd601c727c54822a2d6852fbad7a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 11 Aug 2026 08:24:07 +0000 Subject: [PATCH 141/190] Java: replace non-existent String.valueOf(CharSequence) summary with a synthetic callable for valueOf(Object) on CharSequence arguments Co-authored-by: hvitved <3667920+hvitved@users.noreply.github.com> --- .../2026-08-11-string-valueof-charsequence.md | 4 ++ java/ql/lib/ext/java.lang.model.yml | 1 - .../semmle/code/java/dataflow/FlowSummary.qll | 1 + .../semmle/code/java/frameworks/Strings.qll | 40 +++++++++++++++++++ .../dataflow/string-valueof/A.java | 26 ++++++++++++ .../dataflow/string-valueof/test.expected | 39 ++++++++++++++++++ .../dataflow/string-valueof/test.ql | 3 ++ 7 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 java/ql/lib/change-notes/2026-08-11-string-valueof-charsequence.md create mode 100644 java/ql/lib/semmle/code/java/frameworks/Strings.qll create mode 100644 java/ql/test/library-tests/dataflow/string-valueof/A.java create mode 100644 java/ql/test/library-tests/dataflow/string-valueof/test.expected create mode 100644 java/ql/test/library-tests/dataflow/string-valueof/test.ql diff --git a/java/ql/lib/change-notes/2026-08-11-string-valueof-charsequence.md b/java/ql/lib/change-notes/2026-08-11-string-valueof-charsequence.md new file mode 100644 index 000000000000..51331eb08372 --- /dev/null +++ b/java/ql/lib/change-notes/2026-08-11-string-valueof-charsequence.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Removed the summary model for `String.valueOf(CharSequence)`, which does not exist. Instead, taint is now propagated through calls to `String.valueOf(Object)` when the argument is a `CharSequence`, for example a `String` or a `StringBuilder`. diff --git a/java/ql/lib/ext/java.lang.model.yml b/java/ql/lib/ext/java.lang.model.yml index 9e3d9e8cee54..d613c6fe8f5b 100644 --- a/java/ql/lib/ext/java.lang.model.yml +++ b/java/ql/lib/ext/java.lang.model.yml @@ -134,7 +134,6 @@ extensions: - ["java.lang", "String", False, "valueOf", "(char)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["java.lang", "String", False, "valueOf", "(char[])", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["java.lang", "String", False, "valueOf", "(char[],int,int)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["java.lang", "String", False, "valueOf", "(CharSequence)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["java.lang", "StringBuffer", True, "StringBuffer", "(CharSequence)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["java.lang", "StringBuffer", True, "StringBuffer", "(String)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["java.lang", "StringBuilder", True, "StringBuilder", "", "", "Argument[0]", "Argument[this]", "taint", "manual"] diff --git a/java/ql/lib/semmle/code/java/dataflow/FlowSummary.qll b/java/ql/lib/semmle/code/java/dataflow/FlowSummary.qll index b88db0272cea..ff281b61511c 100644 --- a/java/ql/lib/semmle/code/java/dataflow/FlowSummary.qll +++ b/java/ql/lib/semmle/code/java/dataflow/FlowSummary.qll @@ -44,6 +44,7 @@ private module SyntheticCallables { private import semmle.code.java.dispatch.WrappedInvocation private import semmle.code.java.frameworks.android.Intent private import semmle.code.java.frameworks.Stream + private import semmle.code.java.frameworks.Strings } private newtype TSummarizedCallableBase = diff --git a/java/ql/lib/semmle/code/java/frameworks/Strings.qll b/java/ql/lib/semmle/code/java/frameworks/Strings.qll new file mode 100644 index 000000000000..4b8600ab3ac3 --- /dev/null +++ b/java/ql/lib/semmle/code/java/frameworks/Strings.qll @@ -0,0 +1,40 @@ +/** Definitions related to `java.lang.String`. */ +overlay[local?] +module; + +private import java +private import semmle.code.java.dataflow.FlowSummary + +/** + * A call to `String.valueOf(Object)` where the argument is a `CharSequence`, + * for example a `String` or a `StringBuilder`. + * + * Such a call is equivalent to calling `toString()` on the argument, which for + * a `CharSequence` is guaranteed to yield a string containing the characters of + * the argument, so taint is propagated. This is in contrast to `valueOf(Object)` + * calls in general, where `toString()` may not expose the state of the argument. + */ +private class StringValueOfCharSequence extends SyntheticCallable { + StringValueOfCharSequence() { this = "java.lang.String.valueOf(Object)+CharSequence" } + + override MethodCall getACall() { + exists(Method m | m = result.getMethod().getSourceDeclaration() | + m.hasQualifiedName("java.lang", "String", "valueOf") and + m.getParameterType(0) instanceof TypeObject + ) and + result + .getArgument(0) + .getType() + .(RefType) + .getAnAncestor() + .hasQualifiedName("java.lang", "CharSequence") + } + + override predicate propagatesFlow(string input, string output, boolean preservesValue) { + input = "Argument[0]" and + output = "ReturnValue" and + preservesValue = false + } + + override Type getReturnType() { result instanceof TypeString } +} diff --git a/java/ql/test/library-tests/dataflow/string-valueof/A.java b/java/ql/test/library-tests/dataflow/string-valueof/A.java new file mode 100644 index 000000000000..037372002912 --- /dev/null +++ b/java/ql/test/library-tests/dataflow/string-valueof/A.java @@ -0,0 +1,26 @@ +public class A { + String source() { return "source"; } + + void sink(Object o) {} + + void m(char[] cs, char c, Object obj) { + String s = source(); + + sink(String.valueOf(s)); // $ hasTaintFlow + + CharSequence seq = s; + sink(String.valueOf(seq)); // $ hasTaintFlow + + StringBuilder sb = new StringBuilder(s); + sink(String.valueOf(sb)); // $ hasTaintFlow + + sink(String.valueOf(s.toCharArray())); // $ hasTaintFlow + + sink(String.valueOf(s.charAt(0))); // $ hasTaintFlow + + // `toString` on an arbitrary object is not assumed to expose the state of + // the object, so no flow is expected here. + Object o = s; + sink(String.valueOf(o)); + } +} diff --git a/java/ql/test/library-tests/dataflow/string-valueof/test.expected b/java/ql/test/library-tests/dataflow/string-valueof/test.expected new file mode 100644 index 000000000000..851523f93087 --- /dev/null +++ b/java/ql/test/library-tests/dataflow/string-valueof/test.expected @@ -0,0 +1,39 @@ +models +| 1 | Summary: java.lang; CharSequence; true; charAt; ; ; Argument[this]; ReturnValue; taint; manual | +| 2 | Summary: java.lang; String; false; toCharArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 3 | Summary: java.lang; String; false; valueOf; (char); ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: java.lang; String; false; valueOf; (char[]); ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: java.lang; StringBuilder; true; StringBuilder; ; ; Argument[0]; Argument[this]; taint; manual | +edges +| A.java:7:16:7:23 | source(...) : String | A.java:9:25:9:25 | s : String | provenance | | +| A.java:7:16:7:23 | source(...) : String | A.java:12:25:12:27 | seq : String | provenance | | +| A.java:7:16:7:23 | source(...) : String | A.java:14:42:14:42 | s : String | provenance | | +| A.java:7:16:7:23 | source(...) : String | A.java:17:25:17:25 | s : String | provenance | | +| A.java:7:16:7:23 | source(...) : String | A.java:19:25:19:25 | s : String | provenance | | +| A.java:9:25:9:25 | s : String | A.java:9:10:9:26 | valueOf(...) | provenance | java.lang.String.valueOf(Object)+CharSequence | +| A.java:12:25:12:27 | seq : String | A.java:12:10:12:28 | valueOf(...) | provenance | java.lang.String.valueOf(Object)+CharSequence | +| A.java:14:24:14:43 | new StringBuilder(...) : StringBuilder | A.java:15:25:15:26 | sb : StringBuilder | provenance | | +| A.java:14:42:14:42 | s : String | A.java:14:24:14:43 | new StringBuilder(...) : StringBuilder | provenance | MaD:5 | +| A.java:15:25:15:26 | sb : StringBuilder | A.java:15:10:15:27 | valueOf(...) | provenance | java.lang.String.valueOf(Object)+CharSequence | +| A.java:17:25:17:25 | s : String | A.java:17:25:17:39 | toCharArray(...) : char[] | provenance | MaD:2 | +| A.java:17:25:17:39 | toCharArray(...) : char[] | A.java:17:10:17:40 | valueOf(...) | provenance | MaD:4 | +| A.java:19:25:19:25 | s : String | A.java:19:25:19:35 | charAt(...) : Number | provenance | MaD:1 | +| A.java:19:25:19:35 | charAt(...) : Number | A.java:19:10:19:36 | valueOf(...) | provenance | MaD:3 | +nodes +| A.java:7:16:7:23 | source(...) : String | semmle.label | source(...) : String | +| A.java:9:10:9:26 | valueOf(...) | semmle.label | valueOf(...) | +| A.java:9:25:9:25 | s : String | semmle.label | s : String | +| A.java:12:10:12:28 | valueOf(...) | semmle.label | valueOf(...) | +| A.java:12:25:12:27 | seq : String | semmle.label | seq : String | +| A.java:14:24:14:43 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| A.java:14:42:14:42 | s : String | semmle.label | s : String | +| A.java:15:10:15:27 | valueOf(...) | semmle.label | valueOf(...) | +| A.java:15:25:15:26 | sb : StringBuilder | semmle.label | sb : StringBuilder | +| A.java:17:10:17:40 | valueOf(...) | semmle.label | valueOf(...) | +| A.java:17:25:17:25 | s : String | semmle.label | s : String | +| A.java:17:25:17:39 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| A.java:19:10:19:36 | valueOf(...) | semmle.label | valueOf(...) | +| A.java:19:25:19:25 | s : String | semmle.label | s : String | +| A.java:19:25:19:35 | charAt(...) : Number | semmle.label | charAt(...) : Number | +subpaths +testFailures diff --git a/java/ql/test/library-tests/dataflow/string-valueof/test.ql b/java/ql/test/library-tests/dataflow/string-valueof/test.ql new file mode 100644 index 000000000000..e64b8bfececb --- /dev/null +++ b/java/ql/test/library-tests/dataflow/string-valueof/test.ql @@ -0,0 +1,3 @@ +import utils.test.InlineFlowTest +import DefaultFlowTest +import TaintFlow::PathGraph From c601c6c3a28b0f6d775829e3b104db47df726d81 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 11 Aug 2026 08:25:13 +0000 Subject: [PATCH 142/190] Simplify test method signature Co-authored-by: hvitved <3667920+hvitved@users.noreply.github.com> --- java/ql/test/library-tests/dataflow/string-valueof/A.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/ql/test/library-tests/dataflow/string-valueof/A.java b/java/ql/test/library-tests/dataflow/string-valueof/A.java index 037372002912..cf9d6ea8c1d7 100644 --- a/java/ql/test/library-tests/dataflow/string-valueof/A.java +++ b/java/ql/test/library-tests/dataflow/string-valueof/A.java @@ -3,7 +3,7 @@ public class A { void sink(Object o) {} - void m(char[] cs, char c, Object obj) { + void m() { String s = source(); sink(String.valueOf(s)); // $ hasTaintFlow From 4ce19bbcda5b2d9d9e464c2679f45d893511b489 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 11 Aug 2026 10:25:58 +0200 Subject: [PATCH 143/190] Ruby: Restrict ap len to 1 for regex tracking. --- ruby/ql/lib/codeql/ruby/regexp/internal/RegExpTracking.qll | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpTracking.qll b/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpTracking.qll index 7229ccfd9125..3e4ca47ba300 100644 --- a/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpTracking.qll +++ b/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpTracking.qll @@ -97,6 +97,8 @@ private module RegexConfig implements DataFlow::StateConfigSig { node2.asExpr().(CfgNodes::ExprNodes::StringlikeLiteralCfgNode).getAComponent() ) } + + int accessPathLimit() { result = 1 } } private module RegexTracking = DataFlow::GlobalWithState; From a4515561a7ff6e781ab3e74158d1561cd2afb757 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 11 Aug 2026 10:28:34 +0200 Subject: [PATCH 144/190] Revert "Ruby: Accept test improvement." This reverts commit a2b6c1f76ab2f1f0432b767a6dee3f39d8bc8eaf. --- .../IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected | 1 - .../IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.rb | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected b/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected index 00f8d91f99d3..097f43c33e70 100644 --- a/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected +++ b/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/IncompleteHostnameRegExp.expected @@ -16,7 +16,6 @@ | tst-IncompleteHostnameRegExp.rb:20:14:20:31 | ^test.example.com$ | This regular expression has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:20:13:20:26 | "#{...}$" | here | | tst-IncompleteHostnameRegExp.rb:22:24:22:40 | test.example.com$ | This string, which is used as a regular expression $@, has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:23:13:23:29 | ...[...] | here | | tst-IncompleteHostnameRegExp.rb:28:24:28:40 | test.example.com$ | This string, which is used as a regular expression $@, has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:63:20:63:36 | ...[...] | here | -| tst-IncompleteHostnameRegExp.rb:30:27:30:43 | test.example.com$ | This string, which is used as a regular expression $@, has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:66:20:66:36 | ...[...] | here | | tst-IncompleteHostnameRegExp.rb:37:3:37:53 | ^(https?:)?\\/\\/((service\|www).)?example.com(?=$\|\\/) | This regular expression has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:37:2:37:54 | /^(https?:)?\\/\\/((service\|www).../ | here | | tst-IncompleteHostnameRegExp.rb:38:3:38:43 | ^(http\|https):\\/\\/www.example.com\\/p\\/f\\/ | This regular expression has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:38:2:38:44 | /^(http\|https):\\/\\/www.example.../ | here | | tst-IncompleteHostnameRegExp.rb:39:5:39:30 | http:\\/\\/sub.example.com\\/ | This regular expression has an unescaped '.' before 'example.com', so it might match more hosts than expected. | tst-IncompleteHostnameRegExp.rb:39:2:39:33 | /^(http:\\/\\/sub.example.com\\/)/ | here | diff --git a/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.rb b/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.rb index 20c7522ba1cf..50e2e257dcec 100644 --- a/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.rb +++ b/ruby/ql/test/query-tests/security/cwe-020/IncompleteHostnameRegExp/tst-IncompleteHostnameRegExp.rb @@ -27,7 +27,7 @@ def foo convert1({ hostname: 'test.example.com$' }); # $ Alert // NOT OK - domains = [ { hostname: 'test.example.com$' } ]; # $ Alert // NOT OK + domains = [ { hostname: 'test.example.com$' } ]; # $ MISSING: Alert # NOT OK - but not flagged due to limitations of TypeTracking. From 122101c9b29d6c8b524228100c316039331774e1 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Mon, 10 Aug 2026 10:21:48 +0200 Subject: [PATCH 145/190] Shared: Support empty try-body in CFG. --- shared/controlflow/codeql/controlflow/ControlFlowGraph.qll | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll b/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll index 920da5dd04ef..d41ad05daa34 100644 --- a/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll +++ b/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll @@ -1737,6 +1737,10 @@ module Make0 Ast> { not exists(trystmt.getFinally()) and beforeFinally.isAfter(trystmt) ) | + not exists(trystmt.getBody(_)) and + n1.isBefore(trystmt) and + n2 = beforeElse + or exists(int i | n1.isAfter(trystmt.getBody(i)) and not exists(trystmt.getBody(i + 1)) and From 5ffb8ec85818c819645e398ba02136e632185789 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Mon, 10 Aug 2026 12:43:08 +0200 Subject: [PATCH 146/190] Shared: Support exceptions in parameter defaults. --- .../controlflow/codeql/controlflow/ControlFlowGraph.qll | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll b/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll index d41ad05daa34..042aa29fc421 100644 --- a/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll +++ b/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll @@ -1269,6 +1269,10 @@ module Make0 Ast> { result = block.(Switch).getStmt(_) } + private predicate callableHasParamDefault(Callable c, Expr defaultValue) { + exists(Parameter p | p.getDefaultValue() = defaultValue and c = getEnclosingCallable(p)) + } + /** * Holds if an abrupt completion `c` from within `ast` is caught with * flow continuing at `n`. @@ -1276,7 +1280,9 @@ module Make0 Ast> { private predicate endAbruptCompletion(AstNode ast, PreControlFlowNode n, AbruptCompletion c) { Input2::endAbruptCompletion(ast, n, c) or - exists(Callable callable | callableHasBodyPart(callable, ast) | + exists(Callable callable | + callableHasBodyPart(callable, ast) or callableHasParamDefault(callable, ast) + | c.getSuccessorType() instanceof ReturnSuccessor and n.(NormalExitNodeImpl).getEnclosingCallable() = callable or From 9d02ff7ed952ce3621ac7c26abfcf5ce98431e91 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 11 Aug 2026 13:05:02 +0200 Subject: [PATCH 147/190] C#: Update extractor package dependencies. --- csharp/paket.lock | 105 +++++++++++++++++++++--------------------- csharp/paket.main.bzl | 60 ++++++++++++------------ 2 files changed, 82 insertions(+), 83 deletions(-) diff --git a/csharp/paket.lock b/csharp/paket.lock index f76a8afa7eb4..332e75f89a6e 100644 --- a/csharp/paket.lock +++ b/csharp/paket.lock @@ -12,27 +12,27 @@ NUGET Microsoft.Extensions.ObjectPool (>= 10.0.7) MSBuild.StructuredLogger (>= 2.3.178) Humanizer.Core (3.0.10) - MessagePack (3.1.6) - MessagePack.Annotations (>= 3.1.6) - MessagePackAnalyzer (>= 3.1.6) + MessagePack (3.1.8) + MessagePack.Annotations (>= 3.1.8) + MessagePackAnalyzer (>= 3.1.8) Microsoft.NET.StringTools (>= 17.11.4) - MessagePack.Annotations (3.1.6) - MessagePackAnalyzer (3.1.6) - Microsoft.Bcl.AsyncInterfaces (10.0.8) - Microsoft.Bcl.Memory (10.0.8) + MessagePack.Annotations (3.1.8) + MessagePackAnalyzer (3.1.8) + Microsoft.Bcl.AsyncInterfaces (10.0.10) + Microsoft.Bcl.Memory (10.0.10) Microsoft.Build (18.6.3) Microsoft.Build.Framework (>= 18.6.3) System.Configuration.ConfigurationManager (>= 10.0.3) System.Diagnostics.EventLog (>= 10.0.3) System.Reflection.MetadataLoadContext (>= 10.0.3) System.Security.Cryptography.ProtectedData (>= 10.0.3) - Microsoft.Build.Framework (18.6.3) - Microsoft.NET.StringTools (>= 18.6.3) - Microsoft.Build.Utilities.Core (18.6.3) - Microsoft.Build.Framework (>= 18.6.3) - System.Configuration.ConfigurationManager (>= 10.0.3) - System.Diagnostics.EventLog (>= 10.0.3) - System.Security.Cryptography.ProtectedData (>= 10.0.3) + Microsoft.Build.Framework (18.8.2) + Microsoft.NET.StringTools (>= 18.8.2) + Microsoft.Build.Utilities.Core (18.8.2) + Microsoft.Build.Framework (>= 18.8.2) + System.Configuration.ConfigurationManager (>= 10.0.4) + System.Diagnostics.EventLog (>= 10.0.4) + System.Security.Cryptography.ProtectedData (>= 10.0.4) Microsoft.CodeAnalysis (5.3) Humanizer.Core (>= 2.14.1) Microsoft.Bcl.AsyncInterfaces (>= 9.0) @@ -50,7 +50,7 @@ NUGET System.Text.Encoding.CodePages (>= 8.0) System.Threading.Channels (>= 8.0) System.Threading.Tasks.Extensions (>= 4.6) - Microsoft.CodeAnalysis.Analyzers (5.3) + Microsoft.CodeAnalysis.Analyzers (5.6) Microsoft.CodeAnalysis.Common (5.3) Microsoft.CodeAnalysis.Analyzers (>= 5.3.0-2.25625.1) Microsoft.CodeAnalysis.CSharp (5.3) @@ -78,55 +78,54 @@ NUGET Microsoft.CodeAnalysis.Analyzers (>= 5.3.0-2.25625.1) Microsoft.CodeAnalysis.Common (5.3) System.Composition (>= 9.0) - Microsoft.CodeCoverage (18.5.1) - Microsoft.Extensions.ObjectPool (10.0.8) - Microsoft.NET.StringTools (18.6.3) - Microsoft.NET.Test.Sdk (18.5.1) - Microsoft.CodeCoverage (>= 18.5.1) - Microsoft.TestPlatform.TestHost (>= 18.5.1) - Microsoft.TestPlatform.ObjectModel (18.5.1) + Microsoft.CodeCoverage (18.8.1) + Microsoft.Extensions.ObjectPool (10.0.10) + Microsoft.NET.StringTools (18.8.2) + Microsoft.NET.Test.Sdk (18.8.1) + Microsoft.CodeCoverage (>= 18.8.1) + Microsoft.TestPlatform.TestHost (>= 18.8.1) + Microsoft.TestPlatform.ObjectModel (18.8.1) System.Reflection.Metadata (>= 8.0) - Microsoft.TestPlatform.TestHost (18.5.1) - Microsoft.TestPlatform.ObjectModel (>= 18.5.1) - Newtonsoft.Json (>= 13.0.3) + Microsoft.TestPlatform.TestHost (18.8.1) + Microsoft.TestPlatform.ObjectModel (>= 18.8.1) Microsoft.VisualStudio.SolutionPersistence (1.0.52) Mono.Posix.NETStandard (1.0) - MSBuild.StructuredLogger (2.3.204) + MSBuild.StructuredLogger (2.3.213) Microsoft.Build.Framework (>= 17.5) Microsoft.Build.Utilities.Core (>= 17.5) Newtonsoft.Json (13.0.4) NuGet.Versioning (7.6) System.Buffers (4.6.1) - System.Collections.Immutable (10.0.8) - System.Composition (10.0.8) - System.Composition.AttributedModel (>= 10.0.8) - System.Composition.Convention (>= 10.0.8) - System.Composition.Hosting (>= 10.0.8) - System.Composition.Runtime (>= 10.0.8) - System.Composition.TypedParts (>= 10.0.8) - System.Composition.AttributedModel (10.0.8) - System.Composition.Convention (10.0.8) - System.Composition.AttributedModel (>= 10.0.8) - System.Composition.Hosting (10.0.8) - System.Composition.Runtime (>= 10.0.8) - System.Composition.Runtime (10.0.8) - System.Composition.TypedParts (10.0.8) - System.Composition.AttributedModel (>= 10.0.8) - System.Composition.Hosting (>= 10.0.8) - System.Composition.Runtime (>= 10.0.8) - System.Configuration.ConfigurationManager (10.0.8) - System.Diagnostics.EventLog (>= 10.0.8) - System.Security.Cryptography.ProtectedData (>= 10.0.8) - System.Diagnostics.EventLog (10.0.8) - System.IO.Pipelines (10.0.8) + System.Collections.Immutable (10.0.10) + System.Composition (10.0.10) + System.Composition.AttributedModel (>= 10.0.10) + System.Composition.Convention (>= 10.0.10) + System.Composition.Hosting (>= 10.0.10) + System.Composition.Runtime (>= 10.0.10) + System.Composition.TypedParts (>= 10.0.10) + System.Composition.AttributedModel (10.0.10) + System.Composition.Convention (10.0.10) + System.Composition.AttributedModel (>= 10.0.10) + System.Composition.Hosting (10.0.10) + System.Composition.Runtime (>= 10.0.10) + System.Composition.Runtime (10.0.10) + System.Composition.TypedParts (10.0.10) + System.Composition.AttributedModel (>= 10.0.10) + System.Composition.Hosting (>= 10.0.10) + System.Composition.Runtime (>= 10.0.10) + System.Configuration.ConfigurationManager (10.0.10) + System.Diagnostics.EventLog (>= 10.0.10) + System.Security.Cryptography.ProtectedData (>= 10.0.10) + System.Diagnostics.EventLog (10.0.10) + System.IO.Pipelines (10.0.10) System.Memory (4.6.3) System.Numerics.Vectors (4.6.1) - System.Reflection.Metadata (10.0.8) - System.Reflection.MetadataLoadContext (10.0.8) + System.Reflection.Metadata (10.0.10) + System.Reflection.MetadataLoadContext (10.0.10) System.Runtime.CompilerServices.Unsafe (6.1.2) - System.Security.Cryptography.ProtectedData (10.0.8) - System.Text.Encoding.CodePages (10.0.8) - System.Threading.Channels (10.0.8) + System.Security.Cryptography.ProtectedData (10.0.10) + System.Text.Encoding.CodePages (10.0.10) + System.Threading.Channels (10.0.10) System.Threading.Tasks.Extensions (4.6.3) xunit (2.9.3) xunit.analyzers (>= 1.18) diff --git a/csharp/paket.main.bzl b/csharp/paket.main.bzl index 0c1b13334243..d153b5f69d36 100644 --- a/csharp/paket.main.bzl +++ b/csharp/paket.main.bzl @@ -9,52 +9,52 @@ def main(): packages = [ {"name": "Basic.CompilerLog.Util", "id": "Basic.CompilerLog.Util", "version": "0.9.39", "sha512": "sha512-/Kqh12aedOvhOPuFDk/yE8HauuxXFuzB8Qt+NxEUopKnxyXtV0uPIVgBU3mLNC1Dj2E5Yhcz1rtECwnu4Tv1eg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "net462": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "net47": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "net471": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "net472": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "net48": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "net5.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "net6.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "net7.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "net8.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "net9.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "netcoreapp2.1": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "netcoreapp2.2": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "netcoreapp3.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "netcoreapp3.1": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"], "netstandard2.1": ["MSBuild.StructuredLogger", "MessagePack", "Microsoft.Bcl.Memory", "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.Extensions.ObjectPool", "System.Buffers"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Humanizer.Core", "id": "Humanizer.Core", "version": "3.0.10", "sha512": "sha512-86jRQVvMLU7xxsdHrK87TSqu5kL0lg4EiRjvTBglkrtLw242dMON4vTrFbGKr2CRjqbThBuIpodF2MWbCFKZYA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Collections.Immutable", "System.Memory"], "net462": ["System.Collections.Immutable", "System.Memory"], "net47": ["System.Collections.Immutable", "System.Memory"], "net471": ["System.Collections.Immutable", "System.Memory"], "net472": ["System.Collections.Immutable", "System.Memory"], "net48": ["System.Collections.Immutable", "System.Memory"], "net5.0": ["System.Collections.Immutable", "System.Memory"], "net6.0": ["System.Collections.Immutable", "System.Memory"], "net7.0": ["System.Collections.Immutable", "System.Memory"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Collections.Immutable", "System.Memory"], "netcoreapp2.1": ["System.Collections.Immutable", "System.Memory"], "netcoreapp2.2": ["System.Collections.Immutable", "System.Memory"], "netcoreapp3.0": ["System.Collections.Immutable", "System.Memory"], "netcoreapp3.1": ["System.Collections.Immutable", "System.Memory"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Collections.Immutable", "System.Memory"], "netstandard2.1": ["System.Collections.Immutable", "System.Memory"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "MessagePack", "id": "MessagePack", "version": "3.1.6", "sha512": "sha512-vkEho7kN4kxlkd238214A0/FGz6DB1Dalexql8CtUpsbtr0DhKmhBLsmZlqc9H6rRiRvG2VJyt+UqUmQxZoqyw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe", "System.Threading.Tasks.Extensions"], "net48": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe", "System.Threading.Tasks.Extensions"], "net5.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"], "net6.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"], "net7.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"], "net8.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools"], "net9.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"], "netcoreapp3.1": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "MessagePack.Annotations", "id": "MessagePack.Annotations", "version": "3.1.6", "sha512": "sha512-7uF/iFA6NSB5Eo0HijkyEAHPURQC2ESmzoqNFd2bVqu2opQnuvutGYvcZKV91FXQ6YMDhzYvYbIlSTJ/Jru5+Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "MessagePackAnalyzer", "id": "MessagePackAnalyzer", "version": "3.1.6", "sha512": "sha512-eLmNdEFDwLjBiv3/rv/mBtIu18pu9eujlZ8pb0EsbnMzuNyNUp3GJ0WLL0h4qYRW5N41f8zN1N627h/kChe3oA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "Microsoft.Bcl.AsyncInterfaces", "id": "Microsoft.Bcl.AsyncInterfaces", "version": "10.0.8", "sha512": "sha512-FzE/KnOmwCmg2KMPjuyevkS5fAzNt2DBLSJs3HsJ+I/CoBSW6i0mighH6ryZ8JHQhNLxMK04X7J8BTt0kEG5/g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Threading.Tasks.Extensions"], "net462": ["System.Threading.Tasks.Extensions"], "net47": ["System.Threading.Tasks.Extensions"], "net471": ["System.Threading.Tasks.Extensions"], "net472": ["System.Threading.Tasks.Extensions"], "net48": ["System.Threading.Tasks.Extensions"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["System.Threading.Tasks.Extensions"], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Threading.Tasks.Extensions"], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "Microsoft.Bcl.Memory", "id": "Microsoft.Bcl.Memory", "version": "10.0.8", "sha512": "sha512-Gd9LaF0vnR5noQP7/LPjSKvXw22b51ejGGs/HJHbzNbMOzT1KqGzW2329gP8DKKMj5iYACBKISwl6nDr32WFWA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Runtime.CompilerServices.Unsafe"], "net7.0": ["System.Runtime.CompilerServices.Unsafe"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "MessagePack", "id": "MessagePack", "version": "3.1.8", "sha512": "sha512-9s6k8RHuot/t6hcvQqYpLCpFY4NY52MApniE+eZsydkhoyvJQL/X1SxUR8Wrurms6xDtj+ZRHGlyfLfBZ9ni7Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe", "System.Threading.Tasks.Extensions"], "net48": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe", "System.Threading.Tasks.Extensions"], "net5.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"], "net6.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"], "net7.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"], "net8.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools"], "net9.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"], "netcoreapp3.1": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Threading.Tasks.Extensions", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["MessagePackAnalyzer", "MessagePack.Annotations", "Microsoft.NET.StringTools", "System.Collections.Immutable"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "MessagePack.Annotations", "id": "MessagePack.Annotations", "version": "3.1.8", "sha512": "sha512-ONyOl+mddCHFvZwsicJ2ubaK7a1O/wBo4KX178TsbLSW57m+P7WNPf8ZhXyCVCJuc/nqGBvuigeb0SP8Hzqssg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "MessagePackAnalyzer", "id": "MessagePackAnalyzer", "version": "3.1.8", "sha512": "sha512-K//7kxEU35BqDkb6obsEKJreQyaN+56tnjddUHvMz9X+nNuurULHihWRjnCt8DsXEgRfFPwn7WYjtOOXSyYxzQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.Bcl.AsyncInterfaces", "id": "Microsoft.Bcl.AsyncInterfaces", "version": "10.0.10", "sha512": "sha512-8Mx8TUFWoK2gH35Cyr0ndO2l9j4XJzo1wsC6ufVD2nlFsVe5NXmbM+vEOILLhdANZKEgN+U8hkPrT1YQsSSBSA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Threading.Tasks.Extensions"], "net462": ["System.Threading.Tasks.Extensions"], "net47": ["System.Threading.Tasks.Extensions"], "net471": ["System.Threading.Tasks.Extensions"], "net472": ["System.Threading.Tasks.Extensions"], "net48": ["System.Threading.Tasks.Extensions"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["System.Threading.Tasks.Extensions"], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Threading.Tasks.Extensions"], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.Bcl.Memory", "id": "Microsoft.Bcl.Memory", "version": "10.0.10", "sha512": "sha512-dY04r7+oqm5RWWQ5Ncw2BZfz5lWuEmamdZX+sh7ujYPeu6MTTNElaDtW/5JAUF70TMVCZd6tELRFbx10BVvmXw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Runtime.CompilerServices.Unsafe"], "net7.0": ["System.Runtime.CompilerServices.Unsafe"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.Build", "id": "Microsoft.Build", "version": "18.6.3", "sha512": "sha512-KC9xCNrucJlKrA0KFXiYUHZI74kNBOaZ/BLHSCm06fS7aoHnlAlRZizti+i4V0AsaJlaIBjtN/Cf6LkcmENi4w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Build.Framework", "System.Configuration.ConfigurationManager", "System.Reflection.MetadataLoadContext", "System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": ["Microsoft.Build.Framework", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Memory", "System.Reflection.MetadataLoadContext", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.Build.Framework", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Memory", "System.Reflection.MetadataLoadContext", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Threading.Tasks.Extensions"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "Microsoft.Build.Framework", "id": "Microsoft.Build.Framework", "version": "18.6.3", "sha512": "sha512-p11xRx05A+bU2oUIsKKuAEOEPyroo2ygUwQVDLAGV3ZkNtHBsQs9RojvRqr+wiql7KPUXv0qbwKcACUpsbbmcA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.NET.StringTools"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe", "System.Memory", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe", "System.Memory", "System.Threading.Tasks.Extensions"], "net5.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net9.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "Microsoft.Build.Utilities.Core", "id": "Microsoft.Build.Utilities.Core", "version": "18.6.3", "sha512": "sha512-uB3c5znytjARTsycmhOfnTavdGTYalYWcCtb6RAFqHcXv2y8JxGsdgQQ39n9IqXpt9JyxPSWz2uVuztuG/Oplw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Build.Framework", "System.Configuration.ConfigurationManager", "System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["Microsoft.Build.Framework", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Memory", "System.Runtime.CompilerServices.Unsafe", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.Build.Framework", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Memory", "System.Runtime.CompilerServices.Unsafe", "System.Threading.Tasks.Extensions"], "net5.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net9.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.Build.Framework", "id": "Microsoft.Build.Framework", "version": "18.8.2", "sha512": "sha512-a7GqCWuBTxqVme+L8u5QXSrifzmWEGQuih3E3tOYB/TH+CLKg6iZhOx0jBz8Wc1f2qMnPr3jzJcan0vPI0zBcQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.NET.StringTools"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe", "System.Memory", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.NET.StringTools", "System.Collections.Immutable", "System.Runtime.CompilerServices.Unsafe", "System.Memory", "System.Threading.Tasks.Extensions"], "net5.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net9.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["Microsoft.NET.StringTools", "System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.Build.Utilities.Core", "id": "Microsoft.Build.Utilities.Core", "version": "18.8.2", "sha512": "sha512-o6aoVgjtD37nmsQ1B3IhB9yjBOhFur7EH+CNsIUnBwQUBBLM4qN4Xv11nA5X84GLoxw8SGW0MY6+r04Mhqvfxg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Build.Framework", "System.Configuration.ConfigurationManager", "System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["Microsoft.Build.Framework", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Memory", "System.Runtime.CompilerServices.Unsafe", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.Build.Framework", "System.Collections.Immutable", "System.Configuration.ConfigurationManager", "System.Memory", "System.Runtime.CompilerServices.Unsafe", "System.Threading.Tasks.Extensions"], "net5.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net9.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["Microsoft.Build.Framework", "System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.CodeAnalysis", "id": "Microsoft.CodeAnalysis", "version": "5.3.0", "sha512": "sha512-gCuN2a/33HYRrRg4P2LvbgSsUaGP/FSHTaz6FapSaEATYnbXBoiR9Nk/ItHAknc6IQPtodkUYKvX78MkBdoOSg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net462": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net47": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net471": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net472": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net5.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net6.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net7.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net8.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net9.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netstandard2.1": ["Microsoft.CodeAnalysis.CSharp.Workspaces", "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "Microsoft.CodeAnalysis.Analyzers", "id": "Microsoft.CodeAnalysis.Analyzers", "version": "5.3.0", "sha512": "sha512-v9jPlSs/fE7AU2/eZOw5EUzq0JOaWgP+2gghwIP2XbbTv56PZZZsy1QgEiMa3jjO8hR8SN1+NJvG1xxHL2FDgw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.CodeAnalysis.Analyzers", "id": "Microsoft.CodeAnalysis.Analyzers", "version": "5.6.0", "sha512": "sha512-in3YRkkpGhfekPD9j9G04qzdOoWBjaiGYrl6xy0+8Xp0N3Q1+Du5wkx/THhOTIvqk6Oy1d8RTIQnA8/qFapDNQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.CodeAnalysis.Common", "id": "Microsoft.CodeAnalysis.Common", "version": "5.3.0", "sha512": "sha512-lt42ETYkJrzJrf99jQ9n7xnanR/ETh92o6LX03kTjQKfKFrJGm5/+4OQJyIz8Kj4/ClbeZ3kvxytsyds4jQ5Tg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.CodeAnalysis.Analyzers"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "net462": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "net47": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "net471": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "net472": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "net48": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "net5.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "net6.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "net7.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "net8.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata"], "net9.0": ["Microsoft.CodeAnalysis.Analyzers"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"], "netstandard2.1": ["Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Memory", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions", "System.Buffers", "System.Numerics.Vectors"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.CodeAnalysis.CSharp", "id": "Microsoft.CodeAnalysis.CSharp", "version": "5.3.0", "sha512": "sha512-TD8ulDx0+qjf3oi5gcToiNaxVGzn0rsPN0hCQOq+skYGgugKGLVl8obs0KxrxAOx2xkjySbOcEBumgJ0uhzzgA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net462": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net47": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net471": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net472": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net5.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net6.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net7.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net8.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata"], "net9.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.CodeAnalysis.CSharp.Workspaces", "id": "Microsoft.CodeAnalysis.CSharp.Workspaces", "version": "5.3.0", "sha512": "sha512-XwemsUpvFZ8zLvu9QxRdgh4rgoI1WypKHn9D4zrvN5V3p+CSJKmFBS1w09DuBSLe+DIITIu7JQmzmDsHXZow1g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.CodeAnalysis.Analyzers", "System.Composition"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net462": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net47": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net471": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net472": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net5.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net6.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net7.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net8.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Reflection.Metadata"], "net9.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.CodeAnalysis.Analyzers", "System.Composition"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.CodeAnalysis.VisualBasic", "id": "Microsoft.CodeAnalysis.VisualBasic", "version": "5.3.0", "sha512": "sha512-0zqIJspSNg8iBDho82FwYt4ajoBRzMEtzdIPs5KBeisxNIBMpZh8CXJED8RY32HCsIOA5tx870xpgPsXOysMqA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net462": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net47": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net471": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net472": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net5.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net6.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net7.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net8.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata"], "net9.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "id": "Microsoft.CodeAnalysis.VisualBasic.Workspaces", "version": "5.3.0", "sha512": "sha512-FhpamkHtKiOd/2wlQ4l9K+NQLfAtBniWj2TWjgHp5rY+PNDRsOZpiTVBdrlwRTIR2oe6lz6cKYTxwBKVrPjOzQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.CodeAnalysis.Analyzers", "System.Composition"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net462": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net47": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net471": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net472": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net5.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net6.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net7.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "net8.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Reflection.Metadata"], "net9.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.CodeAnalysis.Analyzers", "System.Composition"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common", "Microsoft.CodeAnalysis.VisualBasic", "Microsoft.CodeAnalysis.Workspaces.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Composition", "System.IO.Pipelines", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Channels", "System.Threading.Tasks.Extensions"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.CodeAnalysis.Workspaces.Common", "id": "Microsoft.CodeAnalysis.Workspaces.Common", "version": "5.3.0", "sha512": "sha512-pPJy45QDPFZNUpmgJz7fKL6Tte+CZ7NRw8GyluMBGLRAcwrZNMpWOKkV81MGnkCYOs8UA1b510MrQpevf0iQWw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "Microsoft.CodeAnalysis.Analyzers"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net462": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net47": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net471": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net472": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net5.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net6.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net7.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "net8.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "System.IO.Pipelines", "Microsoft.CodeAnalysis.Analyzers", "System.Collections.Immutable", "System.Reflection.Metadata"], "net9.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "System.Composition", "Microsoft.CodeAnalysis.Analyzers"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netcoreapp3.1": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"], "netstandard2.1": ["Microsoft.CodeAnalysis.Common", "Humanizer.Core", "Microsoft.Bcl.AsyncInterfaces", "System.Composition", "System.IO.Pipelines", "System.Threading.Channels", "Microsoft.CodeAnalysis.Analyzers", "System.Buffers", "System.Collections.Immutable", "System.Memory", "System.Numerics.Vectors", "System.Reflection.Metadata", "System.Runtime.CompilerServices.Unsafe", "System.Text.Encoding.CodePages", "System.Threading.Tasks.Extensions"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "Microsoft.CodeCoverage", "id": "Microsoft.CodeCoverage", "version": "18.5.1", "sha512": "sha512-BjoX00WuEWNnHFo591eXZIcl3IYm1iln65ub545zWF1o6pHicSHcX2eUBWEJW9W6GA/9cf/ZgJ2XuGOyDdep2A==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "Microsoft.Extensions.ObjectPool", "id": "Microsoft.Extensions.ObjectPool", "version": "10.0.8", "sha512": "sha512-XOzhf+i3nZIyqy5sFaEdnNsPOPEYcEz9tL3YIU8RjK3aKIMLPLMaXDCGoOxKeOTN+03Faaz5le8X1RlKsW9rPQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "Microsoft.NET.StringTools", "id": "Microsoft.NET.StringTools", "version": "18.6.3", "sha512": "sha512-8RtWydTzV9i25v80XBoNxZDxmxuClq0PVejE2dHfpLhD8jFoEEPP2S+q5oS9HdSKOVDurUDTdjMCEWUB+DiGZg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net9.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "Microsoft.NET.Test.Sdk", "id": "Microsoft.NET.Test.Sdk", "version": "18.5.1", "sha512": "sha512-5/ucicw/H9/VNCmMTCjCQhNHEJc08ZeSLSrjvdZR/rtVUY8Enw+bi9LQTP1K97aRCqw/BG7cIV+VVFvgj3fKiw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": ["Microsoft.CodeCoverage"], "net47": ["Microsoft.CodeCoverage"], "net471": ["Microsoft.CodeCoverage"], "net472": ["Microsoft.CodeCoverage"], "net48": ["Microsoft.CodeCoverage"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "net9.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "Microsoft.TestPlatform.ObjectModel", "id": "Microsoft.TestPlatform.ObjectModel", "version": "18.5.1", "sha512": "sha512-SJHvdEawgdOUuyN2/eVWZCwe14DKPgQPDsQGiwfeKFgjzYDUvhESRpohG9IvQQuYiCvAv7Tn+ozZ2fDPfpwdzg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Reflection.Metadata"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Reflection.Metadata"], "net462": ["System.Reflection.Metadata"], "net47": ["System.Reflection.Metadata"], "net471": ["System.Reflection.Metadata"], "net472": ["System.Reflection.Metadata"], "net48": ["System.Reflection.Metadata"], "net5.0": ["System.Reflection.Metadata"], "net6.0": ["System.Reflection.Metadata"], "net7.0": ["System.Reflection.Metadata"], "net8.0": ["System.Reflection.Metadata"], "net9.0": ["System.Reflection.Metadata"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Reflection.Metadata"], "netcoreapp2.1": ["System.Reflection.Metadata"], "netcoreapp2.2": ["System.Reflection.Metadata"], "netcoreapp3.0": ["System.Reflection.Metadata"], "netcoreapp3.1": ["System.Reflection.Metadata"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Reflection.Metadata"], "netstandard2.1": ["System.Reflection.Metadata"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "Microsoft.TestPlatform.TestHost", "id": "Microsoft.TestPlatform.TestHost", "version": "18.5.1", "sha512": "sha512-CbWth1jMU2wVyAy1SVMexSyD3JXG8FYYyyrcY+B1aWhzFzRLh8JdThoibXTqXxZ2NRC9me+N4XIQC75dfLcgiA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "net9.0": ["Microsoft.TestPlatform.ObjectModel", "Newtonsoft.Json"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.CodeCoverage", "id": "Microsoft.CodeCoverage", "version": "18.8.1", "sha512": "sha512-8h9rObu86JMC0ouOd7meNjPhjrTYQPEyOT42hshBxdxknvpfYLRzTY13ZBhRAf7tohl7wApqq/aaN6WRxhdwjw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.Extensions.ObjectPool", "id": "Microsoft.Extensions.ObjectPool", "version": "10.0.10", "sha512": "sha512-4Ysvqe0dDLdaPyhHNtTJ1Rk6RpzIv4ysxDT12ujfGCiKJEpXKvumpGvO5fwfQzvNsuGuvVznsmaquCSOf/oePQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.NET.StringTools", "id": "Microsoft.NET.StringTools", "version": "18.8.2", "sha512": "sha512-qJv3HjkTja31DcQpKPyzFJy2cYhzWrFskxtk8sCYptzjp/ZeW0Sr59fEeQbZzz3WpjYPh0DfhmgPcUx3XPPLVA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net9.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.NET.Test.Sdk", "id": "Microsoft.NET.Test.Sdk", "version": "18.8.1", "sha512": "sha512-7ZJBYyRfeaV4hDllSLVb7dtLXQb4SpbAhy+s9Sc+dUV2zwDUTTJtPLYTjanS5kqqm+283NNxIY4271uUY0Pvjw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": ["Microsoft.CodeCoverage"], "net47": ["Microsoft.CodeCoverage"], "net471": ["Microsoft.CodeCoverage"], "net472": ["Microsoft.CodeCoverage"], "net48": ["Microsoft.CodeCoverage"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "net9.0": ["Microsoft.TestPlatform.TestHost", "Microsoft.CodeCoverage"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.TestPlatform.ObjectModel", "id": "Microsoft.TestPlatform.ObjectModel", "version": "18.8.1", "sha512": "sha512-+ng/tKQNSOlrGQHUc72D3cg62HPViwXXBC0FoeEO6m1u4H4TCjITJy6Ym1bC8Folj0MAT0Y3236hMtY67zGphQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Reflection.Metadata"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Reflection.Metadata"], "net462": ["System.Reflection.Metadata"], "net47": ["System.Reflection.Metadata"], "net471": ["System.Reflection.Metadata"], "net472": ["System.Reflection.Metadata"], "net48": ["System.Reflection.Metadata"], "net5.0": ["System.Reflection.Metadata"], "net6.0": ["System.Reflection.Metadata"], "net7.0": ["System.Reflection.Metadata"], "net8.0": ["System.Reflection.Metadata"], "net9.0": ["System.Reflection.Metadata"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Reflection.Metadata"], "netcoreapp2.1": ["System.Reflection.Metadata"], "netcoreapp2.2": ["System.Reflection.Metadata"], "netcoreapp3.0": ["System.Reflection.Metadata"], "netcoreapp3.1": ["System.Reflection.Metadata"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Reflection.Metadata"], "netstandard2.1": ["System.Reflection.Metadata"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.TestPlatform.TestHost", "id": "Microsoft.TestPlatform.TestHost", "version": "18.8.1", "sha512": "sha512-RterAFeFkQwnHzCmWBUctxEH/Yenj39954gR5J7IZXQk5okBv6lD3XOv0uGGRe02EpRjhDawHaGUXHpFBKfI3g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.TestPlatform.ObjectModel"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": ["Microsoft.TestPlatform.ObjectModel"], "net9.0": ["Microsoft.TestPlatform.ObjectModel"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.VisualStudio.SolutionPersistence", "id": "Microsoft.VisualStudio.SolutionPersistence", "version": "1.0.52", "sha512": "sha512-lHyMm5j5wRwVaC3vlCWrFH2FGy2SpFUZqLvYhzwf1cEUIQCUChU960h8kteFSf01ZkLSgJwrznmspwjW8kPtrA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": ["System.Memory", "System.Threading.Tasks.Extensions"], "net48": ["System.Memory", "System.Threading.Tasks.Extensions"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Mono.Posix.NETStandard", "id": "Mono.Posix.NETStandard", "version": "1.0.0", "sha512": "sha512-RtGiutQZJAmajvQ0QvBvh73VJye85iW9f9tjZlzF88idLxNMo4lAktP/4Y9ilCpais0LDO0tpoICt9Hdv6wooA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "MSBuild.StructuredLogger", "id": "MSBuild.StructuredLogger", "version": "2.3.204", "sha512": "sha512-MnrlWYtNUl0db/2lePRJhtOCzbQkJ1L9tyrA4xlKTFqjvpw8wnnX6AQ+PXYhjlMJ8ET9aoXGJOn/3e9j07NSwg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net48": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net9.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "MSBuild.StructuredLogger", "id": "MSBuild.StructuredLogger", "version": "2.3.213", "sha512": "sha512-C63vcnENTazm2XrczuEkSQRTeX53nYH1bza3k1XQdp6S3FtYTjGTUFP4nqqkNDjwVtBLNioNXRSUkFTvf2Qdtw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net48": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net9.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["Microsoft.Build.Framework", "Microsoft.Build.Utilities.Core", "System.Collections.Immutable", "System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Newtonsoft.Json", "id": "Newtonsoft.Json", "version": "13.0.4", "sha512": "sha512-bR+v+E/yJ6g7GV2uXw2OrUSjYYfjLkOLC8JD4kCS23msLapnKtdJPBJA75fwHH++ErIffeIqzYITLxAur4KAXA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "NuGet.Versioning", "id": "NuGet.Versioning", "version": "7.6.0", "sha512": "sha512-JwbvmbG+1EOilFOAtjT2A7p05UgeOqzTZluUJ4mFgPZUSpYcHPPaK15x+RiqpKsVmKy741MaLN0fjOYxhGXr3g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Buffers", "id": "System.Buffers", "version": "4.6.1", "sha512": "sha512-qve/dFwECwehSWlZmpkrrlIeATCvo/Hw2koyMrUVcDBy5gXAQrnwX8pHEoqgj8DgkrWuWW1DrQbFqoMbo+Fvrg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Collections.Immutable", "id": "System.Collections.Immutable", "version": "10.0.8", "sha512": "sha512-C6PSp5YO9fvxcDoBwqDE/2iMPNgzOcrdjQsnpJxWBMDZRMxdpjDe9tzJb14zZwY0dqbVSsoik5un31ZXJ7Fu8Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Composition", "id": "System.Composition", "version": "10.0.8", "sha512": "sha512-h1qUp18nhfGfw3mz8ZxNTUZXm2rVvk7HiPKj0IYdRJIdOAcIBmI/MT4U8Etdi6y0tPb2dNQvfTnj35PgDCpDwg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net462": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net47": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net471": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net472": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net48": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net5.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net6.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net7.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net8.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net9.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp2.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp2.2": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp3.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp3.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netstandard2.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Composition.AttributedModel", "id": "System.Composition.AttributedModel", "version": "10.0.8", "sha512": "sha512-Qy0Ag0tpyGeh7BFgN7Mj2rumQHWoZYuTRE5fo5ice3j97JIMoAKt6uvj3sQqukhNLLPUDY0vz3WA36Fl/AbPRw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Composition.Convention", "id": "System.Composition.Convention", "version": "10.0.8", "sha512": "sha512-TKc99rqqwWNajwl3o40keYyQtYVD+NnWWX1EId4whrwo7wT9KiTS8Q6CJVR7GLxA+9lbGMJyQh6IgwZk3T7YJg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Composition.AttributedModel"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel"], "net462": ["System.Composition.AttributedModel"], "net47": ["System.Composition.AttributedModel"], "net471": ["System.Composition.AttributedModel"], "net472": ["System.Composition.AttributedModel"], "net48": ["System.Composition.AttributedModel"], "net5.0": ["System.Composition.AttributedModel"], "net6.0": ["System.Composition.AttributedModel"], "net7.0": ["System.Composition.AttributedModel"], "net8.0": ["System.Composition.AttributedModel"], "net9.0": ["System.Composition.AttributedModel"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel"], "netcoreapp2.1": ["System.Composition.AttributedModel"], "netcoreapp2.2": ["System.Composition.AttributedModel"], "netcoreapp3.0": ["System.Composition.AttributedModel"], "netcoreapp3.1": ["System.Composition.AttributedModel"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel"], "netstandard2.1": ["System.Composition.AttributedModel"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Composition.Hosting", "id": "System.Composition.Hosting", "version": "10.0.8", "sha512": "sha512-Xx+8iGL7kYmfDwxPZqbFGuVO+JKLqfwBPJpqquFDE1IUsZs7yKFmmP1zg+xVwcEq/wJdYVqs9MTsCU/1AaBW/A==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Composition.Runtime"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.Runtime"], "net462": ["System.Composition.Runtime"], "net47": ["System.Composition.Runtime"], "net471": ["System.Composition.Runtime"], "net472": ["System.Composition.Runtime"], "net48": ["System.Composition.Runtime"], "net5.0": ["System.Composition.Runtime"], "net6.0": ["System.Composition.Runtime"], "net7.0": ["System.Composition.Runtime"], "net8.0": ["System.Composition.Runtime"], "net9.0": ["System.Composition.Runtime"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.Runtime"], "netcoreapp2.1": ["System.Composition.Runtime"], "netcoreapp2.2": ["System.Composition.Runtime"], "netcoreapp3.0": ["System.Composition.Runtime"], "netcoreapp3.1": ["System.Composition.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.Runtime"], "netstandard2.1": ["System.Composition.Runtime"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Composition.Runtime", "id": "System.Composition.Runtime", "version": "10.0.8", "sha512": "sha512-yyACoUVUtVhIcZzApq+ARHwVOkA9PRSQ/gI2y5xXwa6nwqA8doKySyqH1bfpaacHJ3j4zhrRe1lpjffTEhh0+Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Composition.TypedParts", "id": "System.Composition.TypedParts", "version": "10.0.8", "sha512": "sha512-kPWxTNdqjdnYmvDMnEFbjmKsbECPKXCHiusp53sor6xgDcUQNkzNqEKTMVEFbvjIH0DBLXIP9fudSrK886dqeg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net462": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net47": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net471": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net472": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net48": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net5.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net6.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net7.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net8.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net9.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp2.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp2.2": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp3.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp3.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netstandard2.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Configuration.ConfigurationManager", "id": "System.Configuration.ConfigurationManager", "version": "10.0.8", "sha512": "sha512-1Z/h32w5oEjve1mUU5w1aYY9p+wcuNtTxo0RG+cQl+I34XRkjx4iYK9kuz+WYzud9QpPePk6iyjvnay1mWj6/Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Security.Cryptography.ProtectedData"], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["System.Security.Cryptography.ProtectedData"], "net6.0": ["System.Security.Cryptography.ProtectedData"], "net7.0": ["System.Security.Cryptography.ProtectedData"], "net8.0": ["System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData"], "net9.0": ["System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Security.Cryptography.ProtectedData"], "netcoreapp2.1": ["System.Security.Cryptography.ProtectedData"], "netcoreapp2.2": ["System.Security.Cryptography.ProtectedData"], "netcoreapp3.0": ["System.Security.Cryptography.ProtectedData"], "netcoreapp3.1": ["System.Security.Cryptography.ProtectedData"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Security.Cryptography.ProtectedData"], "netstandard2.1": ["System.Security.Cryptography.ProtectedData"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Diagnostics.EventLog", "id": "System.Diagnostics.EventLog", "version": "10.0.8", "sha512": "sha512-ik2gdaGlYD5S+5wk4WLP43va4G9IW7g5QxW/C1/+DSEH2KNEGWuskgaVhURZxCkstF20I1iwgfMCB9k/5uUBFw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.IO.Pipelines", "id": "System.IO.Pipelines", "version": "10.0.8", "sha512": "sha512-jrBzkIgn/+Ul7ODVXy5uBYhlXpEVHx57VUtLigfw0pq2r+xu3dv/F0aWi7y3C/w3GSk6mhvoX3RfKcWJT372UA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net462": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net47": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net471": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net472": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net48": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net5.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net6.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net7.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netcoreapp3.1": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netstandard2.1": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Collections.Immutable", "id": "System.Collections.Immutable", "version": "10.0.10", "sha512": "sha512-JH2NYVL3GXOOYI8qrLQO2EvmatmLdtXtMxc9AFv+/XJ76dgTtSeP3VHuobj+xD1FWPhhxMZ0VhyFJoB1s6AHTw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Composition", "id": "System.Composition", "version": "10.0.10", "sha512": "sha512-9YEpcfz4xCbj/b+97hecZ6bzun83fOGbCz3AiSbaVAgkYVt00q1CVNPtwUL4eIQmd60OoTeRd8fhDVs1Vu41AA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net462": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net47": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net471": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net472": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net48": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net5.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net6.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net7.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net8.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "net9.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp2.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp2.2": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp3.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netcoreapp3.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"], "netstandard2.1": ["System.Composition.AttributedModel", "System.Composition.Convention", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Composition.AttributedModel", "id": "System.Composition.AttributedModel", "version": "10.0.10", "sha512": "sha512-qpvi6DGQYbcoNiBs0si0uWfZsFNCe7G38rE95/QyuUW1QF9zt9blOqygIhqz7SbAuAYxA/GrFJqdQ2ZLRKYtTA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Composition.Convention", "id": "System.Composition.Convention", "version": "10.0.10", "sha512": "sha512-I89jhR8qtl6yBXa9JPJcdela65JI4WPA4xfL3qauBlOZpSZUPAB5GCryyTKUh6yWzco+fSWO7QXfXUFyG+fAOQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Composition.AttributedModel"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel"], "net462": ["System.Composition.AttributedModel"], "net47": ["System.Composition.AttributedModel"], "net471": ["System.Composition.AttributedModel"], "net472": ["System.Composition.AttributedModel"], "net48": ["System.Composition.AttributedModel"], "net5.0": ["System.Composition.AttributedModel"], "net6.0": ["System.Composition.AttributedModel"], "net7.0": ["System.Composition.AttributedModel"], "net8.0": ["System.Composition.AttributedModel"], "net9.0": ["System.Composition.AttributedModel"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel"], "netcoreapp2.1": ["System.Composition.AttributedModel"], "netcoreapp2.2": ["System.Composition.AttributedModel"], "netcoreapp3.0": ["System.Composition.AttributedModel"], "netcoreapp3.1": ["System.Composition.AttributedModel"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel"], "netstandard2.1": ["System.Composition.AttributedModel"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Composition.Hosting", "id": "System.Composition.Hosting", "version": "10.0.10", "sha512": "sha512-8rY5Z+Owu9AGZ2XnCqRTydhX1xoHz9qiisgpydo3PTETGcbPbGjIYu+Imzr3pHPWYPwtWIWr+5WT4b+abC+qVQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Composition.Runtime"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.Runtime"], "net462": ["System.Composition.Runtime"], "net47": ["System.Composition.Runtime"], "net471": ["System.Composition.Runtime"], "net472": ["System.Composition.Runtime"], "net48": ["System.Composition.Runtime"], "net5.0": ["System.Composition.Runtime"], "net6.0": ["System.Composition.Runtime"], "net7.0": ["System.Composition.Runtime"], "net8.0": ["System.Composition.Runtime"], "net9.0": ["System.Composition.Runtime"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.Runtime"], "netcoreapp2.1": ["System.Composition.Runtime"], "netcoreapp2.2": ["System.Composition.Runtime"], "netcoreapp3.0": ["System.Composition.Runtime"], "netcoreapp3.1": ["System.Composition.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.Runtime"], "netstandard2.1": ["System.Composition.Runtime"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Composition.Runtime", "id": "System.Composition.Runtime", "version": "10.0.10", "sha512": "sha512-OU44yuMrt7hdqV61A3vh/nY52m1bWR9fUWKI0p8npg3oDggYdicD6RlfxwxOaWR4ZCLIhzuofgKpZdEKTPZFKw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Composition.TypedParts", "id": "System.Composition.TypedParts", "version": "10.0.10", "sha512": "sha512-iSJMibDOvZGigerJF4saJaLQK7piGopzifejMCne4/BmKgmRuMyQ6H/oN9/EGhbMlkr97c1apv62zSCxQke6/w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net462": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net47": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net471": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net472": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net48": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net5.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net6.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net7.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net8.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "net9.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp2.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp2.2": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp3.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netcoreapp3.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"], "netstandard2.1": ["System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Configuration.ConfigurationManager", "id": "System.Configuration.ConfigurationManager", "version": "10.0.10", "sha512": "sha512-MBt+gvvOcB6YDkikO5AB0KzOkxfhVZ9XSR0NU97DaM98b5E/IFTbRdvflYMKZt7x4qIVlsH/x6WMcTRAw4ZyZg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Security.Cryptography.ProtectedData"], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["System.Security.Cryptography.ProtectedData"], "net6.0": ["System.Security.Cryptography.ProtectedData"], "net7.0": ["System.Security.Cryptography.ProtectedData"], "net8.0": ["System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData"], "net9.0": ["System.Diagnostics.EventLog", "System.Security.Cryptography.ProtectedData"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Security.Cryptography.ProtectedData"], "netcoreapp2.1": ["System.Security.Cryptography.ProtectedData"], "netcoreapp2.2": ["System.Security.Cryptography.ProtectedData"], "netcoreapp3.0": ["System.Security.Cryptography.ProtectedData"], "netcoreapp3.1": ["System.Security.Cryptography.ProtectedData"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Security.Cryptography.ProtectedData"], "netstandard2.1": ["System.Security.Cryptography.ProtectedData"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Diagnostics.EventLog", "id": "System.Diagnostics.EventLog", "version": "10.0.10", "sha512": "sha512-+YqSLCCMkPCaJHzywlEEiz663YYzeH+WflcBQndlx3wpj0DlSo0r9ev+9ynv0+jPxcF+/dXyzYAYRTLCS1pIGg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.IO.Pipelines", "id": "System.IO.Pipelines", "version": "10.0.10", "sha512": "sha512-uJchtc574qQrjiemB8P1ChopZAmgr5FOysWQUue0O3OO5KPkTlozvw9Stq/Dvh6cm77FGcmtlLA4VFGZyVC24Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net462": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net47": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net471": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net472": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net48": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net5.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net6.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net7.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netcoreapp3.1": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"], "netstandard2.1": ["System.Buffers", "System.Memory", "System.Threading.Tasks.Extensions"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Memory", "id": "System.Memory", "version": "4.6.3", "sha512": "sha512-NXcNYlWoXe5cz9sb8Huo6x2dCZVYkhwKtgE00n/MoI8V4ZI/7/t+EI5bOhQFlZfFjjqM8+U6prjU/aARt7H/tA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Numerics.Vectors", "id": "System.Numerics.Vectors", "version": "4.6.1", "sha512": "sha512-/rkvpUeUPlCY/2qYVQKiUsj5IKaXZcy2+SQAGAfemAdyEF5AgIgYOFNSTMWDXo09JWFX9HB+wV1yCyi2Mwi3TA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Reflection.Metadata", "id": "System.Reflection.Metadata", "version": "10.0.8", "sha512": "sha512-wWf/RiVz/UVoMqYGr2X5z1wz1uktkIU0E+aGcFbffDNMU0kN3t5j3Yc+/8xC6GvT4+KjXDXumO/3ddS/cln5Pw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Collections.Immutable"], "net462": ["System.Collections.Immutable"], "net47": ["System.Collections.Immutable"], "net471": ["System.Collections.Immutable"], "net472": ["System.Collections.Immutable"], "net48": ["System.Collections.Immutable"], "net5.0": ["System.Collections.Immutable"], "net6.0": ["System.Collections.Immutable"], "net7.0": ["System.Collections.Immutable"], "net8.0": ["System.Collections.Immutable"], "net9.0": ["System.Collections.Immutable"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Collections.Immutable"], "netcoreapp2.1": ["System.Collections.Immutable"], "netcoreapp2.2": ["System.Collections.Immutable"], "netcoreapp3.0": ["System.Collections.Immutable"], "netcoreapp3.1": ["System.Collections.Immutable"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Collections.Immutable"], "netstandard2.1": ["System.Collections.Immutable"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Reflection.MetadataLoadContext", "id": "System.Reflection.MetadataLoadContext", "version": "10.0.8", "sha512": "sha512-YcFpYWsCdnD5vjpskco7E87TD9g6v6nxow1Qu3/XrBlUEulEZOUfTSV5EP7mSSKMYgT3+fJK7zrijCeg+z3w9g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net462": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net47": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net471": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net472": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net48": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net5.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net6.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net7.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net8.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net9.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netcoreapp2.1": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netcoreapp2.2": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netcoreapp3.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netcoreapp3.1": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netstandard2.1": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Reflection.Metadata", "id": "System.Reflection.Metadata", "version": "10.0.10", "sha512": "sha512-YLol8JpRVrJJ+Me1RQlmXztNO7+O+wMp//h/I3hMQO17VtfEroEsHxkgcAkdBBLxes70sW/j31TrwN5eLbkJ7w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Collections.Immutable"], "net462": ["System.Collections.Immutable"], "net47": ["System.Collections.Immutable"], "net471": ["System.Collections.Immutable"], "net472": ["System.Collections.Immutable"], "net48": ["System.Collections.Immutable"], "net5.0": ["System.Collections.Immutable"], "net6.0": ["System.Collections.Immutable"], "net7.0": ["System.Collections.Immutable"], "net8.0": ["System.Collections.Immutable"], "net9.0": ["System.Collections.Immutable"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Collections.Immutable"], "netcoreapp2.1": ["System.Collections.Immutable"], "netcoreapp2.2": ["System.Collections.Immutable"], "netcoreapp3.0": ["System.Collections.Immutable"], "netcoreapp3.1": ["System.Collections.Immutable"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Collections.Immutable"], "netstandard2.1": ["System.Collections.Immutable"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Reflection.MetadataLoadContext", "id": "System.Reflection.MetadataLoadContext", "version": "10.0.10", "sha512": "sha512-u41t/p9hzAhEDJHN0Uhk++V4lxX6nP4EoF85rdd2GQ8PsW7kinHLYH1/Ent6MHDhsAtfOI1atpCuPiPDh4DAgg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net462": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net47": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net471": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net472": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net48": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net5.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net6.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net7.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "net8.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "net9.0": ["System.Collections.Immutable", "System.Reflection.Metadata"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netcoreapp2.1": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netcoreapp2.2": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netcoreapp3.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netcoreapp3.1": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"], "netstandard2.1": ["System.Collections.Immutable", "System.Reflection.Metadata", "System.Memory"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Runtime.CompilerServices.Unsafe", "id": "System.Runtime.CompilerServices.Unsafe", "version": "6.1.2", "sha512": "sha512-t2aXWJZBkAkRrTOnw31OBELKEVSDD5YvC3O5dXaHFsR66/nRTKm1y3Iq6NwFI5u5IlKrWYfdan66V+GKKkY8hQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Security.Cryptography.ProtectedData", "id": "System.Security.Cryptography.ProtectedData", "version": "10.0.8", "sha512": "sha512-LOVSTFOou3ekg+ou98m8tAC591BuTlTqEbSQv34UIjxcU0HvbZ7qLqCXSp/60Cx40Zd0YmeyXTGeARMgSXlWyg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Memory"], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["System.Memory"], "net6.0": ["System.Memory"], "net7.0": ["System.Memory"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Memory"], "netcoreapp2.1": ["System.Memory"], "netcoreapp2.2": ["System.Memory"], "netcoreapp3.0": ["System.Memory"], "netcoreapp3.1": ["System.Memory"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Memory"], "netstandard2.1": ["System.Memory"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Text.Encoding.CodePages", "id": "System.Text.Encoding.CodePages", "version": "10.0.8", "sha512": "sha512-xr2qHdT5yx3IOZ4bMkPY+1CGCIqzBC41kk9AHFvl/R3oNrEns5y4OUz4KRXk0UqY4FjiOXW6PtqdvDbSC2iYsQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "System.Threading.Channels", "id": "System.Threading.Channels", "version": "10.0.8", "sha512": "sha512-DLFQGFJl9TNsW2KansRP+AvSO+HUoV6s8g/d93zw7IbGWm48uC6P0TIdzuJTtwHVwN+oQsQ0ReBdLVr+gL1Eqg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net462": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net47": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net471": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net472": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Security.Cryptography.ProtectedData", "id": "System.Security.Cryptography.ProtectedData", "version": "10.0.10", "sha512": "sha512-K2gtxewwwrGeWxClblSZneULZJ7P4Ln7Icrv5NKsn3ymrqbZTaWESJdNLPIWlUEiMrKoTPAcRlpiPUsFdeiv2w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Memory"], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["System.Memory"], "net6.0": ["System.Memory"], "net7.0": ["System.Memory"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Memory"], "netcoreapp2.1": ["System.Memory"], "netcoreapp2.2": ["System.Memory"], "netcoreapp3.0": ["System.Memory"], "netcoreapp3.1": ["System.Memory"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Memory"], "netstandard2.1": ["System.Memory"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Text.Encoding.CodePages", "id": "System.Text.Encoding.CodePages", "version": "10.0.10", "sha512": "sha512-bFLoXr02I+nK9gfMVVFnbtjAfQ9UlGF271ZyBn89G4XuaphkzIzM+LtEXTAaV1c1/odcTMI3/760LLBXae4AaQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net7.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Threading.Channels", "id": "System.Threading.Channels", "version": "10.0.10", "sha512": "sha512-JJc9VdKP1htQGfLIRyVkrm09SJmmcVHJKEIeMyOxV2jjXEiPZpKQIcu4VZe3FLY86mSayIvlFSiPbhmCUOKGSg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net462": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net47": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net471": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net472": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net48": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Bcl.AsyncInterfaces", "System.Threading.Tasks.Extensions"], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Threading.Tasks.Extensions", "id": "System.Threading.Tasks.Extensions", "version": "4.6.3", "sha512": "sha512-zWRHXIBnbfzQE1SamNoW9X5NjEcW/JNAtvVxGKd3bcg71wQVmoI3pDq+WUa2A+temXSNCm7707hmAFwwcYlK0A==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Runtime.CompilerServices.Unsafe"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "xunit", "id": "xunit", "version": "2.9.3", "sha512": "sha512-3/ayVPC7NQWQENR5REbOgXYsbhoJsmpnxQa5pO4lxbjGbckOs62nsm4kLErzc8ng7V5Xz08uwVjMqaZGJiXCrg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net11": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net20": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net30": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net35": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net40": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net403": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net45": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net451": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net452": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net46": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net461": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net462": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net47": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net471": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net472": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net48": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net5.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net6.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net7.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net8.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "net9.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp1.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp1.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp2.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp2.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp2.2": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp3.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netcoreapp3.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.1": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.2": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.3": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.4": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.5": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard1.6": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard2.0": ["xunit.core", "xunit.assert", "xunit.analyzers"], "netstandard2.1": ["xunit.core", "xunit.assert", "xunit.analyzers"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "xunit.abstractions", "id": "xunit.abstractions", "version": "2.0.3", "sha512": "sha512-PKJri5f0qEQPFvgY6CZR9XG8JROlWSdC/ZYLkkDQuID++Egn+yWjB+Yf57AZ8U6GRlP7z33uDQ4/r5BZPer2JA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, From 7e3c1443a92539f5c1ec3000dac2de3f7adbd44d Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 11 Aug 2026 13:05:46 +0200 Subject: [PATCH 148/190] Java: Update test expectations --- java/ql/test/utils/modelgenerator/dataflow/p/Joiner.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/java/ql/test/utils/modelgenerator/dataflow/p/Joiner.java b/java/ql/test/utils/modelgenerator/dataflow/p/Joiner.java index ffe68e6722db..6412d1293b9d 100644 --- a/java/ql/test/utils/modelgenerator/dataflow/p/Joiner.java +++ b/java/ql/test/utils/modelgenerator/dataflow/p/Joiner.java @@ -82,6 +82,7 @@ public String toString() { } // heuristic-summary=p;Joiner;false;add;(CharSequence);;Argument[this];ReturnValue;value;df-generated + // heuristic-summary=p;Joiner;false;add;(CharSequence);;Argument[0];Argument[this];taint;df-generated // contentbased-summary=p;Joiner;false;add;(CharSequence);;Argument[this];ReturnValue;value;dfc-generated // MISSING content based summaries for "elts". This could be a synthetic field. public Joiner add(CharSequence newElement) { @@ -107,6 +108,7 @@ private int checkAddLength(int oldLen, int inc) { } // heuristic-summary=p;Joiner;false;merge;(Joiner);;Argument[this];ReturnValue;value;df-generated + // heuristic-summary=p;Joiner;false;merge;(Joiner);;Argument[0];Argument[this];taint;df-generated // contentbased-summary=p;Joiner;false;merge;(Joiner);;Argument[this];ReturnValue;value;dfc-generated // MISSING content based summaries for "elts". This could be a synthetic field. public Joiner merge(Joiner other) { From f4b041e8e374960edf284a75557c9e3f97a4710b Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 11 Aug 2026 13:12:09 +0200 Subject: [PATCH 149/190] Ruby: Add change note. --- ruby/ql/lib/change-notes/2026-08-11-regex-tracking.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 ruby/ql/lib/change-notes/2026-08-11-regex-tracking.md diff --git a/ruby/ql/lib/change-notes/2026-08-11-regex-tracking.md b/ruby/ql/lib/change-notes/2026-08-11-regex-tracking.md new file mode 100644 index 000000000000..f0310bdf3775 --- /dev/null +++ b/ruby/ql/lib/change-notes/2026-08-11-regex-tracking.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The algorithm for tracking regexes has been replaced. This can cause result changes in related queries, for example, `rb/polynomial-redos`. From 9db7db17ef72a803043f1e2916ce01c1b2ffcb27 Mon Sep 17 00:00:00 2001 From: Matin Zadeh Dolatabad <24797481+matinzd@users.noreply.github.com> Date: Mon, 10 Aug 2026 13:02:36 +0200 Subject: [PATCH 150/190] Add React Native Reanimated worklet directive as KnownDirective --- javascript/ql/lib/semmle/javascript/Stmt.qll | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/javascript/ql/lib/semmle/javascript/Stmt.qll b/javascript/ql/lib/semmle/javascript/Stmt.qll index 6a757cc1d6ca..94aac3ade6b1 100644 --- a/javascript/ql/lib/semmle/javascript/Stmt.qll +++ b/javascript/ql/lib/semmle/javascript/Stmt.qll @@ -475,6 +475,21 @@ module Directive { class UseCacheDirective extends KnownDirective { UseCacheDirective() { this.getDirectiveText().regexpMatch("use cache(:.*)?") } } + + /** + * A React Native Reanimated worklet directive. + * + * Example: + * + * ``` + * function myWorklet() { + * "worklet"; + * } + * ``` + */ + class WorkletDirective extends KnownDirective { + WorkletDirective() { this.getDirectiveText() = "worklet" } + } } /** From b71f9e84fe0c3e71d7c7eff15476f56a542e06c7 Mon Sep 17 00:00:00 2001 From: Matin Zadeh Dolatabad <24797481+matinzd@users.noreply.github.com> Date: Mon, 10 Aug 2026 13:04:09 +0200 Subject: [PATCH 151/190] test: update --- javascript/ql/test/library-tests/Directives/tst.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/javascript/ql/test/library-tests/Directives/tst.js b/javascript/ql/test/library-tests/Directives/tst.js index 7c7676322a4a..30a0772a610e 100644 --- a/javascript/ql/test/library-tests/Directives/tst.js +++ b/javascript/ql/test/library-tests/Directives/tst.js @@ -1,6 +1,7 @@ 'use strict'; // this is a directive 'use asm'; // and so is this 'bundle';// and this +'worklet'; 'use server'; 'use client'; 'use memo'; @@ -18,6 +19,7 @@ function f() { 'use\x20strict'; // this is a directive, though not a strict mode directive 'use asm'; // and so is this 'bundle'; + 'worklet'; 'use server'; 'use client'; 'use memo'; From 0611639a63eb687f95a9cd57368da841684d6afd Mon Sep 17 00:00:00 2001 From: matinzd <24797481+matinzd@users.noreply.github.com> Date: Mon, 10 Aug 2026 13:19:17 +0200 Subject: [PATCH 152/190] chore: update test snapshot --- .../2026-08-10-worklet-directive.md | 5 +++ javascript/ql/lib/semmle/javascript/Stmt.qll | 2 +- .../Directives/KnownDirective.expected | 36 ++++++++++--------- 3 files changed, 25 insertions(+), 18 deletions(-) create mode 100644 javascript/ql/lib/change-notes/2026-08-10-worklet-directive.md diff --git a/javascript/ql/lib/change-notes/2026-08-10-worklet-directive.md b/javascript/ql/lib/change-notes/2026-08-10-worklet-directive.md new file mode 100644 index 000000000000..c596f14e9abe --- /dev/null +++ b/javascript/ql/lib/change-notes/2026-08-10-worklet-directive.md @@ -0,0 +1,5 @@ +--- +category: feature +--- + +- Added support for recognizing the React Native Worklets `"worklet"` directive as a known directive. diff --git a/javascript/ql/lib/semmle/javascript/Stmt.qll b/javascript/ql/lib/semmle/javascript/Stmt.qll index 94aac3ade6b1..cedc3da2e8cb 100644 --- a/javascript/ql/lib/semmle/javascript/Stmt.qll +++ b/javascript/ql/lib/semmle/javascript/Stmt.qll @@ -477,7 +477,7 @@ module Directive { } /** - * A React Native Reanimated worklet directive. + * A React Native Worklets worklet directive. * * Example: * diff --git a/javascript/ql/test/library-tests/Directives/KnownDirective.expected b/javascript/ql/test/library-tests/Directives/KnownDirective.expected index 065c0954f747..89efb1e24dcd 100644 --- a/javascript/ql/test/library-tests/Directives/KnownDirective.expected +++ b/javascript/ql/test/library-tests/Directives/KnownDirective.expected @@ -1,20 +1,22 @@ | tst.js:1:1:1:13 | 'use strict'; | use strict | | tst.js:2:1:2:10 | 'use asm'; | use asm | | tst.js:3:1:3:9 | 'bundle'; | bundle | -| tst.js:4:1:4:13 | 'use server'; | use server | -| tst.js:5:1:5:13 | 'use client'; | use client | -| tst.js:6:1:6:11 | 'use memo'; | use memo | -| tst.js:7:1:7:14 | 'use no memo'; | use no memo | -| tst.js:8:1:8:12 | 'use cache'; | use cache | -| tst.js:9:1:9:20 | 'use cache: remote'; | use cache: remote | -| tst.js:10:1:10:21 | 'use ca ... ivate'; | use cache: private | -| tst.js:19:3:19:12 | 'use asm'; | use asm | -| tst.js:20:3:20:11 | 'bundle'; | bundle | -| tst.js:21:3:21:15 | 'use server'; | use server | -| tst.js:22:3:22:15 | 'use client'; | use client | -| tst.js:23:3:23:13 | 'use memo'; | use memo | -| tst.js:24:3:24:16 | 'use no memo'; | use no memo | -| tst.js:25:3:25:14 | 'use cache'; | use cache | -| tst.js:26:3:26:22 | 'use cache: remote'; | use cache: remote | -| tst.js:27:3:27:23 | 'use ca ... ivate'; | use cache: private | -| tst.js:34:5:34:17 | 'use strict'; | use strict | +| tst.js:4:1:4:10 | 'worklet'; | worklet | +| tst.js:5:1:5:13 | 'use server'; | use server | +| tst.js:6:1:6:13 | 'use client'; | use client | +| tst.js:7:1:7:11 | 'use memo'; | use memo | +| tst.js:8:1:8:14 | 'use no memo'; | use no memo | +| tst.js:9:1:9:12 | 'use cache'; | use cache | +| tst.js:10:1:10:20 | 'use cache: remote'; | use cache: remote | +| tst.js:11:1:11:21 | 'use ca ... ivate'; | use cache: private | +| tst.js:20:3:20:12 | 'use asm'; | use asm | +| tst.js:21:3:21:11 | 'bundle'; | bundle | +| tst.js:22:3:22:12 | 'worklet'; | worklet | +| tst.js:23:3:23:15 | 'use server'; | use server | +| tst.js:24:3:24:15 | 'use client'; | use client | +| tst.js:25:3:25:13 | 'use memo'; | use memo | +| tst.js:26:3:26:16 | 'use no memo'; | use no memo | +| tst.js:27:3:27:14 | 'use cache'; | use cache | +| tst.js:28:3:28:22 | 'use cache: remote'; | use cache: remote | +| tst.js:29:3:29:23 | 'use ca ... ivate'; | use cache: private | +| tst.js:36:5:36:17 | 'use strict'; | use strict | From db708d4a804086f8ef4b17ea112431b839391f12 Mon Sep 17 00:00:00 2001 From: Keshav Malik Date: Wed, 12 Aug 2026 00:33:09 +0530 Subject: [PATCH 153/190] Recognize RequireAntiforgeryToken attributes --- .../MissingAntiForgeryTokenValidation.ql | 80 +++++++- .../2026-08-09-require-antiforgery-token.md | 4 + .../MissingAntiForgeryTokenValidation.cs | 27 +++ ...MissingAntiForgeryTokenValidation.expected | 0 .../MissingAntiForgeryTokenValidation.qlref | 1 + .../disabled-require-antiforgery/options | 2 + .../MissingAntiForgeryTokenValidation.cs | 175 ++++++++++++++++++ ...MissingAntiForgeryTokenValidation.expected | 10 +- .../MissingAntiForgeryTokenValidation.cs | 19 ++ ...MissingAntiForgeryTokenValidation.expected | 1 + .../MissingAntiForgeryTokenValidation.qlref | 1 + .../options | 2 + 12 files changed, 318 insertions(+), 4 deletions(-) create mode 100644 csharp/ql/src/change-notes/2026-08-09-require-antiforgery-token.md create mode 100644 csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/MissingAntiForgeryTokenValidation.cs create mode 100644 csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/MissingAntiForgeryTokenValidation.expected create mode 100644 csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/MissingAntiForgeryTokenValidation.qlref create mode 100644 csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/options create mode 100644 csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.cs create mode 100644 csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.expected create mode 100644 csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.qlref create mode 100644 csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/options diff --git a/csharp/ql/src/Security Features/CWE-352/MissingAntiForgeryTokenValidation.ql b/csharp/ql/src/Security Features/CWE-352/MissingAntiForgeryTokenValidation.ql index 60a022d43d0f..a1cb7f9f506a 100644 --- a/csharp/ql/src/Security Features/CWE-352/MissingAntiForgeryTokenValidation.ql +++ b/csharp/ql/src/Security Features/CWE-352/MissingAntiForgeryTokenValidation.ql @@ -51,6 +51,80 @@ predicate hasGlobalAntiForgeryFilter() { ) } +private class RequireAntiforgeryTokenAttribute extends Attribute { + RequireAntiforgeryTokenAttribute() { + this.getType() + .hasFullyQualifiedName("Microsoft.AspNetCore.Antiforgery", + "RequireAntiforgeryTokenAttribute") + } + + predicate requiresValidation() { + not exists(this.getArgument(0)) + or + this.getArgument(0).isImplicit() + or + this.getArgument(0).getValue() = "true" + } +} + +private predicate hasAspNetCoreAntiForgeryMiddleware() { + exists(MethodCall call | + call.getTarget() + .hasFullyQualifiedName("Microsoft.AspNetCore.Builder", + "AntiforgeryApplicationBuilderExtensions", "UseAntiforgery") + ) +} + +bindingset[method] +private RequireAntiforgeryTokenAttribute getEffectiveRequireAntiforgeryTokenAttributeOnMethod( + Method method +) { + exists(Method attributedMethod | + attributedMethod = method.getOverridee*() and + result = attributedMethod.getAnAttribute() and + not exists(Method closerMethod | + closerMethod = method.getOverridee*() and + closerMethod.getOverridee+() = attributedMethod and + closerMethod.getAnAttribute() instanceof RequireAntiforgeryTokenAttribute + ) + ) +} + +bindingset[controller] +private RequireAntiforgeryTokenAttribute getEffectiveRequireAntiforgeryTokenAttributeOnClass( + Class controller +) { + exists(Class attributedClass | + attributedClass = controller.getBaseClass*() and + result = attributedClass.getAnAttribute() and + not exists(Class closerClass | + closerClass = controller.getBaseClass*() and + closerClass.getBaseClass+() = attributedClass and + closerClass.getAnAttribute() instanceof RequireAntiforgeryTokenAttribute + ) + ) +} + +bindingset[controller, method] +private RequireAntiforgeryTokenAttribute getEffectiveRequireAntiforgeryTokenAttribute( + Class controller, Method method +) { + result = getEffectiveRequireAntiforgeryTokenAttributeOnMethod(method) + or + not exists(getEffectiveRequireAntiforgeryTokenAttributeOnMethod(method)) and + result = getEffectiveRequireAntiforgeryTokenAttributeOnClass(controller) +} + +bindingset[controller, method] +private predicate hasAspNetCoreAntiForgeryValidation(Class controller, Method method) { + method.getAnAttribute() instanceof AspNetCore::ValidateAntiForgeryAttribute + or + controller.getABaseType*().getAnAttribute() instanceof AspNetCore::ValidateAntiForgeryAttribute + or + hasAspNetCoreAntiForgeryMiddleware() and + getEffectiveRequireAntiforgeryTokenAttribute(controller, method).requiresValidation() +} + predicate isUnvalidatedPostMethod(Class c, Method m) { c.(Controller).getAPostActionMethod() = m and not m.getAnAttribute() instanceof ValidateAntiForgeryTokenAttribute and @@ -58,14 +132,16 @@ predicate isUnvalidatedPostMethod(Class c, Method m) { or c.(AspNetCore::MicrosoftAspNetCoreMvcController).getAnActionMethod() = m and m.getAnAttribute() instanceof AspNetCore::MicrosoftAspNetCoreMvcHttpPostAttribute and - not m.getAnAttribute() instanceof AspNetCore::ValidateAntiForgeryAttribute and - not c.getABaseType*().getAnAttribute() instanceof AspNetCore::ValidateAntiForgeryAttribute + not hasAspNetCoreAntiForgeryValidation(c, m) } Element getAValidatedElement() { any(ValidateAntiForgeryTokenAttribute a).getTarget() = result or any(AspNetCore::ValidateAntiForgeryAttribute a).getTarget() = result + or + hasAspNetCoreAntiForgeryMiddleware() and + any(RequireAntiforgeryTokenAttribute a | a.requiresValidation()).getTarget() = result } from Class c, Method postMethod diff --git a/csharp/ql/src/change-notes/2026-08-09-require-antiforgery-token.md b/csharp/ql/src/change-notes/2026-08-09-require-antiforgery-token.md new file mode 100644 index 000000000000..ce1b6e9418fe --- /dev/null +++ b/csharp/ql/src/change-notes/2026-08-09-require-antiforgery-token.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The `cs/web/missing-token-validation` query now recognizes enabled ASP.NET Core `RequireAntiforgeryToken` attributes when antiforgery middleware is used. diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/MissingAntiForgeryTokenValidation.cs b/csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/MissingAntiForgeryTokenValidation.cs new file mode 100644 index 000000000000..32a6e8326555 --- /dev/null +++ b/csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/MissingAntiForgeryTokenValidation.cs @@ -0,0 +1,27 @@ +using Microsoft.AspNetCore.Antiforgery; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Mvc; + +public class HomeController : Controller +{ + [HttpPost] + [RequireAntiforgeryToken(false)] + public ActionResult DisabledValidation() + { + return View(); + } + + [HttpPost] + public ActionResult MissingValidation() + { + return View(); + } +} + +public class Startup +{ + public void Configure(IApplicationBuilder app) + { + app.UseAntiforgery(); + } +} diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/MissingAntiForgeryTokenValidation.expected b/csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/MissingAntiForgeryTokenValidation.expected new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/MissingAntiForgeryTokenValidation.qlref b/csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/MissingAntiForgeryTokenValidation.qlref new file mode 100644 index 000000000000..5e1ab2426c65 --- /dev/null +++ b/csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/MissingAntiForgeryTokenValidation.qlref @@ -0,0 +1 @@ +query: Security Features/CWE-352/MissingAntiForgeryTokenValidation.ql diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/options b/csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/options new file mode 100644 index 000000000000..698ad488b6d4 --- /dev/null +++ b/csharp/ql/test/query-tests/Security Features/CWE-352/disabled-require-antiforgery/options @@ -0,0 +1,2 @@ +semmle-extractor-options: /nostdlib /noconfig +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/missing-aspnetcore/MissingAntiForgeryTokenValidation.cs b/csharp/ql/test/query-tests/Security Features/CWE-352/missing-aspnetcore/MissingAntiForgeryTokenValidation.cs index febc12a61255..123ac0f7ec26 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-352/missing-aspnetcore/MissingAntiForgeryTokenValidation.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-352/missing-aspnetcore/MissingAntiForgeryTokenValidation.cs @@ -1,7 +1,12 @@ using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Antiforgery; +using Microsoft.AspNetCore.Builder; public class HomeController : Controller { + private const bool ValidationEnabled = true; + private const bool ValidationDisabled = false; + // BAD: Anti forgery token has been forgotten [HttpPost] public ActionResult Login() // $ Alert @@ -17,6 +22,46 @@ public ActionResult UpdateDetails() return View(); } + // GOOD: Anti forgery token is required by ASP.NET Core middleware + [HttpPost] + [RequireAntiforgeryToken] + public ActionResult UpdateProfile() + { + return View(); + } + + // GOOD: Explicitly requires anti forgery validation + [HttpPost] + [RequireAntiforgeryToken(true)] + public ActionResult UpdatePreferences() + { + return View(); + } + + // GOOD: Named and constant arguments are supported + [HttpPost] + [RequireAntiforgeryToken(required: ValidationEnabled)] + public ActionResult UpdateSettings() + { + return View(); + } + + // BAD: Explicitly disables anti forgery validation + [HttpPost] + [RequireAntiforgeryToken(false)] + public ActionResult DisabledValidation() // $ Alert + { + return View(); + } + + // BAD: A false constant also disables anti forgery validation + [HttpPost] + [RequireAntiforgeryToken(ValidationDisabled)] + public ActionResult ConstantDisabledValidation() // $ Alert + { + return View(); + } + // No validation required, as this is a GET method. public ActionResult ShowHelp() { @@ -46,6 +91,110 @@ public ActionResult InheritedValidation() } } +// GOOD: Base class requires anti forgery validation +[RequireAntiforgeryToken] +public abstract class AntiforgeryBaseController : Controller +{ +} + +public abstract class IntermediateAntiforgeryController : AntiforgeryBaseController +{ +} + +public class DerivedAntiforgeryController : IntermediateAntiforgeryController +{ + [HttpPost] + public ActionResult InheritedRequiredValidation() + { + return View(); + } +} + +[RequireAntiforgeryToken] +public class ProtectedController : Controller +{ + // GOOD: Controller requires anti forgery validation + [HttpPost] + public ActionResult ProtectedAction() + { + return View(); + } + + // BAD: Action-level metadata overrides the controller metadata + [HttpPost] + [RequireAntiforgeryToken(false)] + public ActionResult DisabledAction() // $ Alert + { + return View(); + } +} + +[RequireAntiforgeryToken(false)] +public class DisabledController : Controller +{ + // BAD: Controller explicitly disables anti forgery validation + [HttpPost] + public ActionResult DisabledControllerAction() // $ Alert + { + return View(); + } + + // GOOD: Action-level metadata overrides the controller metadata + [HttpPost] + [RequireAntiforgeryToken(true)] + public ActionResult EnabledAction() + { + return View(); + } +} + +[RequireAntiforgeryToken] +public abstract class ProtectedBaseController : Controller +{ +} + +[RequireAntiforgeryToken(false)] +public class DisabledDerivedController : ProtectedBaseController +{ + // BAD: Derived controller metadata overrides base controller metadata + [HttpPost] + public ActionResult DisabledInheritedAction() // $ Alert + { + return View(); + } +} + +[AutoValidateAntiforgeryToken] +public class FilterProtectedController : Controller +{ + // GOOD: Disabled middleware metadata does not disable the MVC filter + [HttpPost] + [RequireAntiforgeryToken(false)] + public ActionResult FilterProtectedAction() + { + return View(); + } +} + +public abstract class MethodMetadataBaseController : Controller +{ + [RequireAntiforgeryToken] + public virtual ActionResult InheritedMethodValidation() + { + return View(); + } +} + +public class MethodMetadataController : MethodMetadataBaseController +{ + // GOOD: Method metadata is inherited by the override + [HttpPost] + public override ActionResult InheritedMethodValidation() + { + return View(); + } +} + // BAD: Base class without antiforgery attribute public abstract class UnprotectedBaseController : Controller { @@ -60,3 +209,29 @@ public ActionResult NoInheritedValidation() // $ Alert return View(); } } + +namespace Custom +{ + public class RequireAntiforgeryTokenAttribute : System.Attribute + { + } + + public class CustomAttributeController : Controller + { + // BAD: An unrelated attribute with the same name does not provide validation + [HttpPost] + [RequireAntiforgeryToken] + public ActionResult LookalikeAttribute() // $ Alert + { + return View(); + } + } +} + +public class Startup +{ + public void Configure(IApplicationBuilder app) + { + app.UseAntiforgery(); + } +} diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/missing-aspnetcore/MissingAntiForgeryTokenValidation.expected b/csharp/ql/test/query-tests/Security Features/CWE-352/missing-aspnetcore/MissingAntiForgeryTokenValidation.expected index 360b909cd0fa..ceb32e94c984 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-352/missing-aspnetcore/MissingAntiForgeryTokenValidation.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-352/missing-aspnetcore/MissingAntiForgeryTokenValidation.expected @@ -1,2 +1,8 @@ -| MissingAntiForgeryTokenValidation.cs:7:25:7:29 | Login | Method 'Login' handles a POST request without performing CSRF token validation. | -| MissingAntiForgeryTokenValidation.cs:58:25:58:45 | NoInheritedValidation | Method 'NoInheritedValidation' handles a POST request without performing CSRF token validation. | +| MissingAntiForgeryTokenValidation.cs:12:25:12:29 | Login | Method 'Login' handles a POST request without performing CSRF token validation. | +| MissingAntiForgeryTokenValidation.cs:52:25:52:42 | DisabledValidation | Method 'DisabledValidation' handles a POST request without performing CSRF token validation. | +| MissingAntiForgeryTokenValidation.cs:60:25:60:50 | ConstantDisabledValidation | Method 'ConstantDisabledValidation' handles a POST request without performing CSRF token validation. | +| MissingAntiForgeryTokenValidation.cs:126:25:126:38 | DisabledAction | Method 'DisabledAction' handles a POST request without performing CSRF token validation. | +| MissingAntiForgeryTokenValidation.cs:137:25:137:48 | DisabledControllerAction | Method 'DisabledControllerAction' handles a POST request without performing CSRF token validation. | +| MissingAntiForgeryTokenValidation.cs:161:25:161:47 | DisabledInheritedAction | Method 'DisabledInheritedAction' handles a POST request without performing CSRF token validation. | +| MissingAntiForgeryTokenValidation.cs:207:25:207:45 | NoInheritedValidation | Method 'NoInheritedValidation' handles a POST request without performing CSRF token validation. | +| MissingAntiForgeryTokenValidation.cs:224:29:224:46 | LookalikeAttribute | Method 'LookalikeAttribute' handles a POST request without performing CSRF token validation. | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.cs b/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.cs new file mode 100644 index 000000000000..9943c21aff3f --- /dev/null +++ b/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.cs @@ -0,0 +1,19 @@ +using Microsoft.AspNetCore.Antiforgery; +using Microsoft.AspNetCore.Mvc; + +public class HomeController : Controller +{ + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult FilterValidated() + { + return View(); + } + + [HttpPost] + [RequireAntiforgeryToken] + public ActionResult MetadataWithoutMiddleware() // $ Alert + { + return View(); + } +} diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.expected b/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.expected new file mode 100644 index 000000000000..2b5360166026 --- /dev/null +++ b/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.expected @@ -0,0 +1 @@ +| MissingAntiForgeryTokenValidation.cs:15:25:15:49 | MetadataWithoutMiddleware | Method 'MetadataWithoutMiddleware' handles a POST request without performing CSRF token validation. | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.qlref b/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.qlref new file mode 100644 index 000000000000..5e1ab2426c65 --- /dev/null +++ b/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/MissingAntiForgeryTokenValidation.qlref @@ -0,0 +1 @@ +query: Security Features/CWE-352/MissingAntiForgeryTokenValidation.ql diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/options b/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/options new file mode 100644 index 000000000000..698ad488b6d4 --- /dev/null +++ b/csharp/ql/test/query-tests/Security Features/CWE-352/require-antiforgery-without-middleware/options @@ -0,0 +1,2 @@ +semmle-extractor-options: /nostdlib /noconfig +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj From 6b3afee892607c029b494e12cd7207d87019bca7 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 11 Aug 2026 13:57:33 +0200 Subject: [PATCH 154/190] Data flow: Earlier pruning based on `accessPathLimit` --- .../codeql/dataflow/internal/DataFlowImpl.qll | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 3af6b9eab99a..806b4d5a2413 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -561,6 +561,21 @@ module MakeImpl Lang> { ) } + pragma[nomagic] + private int getAnApLengthLowerBound(Ap ap) { + accessPathLimit() > 1 and // `accessPathLimit() <= 1` is already checked in stages 1 and 2 + ap instanceof ApNil and + result = 0 + or + exists(Content c, Ap tail | + ap = apCons(c, tail) and + fwdFlowConsCand(_, ap, c, _, tail) and + ap != tail and // no need to report a longer length + result = 1 + getAnApLengthLowerBound(tail) and + result <= accessPathLimit() + ) + } + pragma[nomagic] private predicate fwdFlow0( Nd node, Cc cc, SummaryCtx summaryCtx, Typ t, Ap ap, ApApprox apa, TypOption stored @@ -594,7 +609,10 @@ module MakeImpl Lang> { exists(Content c, Ap ap0 | fwdFlowStore(_, _, ap0, _, c, t, stored, node, cc, summaryCtx) and ap = apCons(c, ap0) and - apa = getApprox(ap) + apa = getApprox(ap) and + if accessPathLimit() > 1 + then getAnApLengthLowerBound(ap0) < accessPathLimit() + else any() ) or // read @@ -1320,6 +1338,20 @@ module MakeImpl Lang> { fwdFlow(node, _, _, _, ap, _) } + pragma[nomagic] + private int getAnApLengthLowerBoundRev(Ap ap) { + accessPathLimit() > 1 and // `accessPathLimit() <= 1` is already checked in stages 1 and 2 + ap instanceof ApNil and + result = 0 + or + exists(Ap tail | + revFlowConsCand(ap, _, tail) and + ap != tail and // no need to report a longer length + result = 1 + getAnApLengthLowerBoundRev(tail) and + result <= accessPathLimit() + ) + } + pragma[nomagic] private predicate revFlow0(Nd node, ReturnCtx returnCtx, ApOption returnAp, Ap ap) { fwdFlow(node, _, any(SummaryCtx sinkCtx | sinkCtx.isASinkCtx()), _, ap, _) and @@ -1356,7 +1388,10 @@ module MakeImpl Lang> { // read exists(Nd mid, Ap ap0 | revFlow(mid, returnCtx, returnAp, ap0) and - readStepFwd(node, ap, _, mid, ap0) + readStepFwd(node, ap, _, mid, ap0) and + if accessPathLimit() > 1 + then getAnApLengthLowerBoundRev(ap0) < accessPathLimit() + else any() ) or // flow into a callable From d3062fd35b24078e55a7ed4683d44a4aa19c7326 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 12 Aug 2026 14:09:50 +0100 Subject: [PATCH 155/190] Remove agent instructions to not edit QL --- .github/instructions/ql-files.instructions.md | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .github/instructions/ql-files.instructions.md diff --git a/.github/instructions/ql-files.instructions.md b/.github/instructions/ql-files.instructions.md deleted file mode 100644 index 4d331807e06e..000000000000 --- a/.github/instructions/ql-files.instructions.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -applyTo: "**/*.ql,**/*.qll" ---- -When reviewing these QL files, do not make any comment on the code itself. You don't understand the QL programming language well enough yet. You can only make comments about the following aspects: -* comments (lines starting with `//` or block comments enclosed in `/* ... */`): you can suggest improvements to the clarity of comments, or point out spelling mistakes -* typos in identifiers From d12e9dc2aad6c19c767cb723c24c132a715e8e5e Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Wed, 12 Aug 2026 15:40:11 +0200 Subject: [PATCH 156/190] Java: gate AGP-7.x Android integration tests off linux-arm64 These integration tests build an Android app via the Android Gradle Plugin (AGP), which downloads Google's prebuilt `aapt2` from Maven. The pinned AGP `7.0.0` and `7.3.1` ship no linux-aarch64 `aapt2`, so on linux-arm64 the build fails at AAPT2 daemon startup and database creation aborts. macOS arm64 is unaffected, as it uses its own `aapt2`. This is a third-party tool gap rather than anything specific to the extractor, and bumping AGP is out of scope since each test's expected output is coupled to the exact AGP and Gradle versions. Following the `java-version-too-old` precedent, gate these tests with `@(runs_on.x86_64 or runs_on.macos)` so they deselect on linux-arm64 while continuing to run on x86_64 and macOS arm64. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../android-sample-kotlin-build-script-no-wrapper/test.py | 5 +++++ .../java/android-sample-kotlin-build-script/test.py | 5 +++++ .../integration-tests/java/android-sample-no-wrapper/test.py | 5 +++++ .../test.py | 5 +++++ .../android-sample-old-style-kotlin-build-script/test.py | 5 +++++ .../java/android-sample-old-style-no-wrapper/test.py | 5 +++++ .../integration-tests/java/android-sample-old-style/test.py | 5 +++++ java/ql/integration-tests/java/android-sample/test.py | 5 +++++ 8 files changed, 40 insertions(+) diff --git a/java/ql/integration-tests/java/android-sample-kotlin-build-script-no-wrapper/test.py b/java/ql/integration-tests/java/android-sample-kotlin-build-script-no-wrapper/test.py index 67b5dde772eb..7eaea2c2d368 100644 --- a/java/ql/integration-tests/java/android-sample-kotlin-build-script-no-wrapper/test.py +++ b/java/ql/integration-tests/java/android-sample-kotlin-build-script-no-wrapper/test.py @@ -1,2 +1,7 @@ +import runs_on + + +# This Android Gradle Plugin version ships no linux-aarch64 aapt2, so the build fails on linux-arm64 (macOS arm64 works). +@(runs_on.x86_64 or runs_on.macos) def test(codeql, use_java_17, java, android_sdk): codeql.database.create() diff --git a/java/ql/integration-tests/java/android-sample-kotlin-build-script/test.py b/java/ql/integration-tests/java/android-sample-kotlin-build-script/test.py index d3399e414e61..cefeb2c86df4 100644 --- a/java/ql/integration-tests/java/android-sample-kotlin-build-script/test.py +++ b/java/ql/integration-tests/java/android-sample-kotlin-build-script/test.py @@ -1,2 +1,7 @@ +import runs_on + + +# This Android Gradle Plugin version ships no linux-aarch64 aapt2, so the build fails on linux-arm64 (macOS arm64 works). +@(runs_on.x86_64 or runs_on.macos) def test(codeql, use_java_11, java, gradle_7_4, android_sdk): codeql.database.create() diff --git a/java/ql/integration-tests/java/android-sample-no-wrapper/test.py b/java/ql/integration-tests/java/android-sample-no-wrapper/test.py index 67b5dde772eb..7eaea2c2d368 100644 --- a/java/ql/integration-tests/java/android-sample-no-wrapper/test.py +++ b/java/ql/integration-tests/java/android-sample-no-wrapper/test.py @@ -1,2 +1,7 @@ +import runs_on + + +# This Android Gradle Plugin version ships no linux-aarch64 aapt2, so the build fails on linux-arm64 (macOS arm64 works). +@(runs_on.x86_64 or runs_on.macos) def test(codeql, use_java_17, java, android_sdk): codeql.database.create() diff --git a/java/ql/integration-tests/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.py b/java/ql/integration-tests/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.py index 5730f55d9819..4544feb39fcb 100644 --- a/java/ql/integration-tests/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.py +++ b/java/ql/integration-tests/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.py @@ -1,2 +1,7 @@ +import runs_on + + +# This Android Gradle Plugin version ships no linux-aarch64 aapt2, so the build fails on linux-arm64 (macOS arm64 works). +@(runs_on.x86_64 or runs_on.macos) def test(codeql, use_java_17, java, android_sdk, actions_toolchains_file): codeql.database.create(_env={"LGTM_INDEX_MAVEN_TOOLCHAINS_FILE": str(actions_toolchains_file)}) diff --git a/java/ql/integration-tests/java/android-sample-old-style-kotlin-build-script/test.py b/java/ql/integration-tests/java/android-sample-old-style-kotlin-build-script/test.py index d3399e414e61..cefeb2c86df4 100644 --- a/java/ql/integration-tests/java/android-sample-old-style-kotlin-build-script/test.py +++ b/java/ql/integration-tests/java/android-sample-old-style-kotlin-build-script/test.py @@ -1,2 +1,7 @@ +import runs_on + + +# This Android Gradle Plugin version ships no linux-aarch64 aapt2, so the build fails on linux-arm64 (macOS arm64 works). +@(runs_on.x86_64 or runs_on.macos) def test(codeql, use_java_11, java, gradle_7_4, android_sdk): codeql.database.create() diff --git a/java/ql/integration-tests/java/android-sample-old-style-no-wrapper/test.py b/java/ql/integration-tests/java/android-sample-old-style-no-wrapper/test.py index 5730f55d9819..4544feb39fcb 100644 --- a/java/ql/integration-tests/java/android-sample-old-style-no-wrapper/test.py +++ b/java/ql/integration-tests/java/android-sample-old-style-no-wrapper/test.py @@ -1,2 +1,7 @@ +import runs_on + + +# This Android Gradle Plugin version ships no linux-aarch64 aapt2, so the build fails on linux-arm64 (macOS arm64 works). +@(runs_on.x86_64 or runs_on.macos) def test(codeql, use_java_17, java, android_sdk, actions_toolchains_file): codeql.database.create(_env={"LGTM_INDEX_MAVEN_TOOLCHAINS_FILE": str(actions_toolchains_file)}) diff --git a/java/ql/integration-tests/java/android-sample-old-style/test.py b/java/ql/integration-tests/java/android-sample-old-style/test.py index d3399e414e61..cefeb2c86df4 100644 --- a/java/ql/integration-tests/java/android-sample-old-style/test.py +++ b/java/ql/integration-tests/java/android-sample-old-style/test.py @@ -1,2 +1,7 @@ +import runs_on + + +# This Android Gradle Plugin version ships no linux-aarch64 aapt2, so the build fails on linux-arm64 (macOS arm64 works). +@(runs_on.x86_64 or runs_on.macos) def test(codeql, use_java_11, java, gradle_7_4, android_sdk): codeql.database.create() diff --git a/java/ql/integration-tests/java/android-sample/test.py b/java/ql/integration-tests/java/android-sample/test.py index d3399e414e61..cefeb2c86df4 100644 --- a/java/ql/integration-tests/java/android-sample/test.py +++ b/java/ql/integration-tests/java/android-sample/test.py @@ -1,2 +1,7 @@ +import runs_on + + +# This Android Gradle Plugin version ships no linux-aarch64 aapt2, so the build fails on linux-arm64 (macOS arm64 works). +@(runs_on.x86_64 or runs_on.macos) def test(codeql, use_java_11, java, gradle_7_4, android_sdk): codeql.database.create() From 710a7539ca725ab12e09d1f88da8a1d12ef5f18e Mon Sep 17 00:00:00 2001 From: Keshav Malik Date: Wed, 12 Aug 2026 23:18:34 +0530 Subject: [PATCH 157/190] Simplify composite action lookup --- actions/ql/src/Security/CWE-829/UnpinnedActionsTag.ql | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.ql b/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.ql index 9a4bc007bb51..f98439063712 100644 --- a/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.ql +++ b/actions/ql/src/Security/CWE-829/UnpinnedActionsTag.ql @@ -43,9 +43,8 @@ private predicate hasUsesContainerName(Uses uses, string name) { ) ) or - exists(UsesStep step, CompositeAction action | - uses = step and - step.getEnclosingCompositeAction() = action and + exists(CompositeAction action | + uses.getEnclosingCompositeAction() = action and name = action.getLocation().getFile().getBaseName() ) } From 82543e7aecc4e08f8b855444bc5915b5134cc7bb Mon Sep 17 00:00:00 2001 From: Mads Navntoft Date: Thu, 13 Aug 2026 09:52:33 +0200 Subject: [PATCH 158/190] Swift: Fix expected_files self-compare in frontend-invocations test --- swift/ql/integration-tests/posix/frontend-invocations/test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swift/ql/integration-tests/posix/frontend-invocations/test.py b/swift/ql/integration-tests/posix/frontend-invocations/test.py index 8378fc8846a9..da5b231883e7 100644 --- a/swift/ql/integration-tests/posix/frontend-invocations/test.py +++ b/swift/ql/integration-tests/posix/frontend-invocations/test.py @@ -21,4 +21,4 @@ def test(codeql, swift, expected_files): hashes.sort() for module, hash in hashes: print(module, hash, file=actual) - expected_files.add("hashes.expected") + expected_files.add("hashes.actual") From 39998944caafaee40ed5adb1abc5018f8a456811 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 13 Aug 2026 11:04:33 +0200 Subject: [PATCH 159/190] unified: Clarify description of derivedStoreReadStep --- .../ql/lib/codeql/unified/internal/StaticNameBinding.qll | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index 4a677769f5c0..c2734381845d 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -264,13 +264,14 @@ module Track { } /** - * Holds if `node1 -> node2` is derived by combining a store and a read step. + * Holds if `node1 -> node2` is derived by combining a store and a read step, with zero or more value steps and inheritance steps in-between. */ pragma[nomagic] private predicate derivedStoreReadStep(NameBindingNode node1, NameBindingNode node2) { exists(NamespaceNode namespace, string name | - node1 = namespace.getMember(name) and - readStep(namespace.ref(), name, node2) + node1 = namespace.getMember(name) and // getMember() combines a store step with subsequent inheritance steps + readStep(namespace.ref(), name, node2) and + node1 != node2 ) } From e88dde7791c0ac2cdd2166b1c6ab0d35069cbca0 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 13 Aug 2026 11:18:40 +0200 Subject: [PATCH 160/190] unified: Make debug graph subset more configurable --- .../unified/internal/StaticNameBinding.qll | 38 ++++++++++++++++--- .../dev/debugStaticNameBindingGraph.ql | 9 +++-- 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index c2734381845d..bf334a52f5e6 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -42,6 +42,23 @@ class NameBindingNode extends TNameBindingNode { /** Holds if this represents the root namespace in which all named modules are members. */ predicate isModuleRoot() { this = TModuleRoot() } + /** + * Gets an AST node wrapped by this name-binding node, if such a node exists. + * + * Mainly for debugging purposes. + */ + AstNode getWrappedAstNode() { + this.isIdentifier(result) + or + this.isBulkImport(result) + or + this.isExportedNamespace(result) + or + this.isLocalNamespace(result) + or + this.isModuleScopeNode(result) + } + string toString() { exists(Identifier n | this.isIdentifier(n) and result = "Identifier(" + n + ")") or @@ -351,21 +368,32 @@ NameBindingNode trackNameDeclaration(NameDeclaration decl) { } /** Holds if `node` should be included in the debug view. */ -private signature predicate relevantFileSig(File node); +private signature predicate relevantNodeSig(AstNode node); -module DebugGraph { - private predicate relevantNode(NameBindingNode node) { - relevantFile(node.getLocation().getFile()) +module DebugGraph { + private predicate relevantNameBindingNode(NameBindingNode node) { + relevantNode(node.getWrappedAstNode()) + or + // Also consider LocalName to be relevant if any of its accesses are relevant + exists(LocalName name | + node.isLocalName(name) and + relevantNode(any(PotentialLocalNameAccess ac | ac.getLocalName() = name)) + ) + or + // Always include module root + node.isModuleRoot() } query predicate nodes(NameBindingNode node, string key, string value) { - relevantNode(node) and + relevantNameBindingNode(node) and key = "semmle.label" and value = node.toString() } query predicate edges(NameBindingNode node1, NameBindingNode node2, string key, string value) { key = "semmle.label" and + relevantNameBindingNode(node1) and + relevantNameBindingNode(node2) and ( valueStep(node1, node2) and value = "" or diff --git a/unified/ql/lib/codeql/unified/internal/dev/debugStaticNameBindingGraph.ql b/unified/ql/lib/codeql/unified/internal/dev/debugStaticNameBindingGraph.ql index 740943fc66db..f365d3915f89 100644 --- a/unified/ql/lib/codeql/unified/internal/dev/debugStaticNameBindingGraph.ql +++ b/unified/ql/lib/codeql/unified/internal/dev/debugStaticNameBindingGraph.ql @@ -9,8 +9,11 @@ private import unified private import codeql.unified.internal.StaticNameBinding /** - * Holds if graphs related to `file` should be shown in the graph. + * Holds if `node` should be shown in the graph. */ -predicate relevantFile(File file) { file.getBaseName() = "test.swift" } +predicate relevantNode(AstNode node) { + // Match an ancestor node by location so its whole subtree is shown. + node.getParent*().getLocation().toString().matches("%test.swift@13:%") +} -import DebugGraph +import DebugGraph From d30b7a0d6bc300a9dde31aae5f5878569249e328 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 13 Aug 2026 11:37:39 +0200 Subject: [PATCH 161/190] unified: Simplify uncertain scopes Marking Members as uncertain scopes led to inaccurate resolution when a member referred to itself, because the uncertain scope (Member) appeared in the scope chain before the LocalName scope (ClassLikeDeclaration). Meanwhile, one of the arguments for doing it, avoiding base classes etc from hitting the uncertain scope, was already fixed by local scope tree-rewrites. It gets harder to detect if a given access appears in static or instance context, but perhaps we'll probably want to expose such information through a separate predicate anyway. --- .../ql/lib/codeql/unified/internal/LocalNameBinding.qll | 6 +----- .../ql/lib/codeql/unified/internal/StaticNameBinding.qll | 9 +-------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index d7020c153465..da0bd0540ea2 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -317,11 +317,7 @@ private module LocalNameBindingInput implements LocalNameBindingInputSig Date: Thu, 13 Aug 2026 11:43:02 +0200 Subject: [PATCH 162/190] unified: Don't step into declaration sites --- unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll | 2 ++ 1 file changed, 2 insertions(+) diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index 037d66b13bd9..b1242cfb8a27 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -134,6 +134,7 @@ predicate readStep(NameBindingNode node1, string name, NameBindingNode node2) { ) or exists(PotentialLocalNameAccess access | + not access.isDeclarationSite() and name = access.getName() and node1 = getNodeFromUncertainScope(LocalNameBindingOutput::getAnUncertainScope(access, name)) and node2.isIdentifier(access) @@ -182,6 +183,7 @@ predicate valueStep(NameBindingNode node1, NameBindingNode node2) { node1.isIdentifier(access) and node2.isLocalName(access.getLocalName()) or + not access.isDeclarationSite() and node1.isLocalName(access.getLocalName()) and node2.isIdentifier(access) ) From bec213b4c9c5ebfcc3239e421e277adf816ce344 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 13 Aug 2026 11:43:16 +0200 Subject: [PATCH 163/190] shared: Factor out declInScope(name, scope) --- .../codeql/namebinding/LocalNameBinding.qll | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/shared/namebinding/codeql/namebinding/LocalNameBinding.qll b/shared/namebinding/codeql/namebinding/LocalNameBinding.qll index c4d4abdead45..1aac957d7cea 100644 --- a/shared/namebinding/codeql/namebinding/LocalNameBinding.qll +++ b/shared/namebinding/codeql/namebinding/LocalNameBinding.qll @@ -354,13 +354,17 @@ module LocalNameBinding or exists(Scope mid | lookupInScope(name, lookup, mid) and - not declInScope(_, name, mid) and - not implicitDeclInScope(name, mid) and + not declInScope(name, mid) and not isTopScope(mid) and scope = getEnclosingScope(mid) ) } + private predicate declInScope(string name, AstNode scope) { + declInScope(_, name, scope) or + implicitDeclInScope(name, scope) + } + /** * Holds if `name`, when resolved from `lookup`, may resolve to one of the uncertain members of `scope`. */ @@ -368,8 +372,7 @@ module LocalNameBinding private predicate lookupInUncertainScope(string name, Scope lookup, Scope scope) { lookupInScope(name, lookup, scope) and uncertainScope(scope) and - not declInScope(_, name, scope) and - not implicitDeclInScope(name, scope) + not declInScope(name, scope) } /** From 4eade9eae1dd5ff7d3edc86f053fb9944b36255d Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 13 Aug 2026 11:44:11 +0200 Subject: [PATCH 164/190] shared: Rephrase a qldoc --- shared/namebinding/codeql/namebinding/LocalNameBinding.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/namebinding/codeql/namebinding/LocalNameBinding.qll b/shared/namebinding/codeql/namebinding/LocalNameBinding.qll index 1aac957d7cea..4a9c5b61db92 100644 --- a/shared/namebinding/codeql/namebinding/LocalNameBinding.qll +++ b/shared/namebinding/codeql/namebinding/LocalNameBinding.qll @@ -376,7 +376,7 @@ module LocalNameBinding } /** - * Gets an uncertain scope that the given `accessCand` pair may resolve to. + * Gets an uncertain scope in which the `accessCand` pair may resolve. */ AstNode getAnUncertainScope(AstNode access, string name) { exists(Scope lookup | From 828816c2734bf45293774d53da279b65f0dc0525 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 13 Aug 2026 11:45:12 +0200 Subject: [PATCH 165/190] unified: QLdoc fix --- unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll b/unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll index de9c09f5bb70..352d39bd5f00 100644 --- a/unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll +++ b/unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll @@ -37,7 +37,7 @@ predicate isPrivateToLocalScope(Stmt member) { } /** - * Representative for a module scope. + * A representative for a module scope. * * Module scopes can encompass a set of files, and is the canonical representative * for the top-level members collectively exported from those files. From 78671cd4cc61e6b78b6fb11e5f2bff8208209acf Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 13 Aug 2026 11:46:04 +0200 Subject: [PATCH 166/190] unified: Prefer 'and' instead of '|' --- .../ql/lib/codeql/unified/internal/StaticNameBinding.qll | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index b1242cfb8a27..16ae5ad2602e 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -153,8 +153,7 @@ predicate storeStep(NameBindingNode node1, string name, NameBindingNode node2) { member = cls.getAMember() and not isInstanceMember(member) and not isPrivateToLocalScope(member) and - nameDecl.getDeclaration() = member - | + nameDecl.getDeclaration() = member and node1.isIdentifier(nameDecl) and name = nameDecl.getName() and node2.isExportedNamespace(cls) @@ -163,8 +162,7 @@ predicate storeStep(NameBindingNode node1, string name, NameBindingNode node2) { exists(TopLevel top, Stmt stmt, NameDeclaration nameDecl | stmt = top.getBody().getAStmt() and not isPrivateToLocalScope(stmt) and - nameDecl.getDeclaration() = stmt - | + nameDecl.getDeclaration() = stmt and node1.isIdentifier(nameDecl) and name = nameDecl.getName() and node2 = getModuleNodeFromFile(top.getFile()) From 94cb4033fb0e8fc7c0045311f91bee929e9f4dcc Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 13 Aug 2026 11:47:01 +0200 Subject: [PATCH 167/190] Rust: Always force high access path precision --- rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index f466249ada99..8793bf7a6272 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -583,7 +583,7 @@ module RustDataFlowGen implements InputSig class LambdaCallKind = LambdaCallKindAlias; - predicate forceHighPrecision(Content c) { none() } + predicate forceHighPrecision(Content c) { any() } class ContentApprox = ContentApproxAlias; From 360f281a4ab6748a91df83a37691fb33f933d238 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 13 Aug 2026 10:44:00 +0000 Subject: [PATCH 168/190] update codeql documentation --- .../codeql-changelog/codeql-cli-2.26.3.rst | 119 ++++++++++++++++++ .../codeql-changelog/index.rst | 1 + 2 files changed, 120 insertions(+) create mode 100644 docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.26.3.rst diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.26.3.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.26.3.rst new file mode 100644 index 000000000000..57a19ae4633a --- /dev/null +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.26.3.rst @@ -0,0 +1,119 @@ +.. _codeql-cli-2.26.3: + +========================== +CodeQL 2.26.3 (2026-08-12) +========================== + +.. contents:: Contents + :depth: 2 + :local: + :backlinks: none + +This is an overview of changes in the CodeQL CLI and relevant CodeQL query and library packs. For additional updates on changes to the CodeQL code scanning experience, check out the `code scanning section on the GitHub blog `__, `relevant GitHub Changelog updates `__, `changes in the CodeQL extension for Visual Studio Code `__, and the `CodeQL Action changelog `__. + +Security Coverage +----------------- + +CodeQL 2.26.3 runs a total of 497 security queries when configured with the Default suite (covering 170 CWE). The Extended suite enables an additional 131 queries (covering 32 more CWE). + +CodeQL CLI +---------- + +Bug Fixes +~~~~~~~~~ + +* Fixed the pack upload format to comply with the OCI-image-manifest specification, by ensuring that all required fields are present/valid, and that no extraneous/non-compliant fields are included. +* Fixed path canonicalization on Windows so that paths located on :code:`subst`\ ed drives are always resolved to their underlying target paths. Previously, :code:`subst`\ ed drives were not handled consistently by the CodeQL CLI and the language-specific extractors. + +Improvements +~~~~~~~~~~~~ + +* Commands that accept a :code:`--ram` option now report a clear error when given a value that is far too large to be a sensible amount of memory in megabytes (for example, a number of bytes passed by mistake), instead of failing with a cryptic "is not an int" message. + +Miscellaneous +~~~~~~~~~~~~~ + +* Upgraded Jackson from 2.18.6 to 2.18.9. + +Query Packs +----------- + +Bug Fixes +~~~~~~~~~ + +GitHub Actions +"""""""""""""" + +* The :code:`actions/output-clobbering/high` query now provides messages tailored to the affected output channel and includes expanded documentation and recommendations. +* The :code:`actions/cache-poisoning/poisonable-step` and :code:`actions/untrusted-checkout/critical` queries now start paths at the expressions that control untrusted checkouts and link their alert messages to those expressions. +* Fixed a performance issue in the :code:`actions/output-clobbering/high` query caused by using unescaped source-code input in a regular expression. + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +JavaScript/TypeScript +""""""""""""""""""""" + +* The :code:`js/missing-rate-limiting` query now recognizes the :code:`@fastify/rate-limit` package as a rate limiter. + +GitHub Actions +"""""""""""""" + +* The :code:`actions/output-clobbering/high` query no longer reports simple :code:`jq` path filters when their output remains JSON-encoded. Raw-output modes, complex filters, and unrecognized options remain reportable. +* GitHub Actions queries now correctly classify the :code:`schedule` event when determining whether a workflow is externally triggerable. +* The :code:`actions/envvar-injection/critical` query now requires the untrusted source and privileged context to originate from the same trigger event. The environment variable injection queries also no longer treat pull request head labels as injection-capable because they cannot contain newlines. +* The :code:`actions/cache-poisoning/code-injection`, :code:`actions/cache-poisoning/direct-cache`, and :code:`actions/cache-poisoning/poisonable-step` queries now account for read-only cache access on low-trust triggers that run in the default branch scope. Results are retained for triggers that GitHub allows to write to that cache scope. + +Query Metadata Changes +~~~~~~~~~~~~~~~~~~~~~~ + +GitHub Actions +"""""""""""""" + +* The name and alert message of the :code:`actions/cache-poisoning/code-injection` query have been reworded for clarity. + +Language Libraries +------------------ + +Breaking Changes +~~~~~~~~~~~~~~~~ + +GitHub Actions +"""""""""""""" + +* The :code:`codeql.actions.security.SelfHostedQuery` module has been removed because runner labels do not reliably distinguish self-hosted runners from managed runners. + +Major Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +JavaScript/TypeScript +""""""""""""""""""""" + +* It is now possible for custom models to refer to specific files in the codebase, using a package name of form :code:`file:`. The model should describe the public exports of that file. This can be used to derive sources and sinks in code that imports the file, but note that sources and sinks will not generally be placed within the file itself. + For example, a source model :code:`['file:lib/service.js', 'Member[getData].ReturnValue', 'remote']` could identify :code:`require('../lib/service').getData()` as a source. + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +C/C++ +""""" + +* Added flow source models for :code:`RegQueryValue` and related functions from the :code:`winreg.h` Windows header. + +JavaScript/TypeScript +""""""""""""""""""""" + +* JavaScript security queries using the :code:`response` threat model now track promise-wrapped client response data into promise fulfillment values. This may improve results for queries such as :code:`js/xss` when response data is consumed through :code:`.then(...)` chains. +* The route object returned by Vue Router's :code:`useRoute()` Composition API is now recognized as a client-side remote flow source, covering its :code:`query`, :code:`params`, :code:`path`, :code:`fullPath`, and :code:`hash` members. These members are additionally reported under the corresponding :code:`browser-url-query`, :code:`browser-url-path`, and :code:`browser-url-fragment` threat models. +* Added flow models for Vue's :code:`ref`, :code:`shallowRef`, :code:`toRef`, :code:`reactive`, and :code:`computed` Composition API helpers. +* Added support for treating declared :code:`inputs` properties in Sails Action2 controller files as remote flow sources. This may improve results for security queries such as :code:`js/path-injection`. + +Ruby +"""" + +* Removed library input to vendored gems from the set of taint sources. This should reduce false positives for :code:`rb/polynomial-redos`, :code:`rb/regex/badly-anchored-regexp`, :code:`rb/unsafe-code-construction`, :code:`rb/html-constructed-from-input`, and :code:`rb/shell-command-constructed-from-input` whenever vendoring is used. + +GitHub Actions +"""""""""""""" + +* GitHub Actions analysis now recognizes untrusted data in :code:`github.event.merge_group` for workflows triggered by the :code:`merge_group` event. diff --git a/docs/codeql/codeql-overview/codeql-changelog/index.rst b/docs/codeql/codeql-overview/codeql-changelog/index.rst index a0a2e1832d83..6562d3482c54 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/index.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/index.rst @@ -11,6 +11,7 @@ A list of queries for each suite and language `is available here Date: Thu, 13 Aug 2026 12:46:11 +0200 Subject: [PATCH 169/190] unified: Add test with @_exported import --- .../lib/codeql/unified/internal/StaticNameBinding.qll | 1 + .../static-name-binding/package1/Package.swift | 2 ++ .../package1/Sources/Target3/ReExport.swift | 3 +++ .../package1/Sources/Target4/UseReExport.swift | 11 +++++++++++ 4 files changed, 17 insertions(+) create mode 100644 unified/ql/test/library-tests/static-name-binding/package1/Sources/Target3/ReExport.swift create mode 100644 unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index 16ae5ad2602e..780b1fbd850a 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -212,6 +212,7 @@ predicate valueStep(NameBindingNode node1, NameBindingNode node2) { | node2 = getNodeFromUncertainScope(scope) or + // TODO: Add support for '@_exported' with tests, so this gets exercised // Bulk re-exporting declarations exists(TopLevel top | declaration = top.getBody().getAStmt() and diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Package.swift b/unified/ql/test/library-tests/static-name-binding/package1/Package.swift index 0789887c4b4c..0c046ec542c7 100644 --- a/unified/ql/test/library-tests/static-name-binding/package1/Package.swift +++ b/unified/ql/test/library-tests/static-name-binding/package1/Package.swift @@ -7,5 +7,7 @@ let package = Package( targets: [ .target(name: "Target1"), .target(name: "Target2"), + .target(name: "Target3"), + .target(name: "Target4"), ] ) diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target3/ReExport.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target3/ReExport.swift new file mode 100644 index 000000000000..f802bbe9d308 --- /dev/null +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target3/ReExport.swift @@ -0,0 +1,3 @@ +@_exported import Target2 + +public class C {} // name=Target3.C diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift new file mode 100644 index 000000000000..d9ef7c904c18 --- /dev/null +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift @@ -0,0 +1,11 @@ +import Target3 // re-exports Target2 + +private protocol P { + let x1: A; // $ MISSING: access=Target2.A + let x2: B.C; // $ MISSING: access=Target2.B access=Target2.B.C + let x3: C; // $ access=Target3.C + + let x4: Target3.A; // $ MISSING: access=Target2.A + let x5: Target3.B.C; // $ MISSING: access=Target2.B access=Target2.B.C + let x6: Target3.C; // $ access=Target3.C +} From ccbab33f2712f4103a9614a034fdb3e27ea0e526 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 13 Aug 2026 12:46:49 +0200 Subject: [PATCH 170/190] Update shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll Co-authored-by: Anders Schack-Mulligen --- shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll | 1 - 1 file changed, 1 deletion(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 806b4d5a2413..285451510375 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -568,7 +568,6 @@ module MakeImpl Lang> { result = 0 or exists(Content c, Ap tail | - ap = apCons(c, tail) and fwdFlowConsCand(_, ap, c, _, tail) and ap != tail and // no need to report a longer length result = 1 + getAnApLengthLowerBound(tail) and From 61b372029b13ffe3d34a76562a6ccca461b5b4a1 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 13 Aug 2026 12:49:22 +0200 Subject: [PATCH 171/190] unified: Support @_exported imports --- .../codeql/unified/internal/NameBindingPluginSwift.qll | 5 +++-- .../ql/lib/codeql/unified/internal/StaticNameBinding.qll | 1 - .../package1/Sources/Target4/UseReExport.swift | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll b/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll index 6fd2187f47a1..52c52833c279 100644 --- a/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll +++ b/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll @@ -18,8 +18,9 @@ class NameBindingPluginSwift extends NameBindingPlugin { member = any(TopLevel top).getBody().getAStmt() and member.hasModifier(["private", "fileprivate"]) or - // Imports are always file-local - member instanceof ImportDeclaration + // Imports are always file-local, except `@_exported` import which re-export everything + member instanceof ImportDeclaration and + not member.hasModifier("@_exported") // // Note: Private class members can be seen within type-extensions in the same file, // so we can't declare those private to their local scope. diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index 780b1fbd850a..16ae5ad2602e 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -212,7 +212,6 @@ predicate valueStep(NameBindingNode node1, NameBindingNode node2) { | node2 = getNodeFromUncertainScope(scope) or - // TODO: Add support for '@_exported' with tests, so this gets exercised // Bulk re-exporting declarations exists(TopLevel top | declaration = top.getBody().getAStmt() and diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift index d9ef7c904c18..ba30deeff57a 100644 --- a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift @@ -1,11 +1,11 @@ import Target3 // re-exports Target2 private protocol P { - let x1: A; // $ MISSING: access=Target2.A - let x2: B.C; // $ MISSING: access=Target2.B access=Target2.B.C + let x1: A; // $ access=Target2.A + let x2: B.C; // $ access=Target2.B access=Target2.B.C let x3: C; // $ access=Target3.C - let x4: Target3.A; // $ MISSING: access=Target2.A - let x5: Target3.B.C; // $ MISSING: access=Target2.B access=Target2.B.C + let x4: Target3.A; // $ access=Target2.A + let x5: Target3.B.C; // $ access=Target2.B access=Target2.B.C let x6: Target3.C; // $ access=Target3.C } From 811932fc23bd23fa581e9309519d08cfaf4a5f76 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 13 Aug 2026 12:52:09 +0200 Subject: [PATCH 172/190] unified: Add test for spurious re-export --- .../package1/Sources/Target4/UseReExport.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift index ba30deeff57a..e0c454454073 100644 --- a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift @@ -8,4 +8,7 @@ private protocol P { let x4: Target3.A; // $ access=Target2.A let x5: Target3.B.C; // $ access=Target2.B access=Target2.B.C let x6: Target3.C; // $ access=Target3.C + + // `@_exported import Target2` should not re-export the local 'Target2' name, only its contents + let x7: Target3.Target2.A; // $ SPURIOUS: access=Target2.A } From 1f380d260ec47d6cda5ead9a0184ce42455bb8b2 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 13 Aug 2026 13:07:24 +0200 Subject: [PATCH 173/190] unified: Fix spurious resolution by refining isPrivateToLocalScope --- .../unified/internal/NameBindingPlugin.qll | 23 +++++++++++++++---- .../internal/NameBindingPluginSwift.qll | 8 +++++-- .../unified/internal/StaticNameBinding.qll | 6 ++--- .../Sources/Target4/UseReExport.swift | 2 +- 4 files changed, 28 insertions(+), 11 deletions(-) diff --git a/unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll b/unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll index 352d39bd5f00..a0a7028dfe92 100644 --- a/unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll +++ b/unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll @@ -1,5 +1,6 @@ private import unified private import codeql.util.Unit +private import codeql.unified.internal.LocalNameBinding private import codeql.unified.internal.NameBindingPluginSwift // ensure overrides are seen /** Extension point for language-specific inputs to name binding. */ @@ -14,13 +15,16 @@ class NameBindingPlugin extends Unit { predicate isInstanceMember(ClassLikeDeclaration cls, Member member) { none() } /** - * Holds if `member` is only visible in its local scope, and can thus be entirely resolved + * Holds if `binding`, declared by `member` is only visible in its local scope, and can thus be entirely resolved * by local name-binding, suppressing any store-steps that would otherwise be induced from the member. * * Need only be implemented for members that occur in the context of class or top-level, as other * contexts are considered local already. + * + * `binding` refers to an `Identifier` or `BulkImportingPattern` bound by the member. */ - predicate isPrivateToLocalScope(Stmt member) { none() } + bindingset[member, binding] + predicate isPrivateToLocalScope(Stmt member, AstNode binding) { none() } } /** Holds if `member` is an instance member. */ @@ -31,9 +35,18 @@ predicate isInstanceMember(Member member) { ) } -/** Holds if `member` is only visible in its local scope. */ -predicate isPrivateToLocalScope(Stmt member) { - any(NameBindingPlugin p).isPrivateToLocalScope(member) +/** Holds if `binding` is only visible in its local scope. */ +pragma[nomagic] +predicate isPrivateToLocalScope(AstNode binding) { + exists(Stmt member | + bindingContext(binding, _, member) and + ( + member = any(ClassLikeDeclaration cls).getAMember() or + member = any(TopLevel t).getBody().getAStmt() + ) and + (binding instanceof NameDeclaration or binding instanceof BulkImportingPattern) and + any(NameBindingPlugin p).isPrivateToLocalScope(member, binding) + ) } /** diff --git a/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll b/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll index 52c52833c279..eaa8f46c65f4 100644 --- a/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll +++ b/unified/ql/lib/codeql/unified/internal/NameBindingPluginSwift.qll @@ -13,14 +13,18 @@ class NameBindingPluginSwift extends NameBindingPlugin { not member.hasModifier(["static", "class", "enum_case"]) } - override predicate isPrivateToLocalScope(Stmt member) { + bindingset[member, binding] + override predicate isPrivateToLocalScope(Stmt member, AstNode binding) { // Private top-level members member = any(TopLevel top).getBody().getAStmt() and member.hasModifier(["private", "fileprivate"]) or // Imports are always file-local, except `@_exported` import which re-export everything member instanceof ImportDeclaration and - not member.hasModifier("@_exported") + not ( + member.hasModifier("@_exported") and + binding instanceof BulkImportingPattern + ) // // Note: Private class members can be seen within type-extensions in the same file, // so we can't declare those private to their local scope. diff --git a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll index 16ae5ad2602e..907cc9f14010 100644 --- a/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/StaticNameBinding.qll @@ -152,7 +152,7 @@ predicate storeStep(NameBindingNode node1, string name, NameBindingNode node2) { exists(ClassLikeDeclaration cls, Member member, NameDeclaration nameDecl | member = cls.getAMember() and not isInstanceMember(member) and - not isPrivateToLocalScope(member) and + not isPrivateToLocalScope(nameDecl) and nameDecl.getDeclaration() = member and node1.isIdentifier(nameDecl) and name = nameDecl.getName() and @@ -161,7 +161,7 @@ predicate storeStep(NameBindingNode node1, string name, NameBindingNode node2) { or exists(TopLevel top, Stmt stmt, NameDeclaration nameDecl | stmt = top.getBody().getAStmt() and - not isPrivateToLocalScope(stmt) and + not isPrivateToLocalScope(nameDecl) and nameDecl.getDeclaration() = stmt and node1.isIdentifier(nameDecl) and name = nameDecl.getName() and @@ -215,7 +215,7 @@ predicate valueStep(NameBindingNode node1, NameBindingNode node2) { // Bulk re-exporting declarations exists(TopLevel top | declaration = top.getBody().getAStmt() and - not isPrivateToLocalScope(declaration) and + not isPrivateToLocalScope(p) and node2 = getModuleNodeFromFile(top.getFile()) ) ) diff --git a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift index e0c454454073..677cd6a67299 100644 --- a/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift +++ b/unified/ql/test/library-tests/static-name-binding/package1/Sources/Target4/UseReExport.swift @@ -10,5 +10,5 @@ private protocol P { let x6: Target3.C; // $ access=Target3.C // `@_exported import Target2` should not re-export the local 'Target2' name, only its contents - let x7: Target3.Target2.A; // $ SPURIOUS: access=Target2.A + let x7: Target3.Target2.A; // should not resolve } From aa48658a760046b6c42ada55a63f46769bbd074f Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 13 Aug 2026 13:28:32 +0200 Subject: [PATCH 174/190] Data flow: Remove unused variable --- shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 285451510375..c6bdcc206b45 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -567,8 +567,8 @@ module MakeImpl Lang> { ap instanceof ApNil and result = 0 or - exists(Content c, Ap tail | - fwdFlowConsCand(_, ap, c, _, tail) and + exists(Ap tail | + fwdFlowConsCand(_, ap, _, _, tail) and ap != tail and // no need to report a longer length result = 1 + getAnApLengthLowerBound(tail) and result <= accessPathLimit() From 4321ba17379c0ba550d92ba29f982d34c03b44ae Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 13 Aug 2026 13:31:39 +0200 Subject: [PATCH 175/190] Gate remaining Android integration tests off linux-arm64 Completes the arm64 gating begun in #22327 for the last two Android-driving java integration tests, so all 10 (the 8 already merged + these) are deselected on linux-arm64 while mac-arm64 and x86_64 stay green. android-8-sample: AGP 8.0.0 ships no linux-aarch64 aapt2 (Google's Maven publishes only linux/osx/windows classifiers), so the build fails on linux-arm64 with an x86-64 aapt2 exec'd on aarch64. android-gradle-incompatibility: gated to avoid conflating that same x86_64-only aapt2 build failure on linux-arm64 with the AGP/Gradle-version incompatibility failure this test asserts (otherwise the test would pass for the wrong reason). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- java/ql/integration-tests/java/android-8-sample/test.py | 5 +++++ .../java/diagnostics/android-gradle-incompatibility/test.py | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/java/ql/integration-tests/java/android-8-sample/test.py b/java/ql/integration-tests/java/android-8-sample/test.py index 72e3c5d3fc47..3b38eb208893 100644 --- a/java/ql/integration-tests/java/android-8-sample/test.py +++ b/java/ql/integration-tests/java/android-8-sample/test.py @@ -1,4 +1,9 @@ +import runs_on + + # Put Java 11 on the path so as to challenge our version selection logic: Java 11 is unsuitable for Android Gradle Plugin 8+, # so it will be necessary to notice Java 17 available in the environment and actively select it. +# This Android Gradle Plugin version ships no linux-aarch64 aapt2, so the build fails on linux-arm64 (macOS arm64 works). +@(runs_on.x86_64 or runs_on.macos) def test(codeql, use_java_11, java, gradle_8_0, android_sdk): codeql.database.create() diff --git a/java/ql/integration-tests/java/diagnostics/android-gradle-incompatibility/test.py b/java/ql/integration-tests/java/diagnostics/android-gradle-incompatibility/test.py index f58e84e77a2f..64112d0e5e62 100644 --- a/java/ql/integration-tests/java/diagnostics/android-gradle-incompatibility/test.py +++ b/java/ql/integration-tests/java/diagnostics/android-gradle-incompatibility/test.py @@ -1,2 +1,7 @@ +import runs_on + + +# Deselected on linux-arm64: the build also fails there due to the x86_64-only aapt2 gap, which would conflate with the AGP/Gradle-incompatibility failure this test asserts. +@(runs_on.x86_64 or runs_on.macos) def test(codeql, java, gradle_7_3, android_sdk): codeql.database.create(_assert_failure=True) From e4cf8d6ed8bd77c84a761440697a395b9439ba87 Mon Sep 17 00:00:00 2001 From: Keshav Malik Date: Thu, 13 Aug 2026 17:40:01 +0530 Subject: [PATCH 176/190] Refactor antiforgery validation query --- .../MissingAntiForgeryTokenValidation.ql | 73 ++++++++++++------- 1 file changed, 45 insertions(+), 28 deletions(-) diff --git a/csharp/ql/src/Security Features/CWE-352/MissingAntiForgeryTokenValidation.ql b/csharp/ql/src/Security Features/CWE-352/MissingAntiForgeryTokenValidation.ql index a1cb7f9f506a..77a3f2b59450 100644 --- a/csharp/ql/src/Security Features/CWE-352/MissingAntiForgeryTokenValidation.ql +++ b/csharp/ql/src/Security Features/CWE-352/MissingAntiForgeryTokenValidation.ql @@ -75,7 +75,6 @@ private predicate hasAspNetCoreAntiForgeryMiddleware() { ) } -bindingset[method] private RequireAntiforgeryTokenAttribute getEffectiveRequireAntiforgeryTokenAttributeOnMethod( Method method ) { @@ -90,7 +89,6 @@ private RequireAntiforgeryTokenAttribute getEffectiveRequireAntiforgeryTokenAttr ) } -bindingset[controller] private RequireAntiforgeryTokenAttribute getEffectiveRequireAntiforgeryTokenAttributeOnClass( Class controller ) { @@ -105,34 +103,53 @@ private RequireAntiforgeryTokenAttribute getEffectiveRequireAntiforgeryTokenAttr ) } -bindingset[controller, method] -private RequireAntiforgeryTokenAttribute getEffectiveRequireAntiforgeryTokenAttribute( - Class controller, Method method -) { - result = getEffectiveRequireAntiforgeryTokenAttributeOnMethod(method) - or - not exists(getEffectiveRequireAntiforgeryTokenAttributeOnMethod(method)) and - result = getEffectiveRequireAntiforgeryTokenAttributeOnClass(controller) +class MvcControllerPostMethod extends Method { + private Controller controller; + + MvcControllerPostMethod() { controller.getAPostActionMethod() = this } + + predicate hasValidateAntiForgeryAttribute() { + this.getAnAttribute() instanceof ValidateAntiForgeryTokenAttribute or + controller.getABaseType*().getAnAttribute() instanceof ValidateAntiForgeryTokenAttribute + } } -bindingset[controller, method] -private predicate hasAspNetCoreAntiForgeryValidation(Class controller, Method method) { - method.getAnAttribute() instanceof AspNetCore::ValidateAntiForgeryAttribute - or - controller.getABaseType*().getAnAttribute() instanceof AspNetCore::ValidateAntiForgeryAttribute - or - hasAspNetCoreAntiForgeryMiddleware() and - getEffectiveRequireAntiforgeryTokenAttribute(controller, method).requiresValidation() +class AspNetCoreControllerPostMethod extends Method { + private AspNetCore::MicrosoftAspNetCoreMvcController controller; + + AspNetCoreControllerPostMethod() { + controller.getAnActionMethod() = this and + this.getAnAttribute() instanceof AspNetCore::MicrosoftAspNetCoreMvcHttpPostAttribute + } + + predicate hasValidateAntiForgeryAttribute() { + this.getAnAttribute() instanceof AspNetCore::ValidateAntiForgeryAttribute or + controller.getABaseType*().getAnAttribute() instanceof AspNetCore::ValidateAntiForgeryAttribute + } + + predicate hasRequireAntiForgeryAttribute() { + hasAspNetCoreAntiForgeryMiddleware() and + ( + getEffectiveRequireAntiforgeryTokenAttributeOnMethod(this).requiresValidation() + or + not exists(getEffectiveRequireAntiforgeryTokenAttributeOnMethod(this)) and + getEffectiveRequireAntiforgeryTokenAttributeOnClass(controller).requiresValidation() + ) + } } -predicate isUnvalidatedPostMethod(Class c, Method m) { - c.(Controller).getAPostActionMethod() = m and - not m.getAnAttribute() instanceof ValidateAntiForgeryTokenAttribute and - not c.getABaseType*().getAnAttribute() instanceof ValidateAntiForgeryTokenAttribute - or - c.(AspNetCore::MicrosoftAspNetCoreMvcController).getAnActionMethod() = m and - m.getAnAttribute() instanceof AspNetCore::MicrosoftAspNetCoreMvcHttpPostAttribute and - not hasAspNetCoreAntiForgeryValidation(c, m) +predicate isUnvalidatedAspNetCorePostMethod(AspNetCoreControllerPostMethod m) { + not m.hasValidateAntiForgeryAttribute() and + not m.hasRequireAntiForgeryAttribute() +} + +predicate isUnvalidatedMvcPostMethod(MvcControllerPostMethod m) { + not m.hasValidateAntiForgeryAttribute() +} + +predicate isUnvalidatedPostMethod(Method m) { + isUnvalidatedMvcPostMethod(m) or + isUnvalidatedAspNetCorePostMethod(m) } Element getAValidatedElement() { @@ -144,9 +161,9 @@ Element getAValidatedElement() { any(RequireAntiforgeryTokenAttribute a | a.requiresValidation()).getTarget() = result } -from Class c, Method postMethod +from Method postMethod where - isUnvalidatedPostMethod(c, postMethod) and + isUnvalidatedPostMethod(postMethod) and // Verify that validate anti forgery token attributes are used somewhere within this project, to // avoid reporting false positives on projects that use an alternative approach to mitigate CSRF // issues. From 719e8b41963127137c261289fa6dde0867ceb11b Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 13 Aug 2026 14:21:38 +0200 Subject: [PATCH 177/190] unified: Prefer instanceof --- unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll index da0bd0540ea2..e9ffcd8a29af 100644 --- a/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll +++ b/unified/ql/lib/codeql/unified/internal/LocalNameBinding.qll @@ -317,7 +317,7 @@ private module LocalNameBindingInput implements LocalNameBindingInputSig Date: Wed, 12 Aug 2026 11:39:50 +0000 Subject: [PATCH 178/190] Bazel: Update to latest `rules_cc`, `rules_swift`, and `apple_support` Note that `rules_swift` requires the versions of `apple_support` and `rules_cc` we're updating to. Also update the Swift version we use in the build to 6.3.3, which is supported out-of-the-box by the new `rules_swift` version. --- .bazelrc | 3 +++ MODULE.bazel | 8 ++++---- unified/swift-syntax-rs/.swift-version | 2 +- unified/swift-syntax-rs/BUILD.bazel | 17 +++++++++++++---- unified/swift-syntax-rs/README.md | 2 +- .../swift-syntax-rs/swift_runtime_linking.bzl | 11 +++++++++++ 6 files changed, 33 insertions(+), 10 deletions(-) create mode 100644 unified/swift-syntax-rs/swift_runtime_linking.bzl diff --git a/.bazelrc b/.bazelrc index 8687f4406cb9..e34a363a16fc 100644 --- a/.bazelrc +++ b/.bazelrc @@ -11,6 +11,9 @@ build --compilation_mode opt common --override_module=semmle_code=%workspace%/misc/bazel/semmle_code_stub build --repo_env=CC=clang --repo_env=CXX=clang++ +# The standalone Linux toolchain uses gold, which does not support the +# LLD-specific -z nostart-stop-gc workaround enabled by rules_swift. +build:linux --features=-swift.lld_gc_workaround # Disable Android SDK auto-detection (we don't use it, and rules_android has Bazel 9 compatibility issues) build --repo_env=ANDROID_HOME= diff --git a/MODULE.bazel b/MODULE.bazel index e8d49c11bcb4..0584af40dc69 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -15,7 +15,7 @@ local_path_override( # see https://registry.bazel.build/ for a list of available packages bazel_dep(name = "platforms", version = "1.0.0") -bazel_dep(name = "rules_cc", version = "0.2.17") +bazel_dep(name = "rules_cc", version = "0.2.20") bazel_dep(name = "rules_go", version = "0.60.0") bazel_dep(name = "rules_java", version = "9.6.1") bazel_dep(name = "rules_pkg", version = "1.2.0") @@ -31,13 +31,13 @@ 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.69.0") -bazel_dep(name = "rules_swift", version = "4.0.0-rc4") +bazel_dep(name = "rules_swift", version = "4.0.0-rc5") bazel_dep(name = "swift-syntax", version = "603.0.2") # Needed so we can `use_repo` `local_config_xcode` and # `local_config_apple_cc_toolchains` below (referenced by the per-target # Xcode-config transition in `unified/swift-syntax-rs/xcode_transition.bzl`). -bazel_dep(name = "apple_support", version = "2.6.1") +bazel_dep(name = "apple_support", version = "2.8.0") bazel_dep(name = "zstd", version = "1.5.7.bcr.1") bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True) @@ -238,7 +238,7 @@ use_repo( swift = use_extension("@rules_swift//swift:extensions.bzl", "swift") swift.toolchain( name = "swift_toolchain", - swift_version = "6.3.2", + swift_version = "6.3.3", ) use_repo( swift, diff --git a/unified/swift-syntax-rs/.swift-version b/unified/swift-syntax-rs/.swift-version index 91e4a9f26224..7849b73dc743 100644 --- a/unified/swift-syntax-rs/.swift-version +++ b/unified/swift-syntax-rs/.swift-version @@ -1 +1 @@ -6.3.2 +6.3.3 diff --git a/unified/swift-syntax-rs/BUILD.bazel b/unified/swift-syntax-rs/BUILD.bazel index 0f04f3e9182c..b1d0d40207f7 100644 --- a/unified/swift-syntax-rs/BUILD.bazel +++ b/unified/swift-syntax-rs/BUILD.bazel @@ -2,6 +2,7 @@ load("@rules_cc//cc:defs.bzl", "cc_library") load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test") load("//unified:platforms.bzl", "UNIFIED_SUPPORTED_PLATFORMS") load(":swift_runtime.bzl", "swift_runtime_libs") +load(":swift_runtime_linking.bzl", "swift_runtime_linking") load(":xcode_transition.bzl", "xcode_transition_swift_library") package(default_visibility = ["//visibility:public"]) @@ -11,15 +12,23 @@ swift_runtime_libs( toolchain = "@swift_toolchain_ubuntu22.04//:files", ) -# The `$ORIGIN` runpath makes an executable look beside itself instead, so -# we find the Swift runtime libraries we bundle with the extractor. +swift_runtime_linking( + name = "_swift_runtime_cc_info", +) + +# On Linux, provide the downloaded Swift runtime at link time and look beside +# the executable for the copies bundled with the extractor at runtime. cc_library( - name = "swift_runtime_rpath", + name = "swift_runtime_linking", linkopts = select({ "@platforms//os:linux": ["-Wl,-rpath,$$ORIGIN"], "//conditions:default": [], }), target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, + deps = select({ + "@platforms//os:linux": [":_swift_runtime_cc_info"], + "//conditions:default": [], + }), ) # Swift FFI shim: wraps swift-syntax and exposes a small C ABI. @@ -46,7 +55,7 @@ rust_library( edition = "2024", target_compatible_with = UNIFIED_SUPPORTED_PLATFORMS, deps = [ - ":swift_runtime_rpath", + ":swift_runtime_linking", ":swift_syntax_ffi", ], ) diff --git a/unified/swift-syntax-rs/README.md b/unified/swift-syntax-rs/README.md index 8a93e4739d9d..f4e84e18f361 100644 --- a/unified/swift-syntax-rs/README.md +++ b/unified/swift-syntax-rs/README.md @@ -129,7 +129,7 @@ The build does not depend on any particular version manager. You need: - **Rust** — pinned to `1.88` by the repo-root [`rust-toolchain.toml`](../../rust-toolchain.toml), which `rustup` picks up automatically. - **Swift** — pinned to the version in [`.swift-version`](.swift-version) - (currently `6.3.2`), used to build `swift-syntax` `603.0.2`. Install it any way + (currently `6.3.3`), used to build `swift-syntax` `603.0.2`. Install it any way you like — [swift.org](https://www.swift.org/install/) or [swiftly](https://www.swift.org/swiftly/) (which reads `.swift-version`), or a system package. Just make sure `swift` (and `swiftc`) are on your `PATH` — diff --git a/unified/swift-syntax-rs/swift_runtime_linking.bzl b/unified/swift-syntax-rs/swift_runtime_linking.bzl new file mode 100644 index 000000000000..ec2577d2e3df --- /dev/null +++ b/unified/swift-syntax-rs/swift_runtime_linking.bzl @@ -0,0 +1,11 @@ +"""Expose the selected Swift toolchain's dynamic runtime to native dependents.""" + +load("@rules_swift//swift:swift.bzl", "swift_common") + +def _swift_runtime_linking_impl(ctx): + return [swift_common.get_toolchain(ctx).dynamic_runtime_cc_info] + +swift_runtime_linking = rule( + implementation = _swift_runtime_linking_impl, + toolchains = swift_common.use_toolchain(), +) From 8ebd3bc6cc4899c066fc992d9169fd8905dfbbf9 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema <93738568+jketema@users.noreply.github.com> Date: Wed, 12 Aug 2026 13:48:25 +0000 Subject: [PATCH 179/190] Bazel: Address Copilot review comment --- unified/swift-syntax-rs/BUILD.bazel | 2 ++ 1 file changed, 2 insertions(+) diff --git a/unified/swift-syntax-rs/BUILD.bazel b/unified/swift-syntax-rs/BUILD.bazel index b1d0d40207f7..95f644b200f4 100644 --- a/unified/swift-syntax-rs/BUILD.bazel +++ b/unified/swift-syntax-rs/BUILD.bazel @@ -14,6 +14,8 @@ swift_runtime_libs( swift_runtime_linking( name = "_swift_runtime_cc_info", + target_compatible_with = ["@platforms//os:linux"], + visibility = ["//visibility:private"], ) # On Linux, provide the downloaded Swift runtime at link time and look beside From d32650eaf99e69023953c1c8b0eae22deb92a559 Mon Sep 17 00:00:00 2001 From: Mads Navntoft Date: Thu, 13 Aug 2026 14:57:50 +0200 Subject: [PATCH 180/190] Use expected_files.add as context manager where applicable --- .../integration-tests/kotlin/all-platforms/logs/test.py | 3 +-- misc/pytest/lib/query_suites.py | 8 ++++---- .../integration-tests/posix/frontend-invocations/test.py | 3 +-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/java/ql/integration-tests/kotlin/all-platforms/logs/test.py b/java/ql/integration-tests/kotlin/all-platforms/logs/test.py index 38a385f0e7d3..44965f0f2dcc 100644 --- a/java/ql/integration-tests/kotlin/all-platforms/logs/test.py +++ b/java/ql/integration-tests/kotlin/all-platforms/logs/test.py @@ -6,9 +6,8 @@ def test(codeql, java_full, cwd: pathlib.Path, expected_files): codeql.database.create(command=["kotlinc test.kt"]) - expected_files.add("logs.actual") - with open("logs.actual", "w") as f_out: + with expected_files.add("logs.actual") as f_out: log_dir = cwd / "test-db" / "log" for file_index, log_file in enumerate(log_dir.glob("kotlin-extractor*.log"), 1): f_out.write(f"Log file {file_index}\n") diff --git a/misc/pytest/lib/query_suites.py b/misc/pytest/lib/query_suites.py index fcbb1f16bde0..1e70008f65bc 100644 --- a/misc/pytest/lib/query_suites.py +++ b/misc/pytest/lib/query_suites.py @@ -9,8 +9,8 @@ def ret(query_suite): actual = sorted(actual.splitlines()) actual = [os.path.relpath(q, semmle_code_dir) for q in actual] actual_file_name = query_suite + '.actual' - expected_files.add(actual_file_name) - (cwd / actual_file_name).write_text('\n'.join(actual) + '\n') + with expected_files.add(actual_file_name) as f: + f.write('\n'.join(actual) + '\n') return ret @pytest.fixture @@ -25,6 +25,6 @@ def ret(lang_folder_name, query_suites): not_included = sorted(set(all_queries) - included_in_qls) not_included = [os.path.relpath(q, semmle_code_dir) for q in not_included] not_included_file_name = 'not_included_in_qls.actual' - expected_files.add(not_included_file_name) - (cwd / not_included_file_name).write_text('\n'.join(not_included) + '\n') + with expected_files.add(not_included_file_name) as f: + f.write('\n'.join(not_included) + '\n') return ret diff --git a/swift/ql/integration-tests/posix/frontend-invocations/test.py b/swift/ql/integration-tests/posix/frontend-invocations/test.py index da5b231883e7..1ec0ed83eb87 100644 --- a/swift/ql/integration-tests/posix/frontend-invocations/test.py +++ b/swift/ql/integration-tests/posix/frontend-invocations/test.py @@ -13,7 +13,7 @@ def test(codeql, swift, expected_files): with open(f, "rb") as module: print(f.name, sha256(module.read()).hexdigest(), file=expected) - with open("hashes.actual", "w") as actual: + with expected_files.add("hashes.actual") as actual: hashes = [ (s.name, s.resolve().name) for s in Path("test-db/working/swift-extraction-artifacts/store").iterdir() @@ -21,4 +21,3 @@ def test(codeql, swift, expected_files): hashes.sort() for module, hash in hashes: print(module, hash, file=actual) - expected_files.add("hashes.actual") From 2c67a0878b103d7aeae6e9b0272adaa0ba6013ec Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 13 Aug 2026 15:17:57 +0200 Subject: [PATCH 181/190] Make android-gradle-incompatibility gating comment self-contained It no longer reads as a cross-reference to the android-8-sample comment. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f6519783-e7e9-4ddb-850f-e7b5b9f417f8 --- .../java/diagnostics/android-gradle-incompatibility/test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/ql/integration-tests/java/diagnostics/android-gradle-incompatibility/test.py b/java/ql/integration-tests/java/diagnostics/android-gradle-incompatibility/test.py index 64112d0e5e62..5131ab601762 100644 --- a/java/ql/integration-tests/java/diagnostics/android-gradle-incompatibility/test.py +++ b/java/ql/integration-tests/java/diagnostics/android-gradle-incompatibility/test.py @@ -1,7 +1,7 @@ import runs_on -# Deselected on linux-arm64: the build also fails there due to the x86_64-only aapt2 gap, which would conflate with the AGP/Gradle-incompatibility failure this test asserts. +# Deselected on linux-arm64: there the AGP build fails because no linux-aarch64 aapt2 exists, which is unrelated to the AGP/Gradle version incompatibility this test asserts and would otherwise let it pass for the wrong reason. @(runs_on.x86_64 or runs_on.macos) def test(codeql, java, gradle_7_3, android_sdk): codeql.database.create(_assert_failure=True) From 33c26b0a097d22cfc234cdc7cedb98ad03ac28b6 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 13 Aug 2026 16:38:12 +0200 Subject: [PATCH 182/190] Go: support linux-arm64 in autobuild scripts The go autobuilder, extractor and identify-environment tools are arch-native and their per-platform binaries are already built for linux-arm64, but the unix wrapper scripts hard-gated on linux64/osx64 and bailed with "Automatic build detection ... is not implemented" on arm64. Allow linux-arm64 so Go extraction works on native Linux Arm64. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- go/codeql-tools/autobuild.sh | 2 +- go/codeql-tools/identify-environment.sh | 2 +- go/codeql-tools/index.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go/codeql-tools/autobuild.sh b/go/codeql-tools/autobuild.sh index 585152e676e2..85060a3d9bde 100755 --- a/go/codeql-tools/autobuild.sh +++ b/go/codeql-tools/autobuild.sh @@ -2,7 +2,7 @@ set -eu -if [ "$CODEQL_PLATFORM" != "linux64" ] && [ "$CODEQL_PLATFORM" != "osx64" ] ; then +if [ "$CODEQL_PLATFORM" != "linux64" ] && [ "$CODEQL_PLATFORM" != "linux-arm64" ] && [ "$CODEQL_PLATFORM" != "osx64" ] ; then echo "Automatic build detection for $CODEQL_PLATFORM is not implemented." exit 1 fi diff --git a/go/codeql-tools/identify-environment.sh b/go/codeql-tools/identify-environment.sh index 27d483290656..917a59225744 100755 --- a/go/codeql-tools/identify-environment.sh +++ b/go/codeql-tools/identify-environment.sh @@ -2,7 +2,7 @@ set -eu -if [ "$CODEQL_PLATFORM" != "linux64" ] && [ "$CODEQL_PLATFORM" != "osx64" ] ; then +if [ "$CODEQL_PLATFORM" != "linux64" ] && [ "$CODEQL_PLATFORM" != "linux-arm64" ] && [ "$CODEQL_PLATFORM" != "osx64" ] ; then echo "Automatic build detection for $CODEQL_PLATFORM is not implemented." exit 1 fi diff --git a/go/codeql-tools/index.sh b/go/codeql-tools/index.sh index 877400d37f2a..de2790ceca70 100755 --- a/go/codeql-tools/index.sh +++ b/go/codeql-tools/index.sh @@ -2,7 +2,7 @@ set -eu -if [ "$CODEQL_PLATFORM" != "linux64" ] && [ "$CODEQL_PLATFORM" != "osx64" ] ; then +if [ "$CODEQL_PLATFORM" != "linux64" ] && [ "$CODEQL_PLATFORM" != "linux-arm64" ] && [ "$CODEQL_PLATFORM" != "osx64" ] ; then echo "Automatic build detection for $CODEQL_PLATFORM is not implemented." exit 1 fi From 8f5a8dbe2b5900f3f8bb8c40921748022d24c4a7 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Thu, 13 Aug 2026 17:30:19 +0200 Subject: [PATCH 183/190] Unified: Bazel downloaded toolchain on macOS --- MODULE.bazel | 22 +--- .../4.0.0-rc5-codeql.1/MODULE.bazel | 79 ++++++++++++++ .../register_downloaded_macos_toolchain.patch | 103 ++++++++++++++++++ .../4.0.0-rc5-codeql.1/source.json | 8 ++ .../modules/rules_swift/metadata.json | 11 ++ unified/swift-syntax-rs/BUILD.bazel | 4 +- unified/swift-syntax-rs/README.md | 24 ++-- unified/swift-syntax-rs/xcode_transition.bzl | 92 ---------------- 8 files changed, 216 insertions(+), 127 deletions(-) create mode 100644 misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/MODULE.bazel create mode 100644 misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/patches/register_downloaded_macos_toolchain.patch create mode 100644 misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/source.json create mode 100644 misc/bazel/registry/modules/rules_swift/metadata.json delete mode 100644 unified/swift-syntax-rs/xcode_transition.bzl diff --git a/MODULE.bazel b/MODULE.bazel index 0584af40dc69..be1ec97cfd99 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -31,13 +31,8 @@ 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.69.0") -bazel_dep(name = "rules_swift", version = "4.0.0-rc5") +bazel_dep(name = "rules_swift", version = "4.0.0-rc5-codeql.1") bazel_dep(name = "swift-syntax", version = "603.0.2") - -# Needed so we can `use_repo` `local_config_xcode` and -# `local_config_apple_cc_toolchains` below (referenced by the per-target -# Xcode-config transition in `unified/swift-syntax-rs/xcode_transition.bzl`). -bazel_dep(name = "apple_support", version = "2.8.0") bazel_dep(name = "zstd", version = "1.5.7.bcr.1") bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True) @@ -223,10 +218,7 @@ use_repo( "swift-resource-dir-macos", ) -# Swift toolchain for building `unified/swift-syntax-rs`. On Linux we register -# a hermetic swift.org toolchain as the exec toolchain; on macOS `rules_swift` -# auto-registers `xcode_swift_toolchain` (host Xcode + OS-provided Swift -# runtime), which is not hermetic. +# Hermetic swift.org toolchain for building `unified/swift-syntax-rs`. # # The version is pinned as a literal rather than read from # `unified/swift-syntax-rs/.swift-version` via `swift_version_file`: the latter @@ -244,20 +236,14 @@ use_repo( swift, "swift_toolchain", "swift_toolchain_ubuntu22.04", + "swift_toolchain_xcode", ) register_toolchains( "@swift_toolchain//:swift_toolchain_exec_ubuntu22.04", + "@swift_toolchain//:swift_toolchain_exec_xcode", ) -# `apple_support`'s xcode_config and CC toolchains, needed by the Xcode -# transition in `unified/swift-syntax-rs/xcode_transition.bzl`. -xcode_configure = use_extension("@apple_support//xcode:xcode_configure.bzl", "xcode_configure_extension") -use_repo(xcode_configure, "local_config_xcode") - -apple_cc_configure = use_extension("@apple_support//crosstool:setup.bzl", "apple_cc_configure_extension") -use_repo(apple_cc_configure, "local_config_apple_cc_toolchains") - node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node") node.toolchain( name = "nodejs", diff --git a/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/MODULE.bazel b/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/MODULE.bazel new file mode 100644 index 000000000000..f83ac395da02 --- /dev/null +++ b/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/MODULE.bazel @@ -0,0 +1,79 @@ +"""rules_swift MODULE.bazel file""" + +module( + name = "rules_swift", + version = "4.0.0-rc5-codeql.1", + bazel_compatibility = [">=8.0.0"], + compatibility_level = 3, +) + +bazel_dep(name = "abseil-cpp", version = "20250814.1") +bazel_dep(name = "apple_support", version = "2.8.0") +bazel_dep(name = "bazel_linux_packages", version = "0.4.1") +bazel_dep(name = "bazel_features", version = "1.51.0") +bazel_dep(name = "bazel_skylib", version = "1.7.1") +bazel_dep(name = "nlohmann_json", version = "3.12.0.bcr.1") +bazel_dep(name = "platforms", version = "0.0.11") +bazel_dep(name = "protobuf", version = "34.0.bcr.1") +bazel_dep(name = "rules_cc", version = "0.2.14") +bazel_dep(name = "rules_shell", version = "0.3.0") +bazel_dep(name = "swift_argument_parser", version = "1.7.0") + +apt = use_extension("@bazel_linux_packages//apt:extensions.bzl", "apt") +apt.ubuntu( + name = "swift_ubuntu22.04_sysroot", + architectures = ["amd64"], + lockfile = "//swift/internal/extensions:ubuntu22.04_sysroot.lock.json", + packages = [ + "libc6-dev", + "libcurl4-openssl-dev", + "libstdc++-11-dev", + "libxml2-dev", + "linux-libc-dev", + "zlib1g-dev", + ], + suites = ["jammy"], +) +apt.ubuntu( + name = "swift_ubuntu22.04_aarch64_sysroot", + architectures = ["arm64"], + lockfile = "//swift/internal/extensions:ubuntu22.04_aarch64_sysroot.lock.json", + packages = [ + "libc6-dev", + "libcurl4-openssl-dev", + "libstdc++-11-dev", + "libxml2-dev", + "linux-libc-dev", + "zlib1g-dev", + ], + suites = ["jammy"], +) +use_repo( + apt, + "swift_ubuntu22.04_aarch64_sysroot", + "swift_ubuntu22.04_sysroot", +) + +swift_autoconfiguration = use_repo_rule("//swift/internal:swift_autoconfiguration.bzl", "swift_autoconfiguration") + +swift_autoconfiguration(name = "rules_swift_local_config") + +http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +http_archive( + name = "rules_swift_index_import_5_8", + build_file = "//third_party:rules_swift_index_import/BUILD.overlay", + canonical_id = "index-import-5.8", + sha256 = "28c1ffa39d99e74ed70623899b207b41f79214c498c603915aef55972a851a15", + urls = ["https://github.com/MobileNativeFoundation/index-import/releases/download/5.8.0.1/index-import.tar.gz"], +) + +http_archive( + name = "rules_swift_index_import_6_1", + build_file = "//third_party:rules_swift_index_import/BUILD.overlay", + canonical_id = "index-import-6.1", + sha256 = "9a54fc1674af6031125a9884480a1e31e1bcf48b8f558b3e8bcc6b6fcd6e8b61", + urls = ["https://github.com/MobileNativeFoundation/index-import/releases/download/6.1.0.1/index-import.tar.gz"], +) + +register_toolchains("//swift/toolchains:all") diff --git a/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/patches/register_downloaded_macos_toolchain.patch b/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/patches/register_downloaded_macos_toolchain.patch new file mode 100644 index 000000000000..029f78c06f03 --- /dev/null +++ b/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/patches/register_downloaded_macos_toolchain.patch @@ -0,0 +1,103 @@ +diff --git a/swift/internal/extensions/toolchains.bzl b/swift/internal/extensions/toolchains.bzl +--- a/swift/internal/extensions/toolchains.bzl ++++ b/swift/internal/extensions/toolchains.bzl +@@ -132,12 +132,11 @@ def toolchains_for_platform(platform, toolchain_repository): + toolchain_repository = toolchain_repository, + ) + +- if platform != "xcode": +- content += _EXEC_TOOLCHAIN_PLATFORM.format( +- exec_compatible_with = _exec_compatible_with_for_platform(platform), +- platform = platform, +- toolchain_repository = toolchain_repository, +- ) ++ content += _EXEC_TOOLCHAIN_PLATFORM.format( ++ exec_compatible_with = _exec_compatible_with_for_platform(platform), ++ platform = platform, ++ toolchain_repository = toolchain_repository, ++ ) + + if platform in ( + "ubuntu22.04", +diff --git a/swift/toolchains/swift_toolchain.bzl b/swift/toolchains/swift_toolchain.bzl +--- a/swift/toolchains/swift_toolchain.bzl ++++ b/swift/toolchains/swift_toolchain.bzl +@@ -605,10 +605,14 @@ def _parse_target_system_name(*, arch, os, target_system_name): + """Returns the target system name set by the CC toolchain or attempts to create one based on the OS and arch.""" + + if target_system_name and target_system_name != "local": ++ if os == "macos" and target_system_name.endswith(("-macos", "-macosx")): ++ return target_system_name + "10.15" + return target_system_name + + if os == "linux": + return "%s-unknown-linux-gnu" % arch ++ elif os == "macos": ++ return "%s-apple-macos10.15" % arch + elif os == "windows": + # The MSVC cc toolchain reports a `target_gnu_system_name` of "local", + # so synthesize the triple. +@@ -706,5 +710,16 @@ def _swift_toolchain_impl(ctx): + elif ctx.attr.os == "none": + swift_linkopts_cc_info = CcInfo() ++ elif ctx.attr.os == "macos": ++ macos_linkopts = ["-L{}".format(paths.join(toolchain_root, "lib/swift/macosx"))] ++ if sdkroot: ++ macos_linkopts.append("-L{}".format(paths.join(sdkroot, "usr/lib/swift"))) ++ swift_linkopts_cc_info = _swift_sdk_linkopts_cc_info( ++ ctx.label, ++ macos_linkopts, ++ ctx.attr.swift_tools[SwiftToolsInfo].additional_inputs if ctx.attr.swift_tools else [], ++ ) ++ dynamic_runtime_cc_info = None ++ static_runtime_cc_info = None + elif ctx.attr.os == "android": + if not sdkroot: + fail("Android toolchain requires a sysroot to be set, either via the `sdkroot` attribute or by using a CC toolchain that provides one.") +diff --git a/swift/internal/extensions/toolchain.BUILD b/swift/internal/extensions/toolchain.BUILD +--- a/swift/internal/extensions/toolchain.BUILD ++++ b/swift/internal/extensions/toolchain.BUILD +@@ -333,17 +333,22 @@ swift_toolchain( + features = [ + "swift._supports_upcoming_features", + "swift.no_embed_debug_module", +- "swift.use_autolink_extract", +- "swift.lld_gc_workaround", +- "swift.use_module_wrap", + # TODO: This should be removed so that private headers can be used with + # explicit modules, but the build targets for CgRPC need to be cleaned up + # first because they contain C++ code. + "swift.module_map_no_private_headers", +- ], ++ ] + select({ ++ "@platforms//os:linux": [ ++ "swift.lld_gc_workaround", ++ "swift.use_autolink_extract", ++ "swift.use_module_wrap", ++ ], ++ "//conditions:default": [], ++ }), + os = select({ + "@platforms//os:linux": "linux", + "@platforms//os:macos": "macos", + }), + parsed_version = "{swift_version}", ++ sdkroot = "{macos_sdkroot}", + static_runtime = select({ +diff --git a/swift/internal/extensions/standalone_toolchain.bzl b/swift/internal/extensions/standalone_toolchain.bzl +--- a/swift/internal/extensions/standalone_toolchain.bzl ++++ b/swift/internal/extensions/standalone_toolchain.bzl +@@ -91,11 +91,13 @@ def _standalone_toolchain_impl(repository_ctx): + strip_prefix = filename.removesuffix(".tar.gz"), + ) + ++ macos_sdkroot = _run(repository_ctx, ["xcrun", "--sdk", "macosx", "--show-sdk-path"]) if repository_ctx.attr.platform == "xcode" else "" + repository_ctx.file(".swift-version", repository_ctx.attr.swift_version) + repository_ctx.template( + "BUILD.bazel", + repository_ctx.attr._build_template, + substitutions = { ++ "{macos_sdkroot}": macos_sdkroot, + "{swift_version}": repository_ctx.attr.swift_version, + }, + ) diff --git a/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/source.json b/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/source.json new file mode 100644 index 000000000000..fd5c4f2047e7 --- /dev/null +++ b/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/source.json @@ -0,0 +1,8 @@ +{ + "integrity": "sha256-Ly2lS4AlZJMiyqAxKHyCB+2pGeP5aYkQ6zv8QheeSTI=", + "url": "https://github.com/bazelbuild/rules_swift/releases/download/4.0.0-rc5/rules_swift.4.0.0-rc5.tar.gz", + "patches": { + "register_downloaded_macos_toolchain.patch": "sha256-kFzGyE1MhhiDxUfEzRPUTahvycyy+VNgPzQ5I44zRYc=" + }, + "patch_strip": 1 +} diff --git a/misc/bazel/registry/modules/rules_swift/metadata.json b/misc/bazel/registry/modules/rules_swift/metadata.json new file mode 100644 index 000000000000..188799c9dbf9 --- /dev/null +++ b/misc/bazel/registry/modules/rules_swift/metadata.json @@ -0,0 +1,11 @@ +{ + "homepage": "https://github.com/bazelbuild/rules_swift", + "maintainers": [], + "repository": [ + "github:bazelbuild/rules_swift" + ], + "versions": [ + "4.0.0-rc5-codeql.1" + ], + "yanked_versions": {} +} diff --git a/unified/swift-syntax-rs/BUILD.bazel b/unified/swift-syntax-rs/BUILD.bazel index 95f644b200f4..91a28dc40505 100644 --- a/unified/swift-syntax-rs/BUILD.bazel +++ b/unified/swift-syntax-rs/BUILD.bazel @@ -1,9 +1,9 @@ load("@rules_cc//cc:defs.bzl", "cc_library") load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test") +load("@rules_swift//swift:swift.bzl", "swift_library") load("//unified:platforms.bzl", "UNIFIED_SUPPORTED_PLATFORMS") load(":swift_runtime.bzl", "swift_runtime_libs") load(":swift_runtime_linking.bzl", "swift_runtime_linking") -load(":xcode_transition.bzl", "xcode_transition_swift_library") package(default_visibility = ["//visibility:public"]) @@ -34,7 +34,7 @@ cc_library( ) # Swift FFI shim: wraps swift-syntax and exposes a small C ABI. -xcode_transition_swift_library( +swift_library( name = "swift_syntax_ffi", srcs = ["swift/Sources/SwiftSyntaxFFI/SwiftSyntaxFFI.swift"], module_name = "SwiftSyntaxFFI", diff --git a/unified/swift-syntax-rs/README.md b/unified/swift-syntax-rs/README.md index f4e84e18f361..299fc40951a6 100644 --- a/unified/swift-syntax-rs/README.md +++ b/unified/swift-syntax-rs/README.md @@ -174,26 +174,20 @@ Requirements: - **`clang`** must be installed on the runner. `rules_swift` requires the Bazel CC toolchain to use clang; the repo's `.bazelrc` already sets `--repo_env=CC=clang`, so no extra flags are needed. -- The registered Swift toolchains cover **ubuntu24.04 / x86_64** and - **macOS / `xcode`** (Apple Silicon and Intel). Bazel selects the toolchain - matching the host. Targets are marked `target_compatible_with` these two - OSes, so on Windows Bazel skips them cleanly. -- **macOS only:** the Swift toolchain comes from the host Xcode installation - (`rules_swift` auto-registers `xcode_swift_toolchain`), which also needs - Xcode's CC toolchain and xcode_config; these are applied to the Swift - target via an incoming-edge Starlark transition (see - [`xcode_transition.bzl`](xcode_transition.bzl)), so other targets on macOS - keep using Bazel's default CC toolchain. +- The registered Swift toolchains cover **ubuntu22.04 / x86_64** and + **macOS** (Apple Silicon and Intel). Bazel selects the toolchain matching the + host. Targets are marked `target_compatible_with` these two OSes, so on + Windows Bazel skips them cleanly. +- **macOS only:** `rules_swift` downloads the pinned Swift toolchain from + swift.org. The Bazel C++ toolchain must still provide the macOS SDK, but a + full Xcode installation is not required. The Swift compiler version is kept in sync across three places: the [`.swift-version`](.swift-version) file (read by the local `cargo`/`swift build` and by [swiftly](https://www.swift.org/swiftly/)), the literal `swift_version` pinned on `swift.toolchain(...)` in the root `MODULE.bazel` (the hermetic -swift.org **Linux** Bazel toolchain), and the `swift-syntax` release in -`swift/Package.swift`. On **macOS** the version is *not* pinned by the Bazel -build: `rules_swift` auto-registers the host `xcode_swift_toolchain`, which uses -whichever Swift ships with the installed Xcode. So the pin governs Linux (and -local) builds, while the macOS compiler version depends on the host Xcode. +swift.org Bazel toolchain), and the `swift-syntax` release in +`swift/Package.swift`. (The Bazel toolchain pins a literal rather than reading `.swift-version` via `swift_version_file`, because the latter makes the module extension read a diff --git a/unified/swift-syntax-rs/xcode_transition.bzl b/unified/swift-syntax-rs/xcode_transition.bzl deleted file mode 100644 index 9783c0fc8719..000000000000 --- a/unified/swift-syntax-rs/xcode_transition.bzl +++ /dev/null @@ -1,92 +0,0 @@ -"""Per-target Xcode configuration for `//unified/swift-syntax-rs` on macOS. - -`rules_swift`'s auto-registered `xcode_swift_toolchain` reads -`cc_toolchain.target_gnu_system_name`, which is literally "local" on -Bazel's built-in `local_config_cc`. To make it usable we need: - -- `--xcode_version_config=@local_config_xcode//:host_xcodes` — selects - `apple_support`'s xcode_config (matches `rules_swift`'s `system_sdk` keys). -- `--extra_toolchains=@local_config_apple_cc_toolchains//:all` — forces - `apple_support`'s CC toolchain ahead of `local_config_cc`. - -Applied via an incoming-edge Starlark transition on the `swift_library` -target only (via the `xcode_transition_swift_library` macro), so downstream -Rust targets and the rest of the repo stay on the default CC toolchain and -the `@local_config_*` repos are not materialized otherwise. No-op off macOS. -""" - -load("@rules_cc//cc/common:cc_info.bzl", "CcInfo") -load("@rules_swift//swift:swift.bzl", "swift_library") -load("//misc/bazel:os.bzl", "os_select") - -_XCODE_VERSION_CONFIG = "//command_line_option:xcode_version_config" -_EXTRA_TOOLCHAINS = "//command_line_option:extra_toolchains" - -def _transition_impl(settings, attr): - if attr.os != "macos": - return {} - else: - return { - _XCODE_VERSION_CONFIG: "@local_config_xcode//:host_xcodes", - _EXTRA_TOOLCHAINS: ( - list(settings[_EXTRA_TOOLCHAINS]) + - ["@local_config_apple_cc_toolchains//:all"] - ), - } - -_xcode_transition = transition( - implementation = _transition_impl, - inputs = [_EXTRA_TOOLCHAINS], - outputs = [_XCODE_VERSION_CONFIG, _EXTRA_TOOLCHAINS], -) - -def _wrapper_impl(ctx): - src = ctx.attr.actual[0] - - # Forward the providers a downstream `rust_*` target reads from `deps`: - # `DefaultInfo`, `CcInfo` (linking info), and `OutputGroupInfo`. - providers = [src[DefaultInfo]] - for p in (CcInfo, OutputGroupInfo): - if p in src: - providers.append(src[p]) - return providers - -_xcode_transition_swift_library_rule = rule( - implementation = _wrapper_impl, - attrs = { - "actual": attr.label( - mandatory = True, - cfg = _xcode_transition, - providers = [CcInfo], - ), - "os": attr.string(mandatory = True), - "_allowlist_function_transition": attr.label( - default = "@bazel_tools//tools/allowlists/function_transition_allowlist", - ), - }, -) - -def xcode_transition_swift_library(name, visibility = None, tags = None, target_compatible_with = None, **kwargs): - """`swift_library` wrapped in the macOS Xcode-config transition. - - Emits a private inner `_impl_` `swift_library` (tagged `manual`) - and a public `name` that applies the transition on macOS and forwards - the inner target's providers. Downstream `rust_*` targets depend on - `name` as usual; only the `swift_library` sub-graph flips toolchain. - """ - inner_name = "_impl_%s" % name - swift_library( - name = inner_name, - visibility = ["//visibility:private"], - tags = (tags or []) + ["manual"], - target_compatible_with = target_compatible_with, - **kwargs - ) - _xcode_transition_swift_library_rule( - name = name, - visibility = visibility, - tags = tags, - target_compatible_with = target_compatible_with, - actual = ":" + inner_name, - os = os_select(linux = "linux", macos = "macos", default = "other"), - ) From cca2c0695394b65984b9c23a34831c40695a0ab7 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 13 Aug 2026 17:54:14 +0200 Subject: [PATCH 184/190] C#: support linux-arm64 in autobuild script Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- csharp/tools/autobuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csharp/tools/autobuild.sh b/csharp/tools/autobuild.sh index e8e007a10d74..39d10b38f3b5 100755 --- a/csharp/tools/autobuild.sh +++ b/csharp/tools/autobuild.sh @@ -2,7 +2,7 @@ set -eu -if [ "$CODEQL_PLATFORM" != "linux64" ] && [ "$CODEQL_PLATFORM" != "osx64" ] ; then +if [ "$CODEQL_PLATFORM" != "linux64" ] && [ "$CODEQL_PLATFORM" != "linux-arm64" ] && [ "$CODEQL_PLATFORM" != "osx64" ] ; then echo "Automatic build detection for $CODEQL_PLATFORM is not implemented." exit 1 fi From 5a8f9b8d75b8a369143757f652aa07c8ac38548a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 00:28:36 +0000 Subject: [PATCH 185/190] Add changed framework coverage reports --- java/documentation/library-coverage/coverage.csv | 2 +- java/documentation/library-coverage/coverage.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/documentation/library-coverage/coverage.csv b/java/documentation/library-coverage/coverage.csv index e3893d193663..ef3a711c8dcf 100644 --- a/java/documentation/library-coverage/coverage.csv +++ b/java/documentation/library-coverage/coverage.csv @@ -88,7 +88,7 @@ java.applet,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,11, java.awt,1,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,3 java.beans,1,,177,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,82,95 java.io,66,1,225,,,,,,,,,22,,,,,,,,,,,,,,,29,15,,,,,,,,,,,,,,,,,,,,,,,,,1,,202,23 -java.lang,38,3,790,,13,,,,,,1,,,,,,,,,,,,8,,,,2,9,,,4,,,1,,,,,,,,,,,,,,,,,,3,,,510,280 +java.lang,38,3,789,,13,,,,,,1,,,,,,,,,,,,8,,,,2,9,,,4,,,1,,,,,,,,,,,,,,,,,,3,,,509,280 java.math,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9 java.net,23,3,347,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,,,,,,,,,,,,,,,,,3,248,99 java.nio,47,,499,,,,,,,,,5,,,,,,,,,,,,,,,25,16,,,,,,,,,1,,,,,,,,,,,,,,,,,,302,197 diff --git a/java/documentation/library-coverage/coverage.rst b/java/documentation/library-coverage/coverage.rst index 70d02b68751e..0b4387b476d7 100644 --- a/java/documentation/library-coverage/coverage.rst +++ b/java/documentation/library-coverage/coverage.rst @@ -26,7 +26,7 @@ Java framework & library support `JBoss Logging `_,``org.jboss.logging``,,,324,,,,,, `JSON-java `_,``org.json``,,236,,,,,,, `Jackson `_,``com.fasterxml.jackson.*``,,9,2,2,,,,, - Java Standard Library,``java.*``,10,4629,260,99,,9,,,26 + Java Standard Library,``java.*``,10,4628,260,99,,9,,,26 Java extensions,"``javax.*``, ``jakarta.*``",101,4185,90,10,4,2,1,1,4 `Jetty `_,``org.eclipse.jetty.client``,,,2,,,,,,2 Kotlin Standard Library,``kotlin*``,,1849,16,14,,,,,2 @@ -41,5 +41,5 @@ Java framework & library support `Thymeleaf `_,``org.thymeleaf``,,2,2,,,,,, `jOOQ `_,``org.jooq``,,,1,,,1,,, Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.com.caucho.hessian.io``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.caucho.burlap.io``, ``com.caucho.hessian.io``, ``com.cedarsoftware.util.io``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.esotericsoftware.yamlbeans``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.opensymphony.xwork2``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``hudson``, ``io.jsonwebtoken``, ``io.r2dbc.spi``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.avro``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.fileupload``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hc.client5.http.protocol``, ``org.apache.hc.client5.http.utils``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.poi``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.codehaus.cargo.container.installer``, ``org.dom4j``, ``org.exolab.castor.xml``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.ho.yaml``, ``org.influxdb``, ``org.jabsorb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.xml.sax``, ``org.xmlpull.v1``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",151,8258,824,188,6,20,18,,186 - Totals,,406,28637,2765,461,16,151,33,1,416 + Totals,,406,28636,2765,461,16,151,33,1,416 From bb4ad0905221fb5a73c0ee64c847a6ff33e13929 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 03:05:06 +0000 Subject: [PATCH 186/190] Bump golang.org/x/mod Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/mod](https://github.com/golang/mod). Updates `golang.org/x/mod` from 0.38.0 to 0.39.0 - [Commits](https://github.com/golang/mod/compare/v0.38.0...v0.39.0) --- updated-dependencies: - dependency-name: golang.org/x/mod dependency-version: 0.39.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: extractor-dependencies ... Signed-off-by: dependabot[bot] --- go/extractor/go.mod | 2 +- go/extractor/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go/extractor/go.mod b/go/extractor/go.mod index c92b654c8c6c..fc48b4cffeba 100644 --- a/go/extractor/go.mod +++ b/go/extractor/go.mod @@ -9,7 +9,7 @@ toolchain go1.26.5 // when adding or removing dependencies, run // bazel mod tidy require ( - golang.org/x/mod v0.38.0 + golang.org/x/mod v0.39.0 golang.org/x/tools v0.48.0 ) diff --git a/go/extractor/go.sum b/go/extractor/go.sum index b57649cbb351..889863082b11 100644 --- a/go/extractor/go.sum +++ b/go/extractor/go.sum @@ -6,8 +6,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk= -golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40= +golang.org/x/mod v0.39.0 h1:UF5zwQdCRRUpHfyPwr7d4UrGiVeldIsogtzWVnczL74= +golang.org/x/mod v0.39.0/go.mod h1:bvIbwjQ0HUFFf5AKukeeYQG4ZBUG9yxQbR9aEweIwYY= golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= From bb64af0b892031d0c2d6a02bb704fa29b6d13a98 Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Wed, 12 Aug 2026 14:03:29 +0200 Subject: [PATCH 187/190] Java: add regression test for Maven version property Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 77fc65d2-e1bb-46b1-a73d-aed6101a7596 --- .../maven-enforcer-property-version/pom.xml | 134 ++++++++++++++++++ .../settings.xml | 10 ++ .../source_archive.expected | 11 ++ .../src/main/java/com/example/App.java | 30 ++++ .../src/main/resources/my-app.properties | 1 + .../src/main/resources/page.xml | 8 ++ .../src/main/resources/struts.xml | 4 + .../src/test/java/com/example/AppTest.java | 20 +++ .../maven-enforcer-property-version/test.py | 9 ++ .../maven-enforcer-single-version/test.py | 1 + 10 files changed, 228 insertions(+) create mode 100644 java/ql/integration-tests/java/maven-enforcer-property-version/pom.xml create mode 100644 java/ql/integration-tests/java/maven-enforcer-property-version/settings.xml create mode 100644 java/ql/integration-tests/java/maven-enforcer-property-version/source_archive.expected create mode 100644 java/ql/integration-tests/java/maven-enforcer-property-version/src/main/java/com/example/App.java create mode 100644 java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/my-app.properties create mode 100644 java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/page.xml create mode 100644 java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/struts.xml create mode 100644 java/ql/integration-tests/java/maven-enforcer-property-version/src/test/java/com/example/AppTest.java create mode 100644 java/ql/integration-tests/java/maven-enforcer-property-version/test.py diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/pom.xml b/java/ql/integration-tests/java/maven-enforcer-property-version/pom.xml new file mode 100644 index 000000000000..1fde7386b72b --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/pom.xml @@ -0,0 +1,134 @@ + + + + 4.0.0 + + com.example + maven-sample + 1.0-SNAPSHOT + + maven-sample + + http://www.example.com + + + UTF-8 + 1.7 + 1.7 + 3.9.1 + + + + + junit + junit + 4.11 + test + + + + + + + exec-maven-plugin + org.codehaus.mojo + 1.1.1 + + + check-maven-version + package + + java + + + + + com.example.App + + + + com.diffplug.spotless + spotless-maven-plugin + 2.19.1 + + + + check + + compile + + + + + + /* FAIL ME */ + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + + + enforce-maven + + enforce + + + + + ${maven.version} + + + + + + + + + + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-jar-plugin + 3.0.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + maven-site-plugin + 3.7.1 + + + maven-project-info-reports-plugin + 3.0.0 + + + + + diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/settings.xml b/java/ql/integration-tests/java/maven-enforcer-property-version/settings.xml new file mode 100644 index 000000000000..a40670670a62 --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/settings.xml @@ -0,0 +1,10 @@ + + + + google-maven-central + GCS Maven Central mirror + https://maven-central.storage-download.googleapis.com/maven2/ + central + + + diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/source_archive.expected b/java/ql/integration-tests/java/maven-enforcer-property-version/source_archive.expected new file mode 100644 index 000000000000..d86dae4531fd --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/source_archive.expected @@ -0,0 +1,11 @@ +pom.xml +settings.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/page.xml +target/classes/struts.xml +target/maven-archiver/pom.properties diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/java/com/example/App.java b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/java/com/example/App.java new file mode 100644 index 000000000000..3229e21835cd --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/java/com/example/App.java @@ -0,0 +1,30 @@ +package com.example; + +import java.util.regex.Pattern; +import java.nio.file.Path; +import java.nio.file.Paths; + +/** + * Hello world! + * + */ +public class App +{ + public static void main( String[] args ) + { + System.out.println( "Hello World!" ); + String expectedVersion = System.getenv("EXPECT_MAVEN"); + Path mavenHome = Paths.get(System.getProperty("maven.home")).normalize(); + String observedVersion = mavenHome.getFileName().toString(); + if (expectedVersion != null && !expectedVersion.equals(observedVersion)) { + System.err.println("Wrong maven version, expected '" + expectedVersion + "' but got '" + observedVersion + "'" + mavenHome); + System.exit(1); + } + String commandMatcher = System.getenv("EXPECT_COMMAND_REGEX"); + String command = System.getProperty("sun.java.command"); + if (commandMatcher != null && !Pattern.matches(commandMatcher, command)) { + System.err.println("Wrong command line, '" + command + "' does not match '" + commandMatcher + "'"); + System.exit(1); + } + } +} diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/my-app.properties b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/my-app.properties new file mode 100644 index 000000000000..e566b49a29a8 --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/my-app.properties @@ -0,0 +1 @@ +version=1.0 diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/page.xml b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/page.xml new file mode 100644 index 000000000000..2bab459cb031 --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/page.xml @@ -0,0 +1,8 @@ + + +A sample + + +

Hello world!

+ + diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/struts.xml b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/struts.xml new file mode 100644 index 000000000000..73fc0c6b9cb6 --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/src/main/resources/struts.xml @@ -0,0 +1,4 @@ + + +This is a sample file + diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/src/test/java/com/example/AppTest.java b/java/ql/integration-tests/java/maven-enforcer-property-version/src/test/java/com/example/AppTest.java new file mode 100644 index 000000000000..328b4d97ce59 --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/src/test/java/com/example/AppTest.java @@ -0,0 +1,20 @@ +package com.example; + +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +/** + * Unit test for simple App. + */ +public class AppTest +{ + /** + * Rigorous Test :-) + */ + @Test + public void shouldAnswerWithTrue() + { + assertTrue( true ); + } +} diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/test.py b/java/ql/integration-tests/java/maven-enforcer-property-version/test.py new file mode 100644 index 000000000000..ac4bff0d9e26 --- /dev/null +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/test.py @@ -0,0 +1,9 @@ +import os + +def test(codeql, java): + codeql.database.create( + _env={ + "EXPECT_MAVEN": "apache-maven-3.9.9", + "LGTM_INDEX_MAVEN_SETTINGS_FILE": os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings.xml"), + }, + ) diff --git a/java/ql/integration-tests/java/maven-enforcer-single-version/test.py b/java/ql/integration-tests/java/maven-enforcer-single-version/test.py index a71c8821d5e6..ac4bff0d9e26 100644 --- a/java/ql/integration-tests/java/maven-enforcer-single-version/test.py +++ b/java/ql/integration-tests/java/maven-enforcer-single-version/test.py @@ -3,6 +3,7 @@ def test(codeql, java): codeql.database.create( _env={ + "EXPECT_MAVEN": "apache-maven-3.9.9", "LGTM_INDEX_MAVEN_SETTINGS_FILE": os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings.xml"), }, ) From 668f4e836ef70bacad089fa13c05f97cb0cc5cba Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Wed, 12 Aug 2026 14:49:51 +0200 Subject: [PATCH 188/190] Java: test Maven 3.9.16 selection Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: e435859b-f4ed-442f-b649-5e1002031780 --- .../java/maven-enforcer-property-version/test.py | 2 +- .../java/maven-enforcer-single-version/test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java/ql/integration-tests/java/maven-enforcer-property-version/test.py b/java/ql/integration-tests/java/maven-enforcer-property-version/test.py index ac4bff0d9e26..295db6762b6f 100644 --- a/java/ql/integration-tests/java/maven-enforcer-property-version/test.py +++ b/java/ql/integration-tests/java/maven-enforcer-property-version/test.py @@ -3,7 +3,7 @@ def test(codeql, java): codeql.database.create( _env={ - "EXPECT_MAVEN": "apache-maven-3.9.9", + "EXPECT_MAVEN": "apache-maven-3.9.16", "LGTM_INDEX_MAVEN_SETTINGS_FILE": os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings.xml"), }, ) diff --git a/java/ql/integration-tests/java/maven-enforcer-single-version/test.py b/java/ql/integration-tests/java/maven-enforcer-single-version/test.py index ac4bff0d9e26..295db6762b6f 100644 --- a/java/ql/integration-tests/java/maven-enforcer-single-version/test.py +++ b/java/ql/integration-tests/java/maven-enforcer-single-version/test.py @@ -3,7 +3,7 @@ def test(codeql, java): codeql.database.create( _env={ - "EXPECT_MAVEN": "apache-maven-3.9.9", + "EXPECT_MAVEN": "apache-maven-3.9.16", "LGTM_INDEX_MAVEN_SETTINGS_FILE": os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings.xml"), }, ) From fe0e62206d55ed767d5b67c2d92515d5e7e99415 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Fri, 14 Aug 2026 11:22:46 +0200 Subject: [PATCH 189/190] Unified: Address Copilot code review --- .../register_downloaded_macos_toolchain.patch | 76 ++++++++++++++++++- .../4.0.0-rc5-codeql.1/source.json | 2 +- 2 files changed, 75 insertions(+), 3 deletions(-) diff --git a/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/patches/register_downloaded_macos_toolchain.patch b/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/patches/register_downloaded_macos_toolchain.patch index 029f78c06f03..6d94822e0247 100644 --- a/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/patches/register_downloaded_macos_toolchain.patch +++ b/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/patches/register_downloaded_macos_toolchain.patch @@ -87,11 +87,15 @@ diff --git a/swift/internal/extensions/toolchain.BUILD b/swift/internal/extensio diff --git a/swift/internal/extensions/standalone_toolchain.bzl b/swift/internal/extensions/standalone_toolchain.bzl --- a/swift/internal/extensions/standalone_toolchain.bzl +++ b/swift/internal/extensions/standalone_toolchain.bzl -@@ -91,11 +91,13 @@ def _standalone_toolchain_impl(repository_ctx): +@@ -91,11 +91,17 @@ def _standalone_toolchain_impl(repository_ctx): strip_prefix = filename.removesuffix(".tar.gz"), ) -+ macos_sdkroot = _run(repository_ctx, ["xcrun", "--sdk", "macosx", "--show-sdk-path"]) if repository_ctx.attr.platform == "xcode" else "" ++ macos_sdkroot = "" ++ if repository_ctx.attr.platform == "xcode": ++ macos_sdkroot = _run(repository_ctx, ["xcrun", "--sdk", "macosx", "--show-sdk-path"]) ++ repository_ctx.watch(macos_sdkroot) ++ repository_ctx.file(".swift-version", repository_ctx.attr.swift_version) repository_ctx.template( "BUILD.bazel", @@ -101,3 +105,71 @@ diff --git a/swift/internal/extensions/standalone_toolchain.bzl b/swift/internal "{swift_version}": repository_ctx.attr.swift_version, }, ) +@@ -107,19 +109,29 @@ def _standalone_toolchain_impl(repository_ctx): +-standalone_toolchain = repository_rule( +- implementation = _standalone_toolchain_impl, +- attrs = { +- "_build_template": attr.label( +- default = "//swift/internal/extensions:toolchain.BUILD", +- ), +- "platform": attr.string( +- doc = "The host platform name in the swift package download URL", +- mandatory = True, +- ), +- "sha256": attr.string( +- doc = "The expected SHA-256 of the file downloaded. This must match the SHA-256 of the file downloaded.", +- ), +- "swift_version": attr.string( +- doc = "Version of the swift toolchain to be installed.", +- mandatory = True, +- ), +- }, ++_STANDALONE_TOOLCHAIN_ATTRS = { ++ "_build_template": attr.label( ++ default = "//swift/internal/extensions:toolchain.BUILD", ++ ), ++ "platform": attr.string( ++ doc = "The host platform name in the swift package download URL", ++ mandatory = True, ++ ), ++ "sha256": attr.string( ++ doc = "The expected SHA-256 of the file downloaded. This must match the SHA-256 of the file downloaded.", ++ ), ++ "swift_version": attr.string( ++ doc = "Version of the swift toolchain to be installed.", ++ mandatory = True, ++ ), ++} ++ ++standalone_toolchain = repository_rule( ++ implementation = _standalone_toolchain_impl, ++ attrs = _STANDALONE_TOOLCHAIN_ATTRS, ++) ++ ++standalone_macos_toolchain = repository_rule( ++ implementation = _standalone_toolchain_impl, ++ attrs = _STANDALONE_TOOLCHAIN_ATTRS, ++ configure = True, ++ environ = ["DEVELOPER_DIR"], ++ local = True, + ) +diff --git a/swift/extensions.bzl b/swift/extensions.bzl +--- a/swift/extensions.bzl ++++ b/swift/extensions.bzl +@@ -17 +17,5 @@ +-load("//swift/internal/extensions:standalone_toolchain.bzl", "standalone_toolchain") ++load( ++ "//swift/internal/extensions:standalone_toolchain.bzl", ++ "standalone_macos_toolchain", ++ "standalone_toolchain", ++) +@@ -182,7 +186,8 @@ def _standalone_toolchain_impl(module_ctx): + toolchain_releases = toolchain.platform_sha256.items() or swift_releases[swift_version].items() + for platform, sha256 in toolchain_releases: + repository_name = toolchain.name + "_{}".format(platform) +- standalone_toolchain( ++ toolchain_repository = standalone_macos_toolchain if platform == "xcode" else standalone_toolchain ++ toolchain_repository( + name = repository_name, + sha256 = sha256, + platform = platform, diff --git a/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/source.json b/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/source.json index fd5c4f2047e7..4f98e32f3d62 100644 --- a/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/source.json +++ b/misc/bazel/registry/modules/rules_swift/4.0.0-rc5-codeql.1/source.json @@ -2,7 +2,7 @@ "integrity": "sha256-Ly2lS4AlZJMiyqAxKHyCB+2pGeP5aYkQ6zv8QheeSTI=", "url": "https://github.com/bazelbuild/rules_swift/releases/download/4.0.0-rc5/rules_swift.4.0.0-rc5.tar.gz", "patches": { - "register_downloaded_macos_toolchain.patch": "sha256-kFzGyE1MhhiDxUfEzRPUTahvycyy+VNgPzQ5I44zRYc=" + "register_downloaded_macos_toolchain.patch": "sha256-249WJ4YEH2HmxlvGftl4eD53792joKJx9Dh0j5eHAgo=" }, "patch_strip": 1 } From 69660446fc530057f8365d36e2309a4d5986150f Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 14 Aug 2026 15:04:40 +0200 Subject: [PATCH 190/190] C#: add linux-arm64 to standalone_dependencies assembly path normalization Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../standalone_dependencies_executing_runtime/Assemblies.ql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_executing_runtime/Assemblies.ql b/csharp/ql/integration-tests/posix/standalone_dependencies_executing_runtime/Assemblies.ql index b5634fb7b96a..ec5297f39aa4 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_executing_runtime/Assemblies.ql +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_executing_runtime/Assemblies.ql @@ -3,7 +3,7 @@ import csharp private string getPath(Assembly a) { not a.getCompilation().getOutputAssembly() = a and exists(string s | s = a.getFile().getAbsolutePath() | - exists(string sub | sub = "csharp/tools/" + ["osx64", "linux64"] | + exists(string sub | sub = "csharp/tools/" + ["osx64", "linux64", "linux-arm64"] | result = "[...]/csharp/tools/[...]" + s.substring(s.indexOf(sub) + sub.length(), s.length()) ) or