From 12ba25696421db9e05b57039749cf1a67bd00acf Mon Sep 17 00:00:00 2001 From: ugo96 Date: Tue, 27 May 2025 02:56:39 -0700 Subject: [PATCH 01/15] Update dependencies --- Cargo.lock | 1230 +++++++++++++++++++++++++++------------------------- Cargo.toml | 2 +- 2 files changed, 641 insertions(+), 591 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 64634c69da..c4e5d6c1bc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,7 +23,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom", + "getrandom 0.2.16", "once_cell", "version_check", ] @@ -105,19 +105,20 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa" dependencies = [ "anstyle", + "once_cell_polyfill", "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.95" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "argon2" @@ -138,9 +139,9 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "assert_cmd" -version = "2.0.16" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1835b7f27878de8525dc71410b5a31cdcc5f230aed5ba5df968e09c201b23d" +checksum = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66" dependencies = [ "anstyle", "bstr", @@ -187,14 +188,15 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" +checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" dependencies = [ "async-task", "concurrent-queue", "fastrand 2.3.0", - "futures-lite 2.5.0", + "futures-lite 2.6.0", + "pin-project-lite", "slab", ] @@ -206,10 +208,10 @@ checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" dependencies = [ "async-channel 2.3.1", "async-executor", - "async-io 2.4.0", + "async-io 2.4.1", "async-lock 3.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "once_cell", ] @@ -235,18 +237,18 @@ dependencies = [ [[package]] name = "async-io" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" +checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3" dependencies = [ "async-lock 3.4.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "parking", - "polling 3.7.4", - "rustix 0.38.43", + "polling 3.8.0", + "rustix 1.0.7", "slab", "tracing", "windows-sys 0.59.0", @@ -274,20 +276,20 @@ dependencies = [ [[package]] name = "async-std" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615" +checksum = "730294c1c08c2e0f85759590518f6333f0d5a0a766a27d519c1b244c3dfd8a24" dependencies = [ "async-attributes", "async-channel 1.9.0", "async-global-executor", - "async-io 2.4.0", + "async-io 2.4.1", "async-lock 3.4.0", "crossbeam-utils", "futures-channel", "futures-core", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "gloo-timers", "kv-log-macro", "log", @@ -307,13 +309,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.85" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -339,27 +341,25 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-lc-rs" -version = "1.12.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f409eb70b561706bf8abba8ca9c112729c481595893fd06a2dd9af8ed8441148" +checksum = "93fcc8f365936c834db5514fc45aee5b1202d677e6b40e48468aaaa8183ca8c7" dependencies = [ "aws-lc-sys", - "paste", "zeroize", ] [[package]] name = "aws-lc-sys" -version = "0.24.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923ded50f602b3007e5e63e3f094c479d9c8a9b42d7f4034e4afe456aa48bfd2" +checksum = "61b1d86e7705efe1be1b569bab41d4fa1e14e220b60a160f78de2db687add079" dependencies = [ "bindgen", "cc", "cmake", "dunce", "fs_extra", - "paste", ] [[package]] @@ -429,7 +429,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" dependencies = [ "futures-core", - "getrandom", + "getrandom 0.2.16", "instant", "pin-project-lite", "rand", @@ -438,9 +438,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if", @@ -465,15 +465,15 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" [[package]] name = "bigdecimal" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f31f3af01c5c65a07985c804d3366560e6fa7883d640a122819b14ec327482c" +checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" dependencies = [ "autocfg", "libm", @@ -488,7 +488,7 @@ version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.9.1", "cexpr", "clang-sys", "itertools 0.12.1", @@ -501,7 +501,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.96", + "syn 2.0.101", "which", ] @@ -519,9 +519,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" dependencies = [ "serde", ] @@ -565,38 +565,38 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "piper", ] [[package]] name = "borsh" -version = "1.5.3" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2506947f73ad44e344215ccd6403ac2ae18cd8e046e581a441bf8d199f257f03" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" dependencies = [ "borsh-derive", - "cfg_aliases 0.2.1", + "cfg_aliases", ] [[package]] name = "borsh-derive" -version = "1.5.3" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2593a3b8b938bd68373196c9832f516be11fa487ef4ae745eb282e6a56a7244" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" dependencies = [ "once_cell", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] name = "bstr" -version = "1.11.3" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0" +checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" dependencies = [ "memchr", "regex-automata", @@ -605,9 +605,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytecheck" @@ -639,9 +639,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "camino" @@ -698,9 +698,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.8" +version = "1.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0cf6e91fde44c773c6ee7ec6bba798504641a8bc2eb7e37a04ffbf4dfaa55a" +checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" dependencies = [ "jobserver", "libc", @@ -722,12 +722,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - [[package]] name = "cfg_aliases" version = "0.2.1" @@ -736,15 +730,15 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.39" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -787,9 +781,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.26" +version = "4.5.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" +checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" dependencies = [ "clap_builder", "clap_derive", @@ -797,9 +791,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.26" +version = "4.5.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" +checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" dependencies = [ "anstream", "anstyle", @@ -810,23 +804,23 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.42" +version = "4.5.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33a7e468e750fa4b6be660e8b5651ad47372e8fb114030b594c2d75d48c5ffd0" +checksum = "c91d3baa3bcd889d60e6ef28874126a0b384fd225ab83aa6d8a801c519194ce1" dependencies = [ "clap", ] [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -837,9 +831,9 @@ checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "cmake" -version = "0.1.52" +version = "0.1.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e" +checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" dependencies = [ "cc", ] @@ -874,9 +868,9 @@ dependencies = [ [[package]] name = "console" -version = "0.15.10" +version = "0.15.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" dependencies = [ "encode_unicode", "libc", @@ -903,9 +897,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -919,18 +913,18 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] [[package]] name = "crc" -version = "3.2.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" dependencies = [ "crc-catalog", ] @@ -1019,7 +1013,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.9.1", "crossterm_winapi", "libc", "mio 0.8.11", @@ -1040,9 +1034,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-common" @@ -1056,9 +1050,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ "darling_core", "darling_macro", @@ -1066,34 +1060,34 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] name = "darling_macro" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] name = "der" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "pem-rfc7468", @@ -1102,9 +1096,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", "serde", @@ -1147,7 +1141,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -1176,9 +1170,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" dependencies = [ "serde", ] @@ -1201,38 +1195,28 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" +checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" dependencies = [ "anstream", "anstyle", "env_filter", - "humantime", + "jiff", "log", ] [[package]] name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "erased-serde" -version = "0.4.5" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" -dependencies = [ - "serde", - "typeid", -] +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.10" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" dependencies = [ "libc", "windows-sys 0.59.0", @@ -1268,9 +1252,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ "event-listener 5.4.0", "pin-project-lite", @@ -1331,9 +1315,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "foreign-types" @@ -1361,9 +1345,9 @@ dependencies = [ [[package]] name = "fragile" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" +checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "fs_extra" @@ -1453,9 +1437,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.3.0", "futures-core", @@ -1472,7 +1456,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -1517,13 +1501,25 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "libc", - "wasi", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", ] [[package]] @@ -1552,9 +1548,9 @@ dependencies = [ [[package]] name = "half" -version = "2.4.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" dependencies = [ "cfg-if", "crunchy", @@ -1571,9 +1567,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" dependencies = [ "allocator-api2", "equivalent", @@ -1586,7 +1582,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.3", ] [[package]] @@ -1609,9 +1605,9 @@ checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hermit-abi" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" [[package]] name = "hex" @@ -1639,11 +1635,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1676,9 +1672,9 @@ checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -1686,12 +1682,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "hyper" version = "0.14.32" @@ -1708,7 +1698,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.8", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -1717,14 +1707,15 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.61" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", "windows-core", ] @@ -1740,21 +1731,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -1763,31 +1755,11 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", @@ -1795,67 +1767,54 @@ dependencies = [ "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.96", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -1885,9 +1844,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -1912,12 +1871,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.3", ] [[package]] @@ -1942,9 +1901,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "ipnetwork" @@ -1957,13 +1916,13 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.4.0", + "hermit-abi 0.5.1", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2001,24 +1960,49 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.14" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jiff" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a194df1107f33c79f4f93d02c80798520551949d59dfad22b6157048a88cca93" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", +] + +[[package]] +name = "jiff-static" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "6c6e1db7ed32c6c71b759497fae34bf7933636f75a251b9e736555da426f6442" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] [[package]] name = "jobserver" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ + "getrandom 0.3.3", "libc", ] [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -2050,25 +2034,25 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.169" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libloading" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.53.0", ] [[package]] name = "libm" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" @@ -2076,7 +2060,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.9.1", "libc", "redox_syscall", ] @@ -2113,9 +2097,9 @@ checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" -version = "0.7.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" @@ -2129,9 +2113,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.24" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6ea2a48c204030ee31a7d7fc72c93294c92fe87ecb1789881c9543516e1a0d" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" dependencies = [ "value-bag", ] @@ -2142,14 +2126,14 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.3", ] [[package]] name = "mac_address" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8836fae9d0d4be2c8b4efcdd79e828a2faa058a90d005abf42f91cac5493a08e" +checksum = "c0aeb26bf5e836cc1c341c8106051b573f1766dfa05aa87f0b98be5e51b02303" dependencies = [ "nix", "winapi", @@ -2200,9 +2184,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" dependencies = [ "adler2", ] @@ -2215,19 +2199,19 @@ checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.48.0", ] [[package]] name = "mio" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "wasi", - "windows-sys 0.52.0", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] @@ -2259,9 +2243,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" dependencies = [ "libc", "log", @@ -2276,13 +2260,13 @@ dependencies = [ [[package]] name = "nix" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.9.1", "cfg-if", - "cfg_aliases 0.1.1", + "cfg_aliases", "libc", "memoffset", ] @@ -2377,23 +2361,29 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" [[package]] name = "oorandom" -version = "11.1.4" +version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.9.1", "cfg-if", "foreign-types", "libc", @@ -2410,29 +2400,29 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-src" -version = "300.4.1+3.4.0" +version = "300.5.0+3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" +checksum = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.104" +version = "0.9.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" dependencies = [ "cc", "libc", @@ -2504,22 +2494,22 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project" -version = "1.1.8" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.8" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -2568,9 +2558,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "plotters" @@ -2618,19 +2608,43 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.4" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" +checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.4.0", + "hermit-abi 0.5.1", "pin-project-lite", - "rustix 0.38.43", + "rustix 1.0.7", "tracing", "windows-sys 0.59.0", ] +[[package]] +name = "portable-atomic" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -2639,9 +2653,9 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] @@ -2689,19 +2703,19 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.27" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "483f8c21f64f3ea09fe0f30f5d48c3e8eefe5dac9129f0075f76593b4c1da705" +checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" dependencies = [ "proc-macro2", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] name = "proc-macro-crate" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ "toml_edit", ] @@ -2732,9 +2746,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.93" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -2761,13 +2775,19 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radium" version = "0.7.0" @@ -2801,7 +2821,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.16", ] [[package]] @@ -2819,7 +2839,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d16546c5b5962abf8ce6e2881e722b4e0ae3b6f1a08a26ae3573c55853ca68d3" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.9.1", "cassowary", "compact_str", "crossterm", @@ -2856,11 +2876,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.8" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.9.1", ] [[package]] @@ -2903,15 +2923,14 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.8" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.16", "libc", - "spin", "untrusted", "windows-sys 0.52.0", ] @@ -2947,9 +2966,9 @@ dependencies = [ [[package]] name = "rsa" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c75d7c5c6b673e58bf54d8544a9f432e3a925b0e80f7cd3602ab5c50c55519" +checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" dependencies = [ "const-oid", "digest", @@ -2967,9 +2986,9 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.36.0" +version = "1.37.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" +checksum = "faa7de2ba56ac291bd90c6b9bece784a52ae1411f9506544b3eae36dd2356d50" dependencies = [ "arrayvec", "borsh", @@ -3009,11 +3028,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.43" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.9.1", "errno", "libc", "linux-raw-sys 0.4.15", @@ -3022,22 +3041,22 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.5" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.9.1", "errno", "libc", "linux-raw-sys 0.9.4", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "rustls" -version = "0.23.21" +version = "0.23.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" dependencies = [ "aws-lc-rs", "once_cell", @@ -3062,15 +3081,18 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +dependencies = [ + "zeroize", +] [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ "aws-lc-rs", "ring", @@ -3080,15 +3102,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.19" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -3126,7 +3148,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.9.1", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -3139,8 +3161,8 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ - "bitflags 2.7.0", - "core-foundation 0.10.0", + "bitflags 2.9.1", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -3158,47 +3180,38 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", -] - -[[package]] -name = "serde_fmt" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d4ddca14104cd60529e8c7f7ba71a2c8acd8f7f5cfcdc2faf97eeb7c3010a4" -dependencies = [ - "serde", + "syn 2.0.101", ] [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", "memchr", @@ -3252,7 +3265,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -3268,9 +3281,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -3291,9 +3304,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" dependencies = [ "libc", "signal-hook-registry", @@ -3312,9 +3325,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ "libc", ] @@ -3346,9 +3359,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" dependencies = [ "serde", ] @@ -3365,9 +3378,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.8" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -3466,9 +3479,9 @@ dependencies = [ "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.15.2", + "hashbrown 0.15.3", "hashlink", - "indexmap 2.7.0", + "indexmap 2.9.0", "ipnet", "ipnetwork", "log", @@ -3486,14 +3499,14 @@ dependencies = [ "sha2", "smallvec", "sqlx", - "thiserror 2.0.11", + "thiserror 2.0.12", "time", "tokio", "tokio-stream", "tracing", "url", "uuid", - "webpki-roots", + "webpki-roots 0.26.11", ] [[package]] @@ -3522,7 +3535,7 @@ dependencies = [ "serde_json", "serde_with", "sqlx", - "thiserror 2.0.11", + "thiserror 2.0.12", "time", "tokio", "tower", @@ -3630,7 +3643,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -3652,7 +3665,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.96", + "syn 2.0.101", "tokio", "url", ] @@ -3664,7 +3677,7 @@ dependencies = [ "atoi", "base64 0.22.1", "bigdecimal", - "bitflags 2.7.0", + "bitflags 2.9.1", "byteorder", "bytes", "chrono", @@ -3696,7 +3709,7 @@ dependencies = [ "sqlx", "sqlx-core", "stringprep", - "thiserror 2.0.11", + "thiserror 2.0.12", "time", "tracing", "uuid", @@ -3711,7 +3724,7 @@ dependencies = [ "base64 0.22.1", "bigdecimal", "bit-vec", - "bitflags 2.7.0", + "bitflags 2.9.1", "byteorder", "chrono", "crc", @@ -3742,7 +3755,7 @@ dependencies = [ "sqlx", "sqlx-core", "stringprep", - "thiserror 2.0.11", + "thiserror 2.0.12", "time", "tracing", "uuid", @@ -3769,7 +3782,7 @@ dependencies = [ "serde_urlencoded", "sqlx", "sqlx-core", - "thiserror 2.0.11", + "thiserror 2.0.12", "time", "tracing", "url", @@ -3793,7 +3806,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -3844,7 +3857,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -3853,84 +3866,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "sval" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6dc0f9830c49db20e73273ffae9b5240f63c42e515af1da1fceefb69fceafd8" - -[[package]] -name = "sval_buffer" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "429922f7ad43c0ef8fd7309e14d750e38899e32eb7e8da656ea169dd28ee212f" -dependencies = [ - "sval", - "sval_ref", -] - -[[package]] -name = "sval_dynamic" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f16ff5d839396c11a30019b659b0976348f3803db0626f736764c473b50ff4" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_fmt" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c01c27a80b6151b0557f9ccbe89c11db571dc5f68113690c1e028d7e974bae94" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_json" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0deef63c70da622b2a8069d8600cf4b05396459e665862e7bdb290fd6cf3f155" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_nested" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a39ce5976ae1feb814c35d290cf7cf8cd4f045782fe1548d6bc32e21f6156e9f" -dependencies = [ - "sval", - "sval_buffer", - "sval_ref", -] - -[[package]] -name = "sval_ref" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7c6ee3751795a728bc9316a092023529ffea1783499afbc5c66f5fabebb1fa" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_serde" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a5572d0321b68109a343634e3a5d576bf131b82180c6c442dee06349dfc652a" -dependencies = [ - "serde", - "sval", - "sval_nested", -] - [[package]] name = "syn" version = "1.0.109" @@ -3944,9 +3879,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -3961,13 +3896,13 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -3978,21 +3913,20 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-triple" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a4d50cdb458045afc8131fd91b64904da29548bcb63c7236e0844936c13078" +checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790" [[package]] name = "tempfile" -version = "3.15.0" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ - "cfg-if", "fastrand 2.3.0", - "getrandom", + "getrandom 0.3.3", "once_cell", - "rustix 0.38.43", + "rustix 1.0.7", "windows-sys 0.59.0", ] @@ -4011,7 +3945,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" dependencies = [ - "rustix 1.0.5", + "rustix 1.0.7", "windows-sys 0.59.0", ] @@ -4032,11 +3966,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl 2.0.11", + "thiserror-impl 2.0.12", ] [[package]] @@ -4047,25 +3981,25 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] name = "thiserror-impl" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] name = "time" -version = "0.3.37" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", "itoa", @@ -4078,15 +4012,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.19" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", @@ -4094,9 +4028,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -4114,9 +4048,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -4129,18 +4063,18 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.43.0" +version = "1.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.3", + "mio 1.0.4", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.8", + "socket2 0.5.10", "tokio-macros", "windows-sys 0.52.0", ] @@ -4153,7 +4087,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -4169,9 +4103,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.19" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" dependencies = [ "serde", "serde_spanned", @@ -4181,26 +4115,33 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.22.22" +version = "0.22.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" dependencies = [ - "indexmap 2.7.0", + "indexmap 2.9.0", "serde", "serde_spanned", "toml_datetime", + "toml_write", "winnow", ] +[[package]] +name = "toml_write" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" + [[package]] name = "tower" version = "0.4.13" @@ -4268,7 +4209,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] @@ -4288,9 +4229,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" -version = "1.0.101" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dcd332a5496c026f1e14b7f3d2b7bd98e509660c04239c58b0ba38a12daded4" +checksum = "1c9bf9513a2f4aeef5fdac8677d7d349c79fdbcc03b9c86da6e9d254f1e43be2" dependencies = [ "glob", "serde", @@ -4301,17 +4242,11 @@ dependencies = [ "toml", ] -[[package]] -name = "typeid" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" - [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "unicode-bidi" @@ -4321,9 +4256,9 @@ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-normalization" @@ -4386,12 +4321,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -4406,11 +4335,13 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.11.1" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" +checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" dependencies = [ + "js-sys", "serde", + "wasm-bindgen", ] [[package]] @@ -4457,39 +4388,9 @@ dependencies = [ [[package]] name = "value-bag" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" -dependencies = [ - "value-bag-serde1", - "value-bag-sval2", -] - -[[package]] -name = "value-bag-serde1" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bb773bd36fd59c7ca6e336c94454d9c66386416734817927ac93d81cb3c5b0b" -dependencies = [ - "erased-serde", - "serde", - "serde_fmt", -] - -[[package]] -name = "value-bag-sval2" -version = "1.10.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a916a702cac43a88694c97657d449775667bcd14b70419441d05b7fea4a83a" -dependencies = [ - "sval", - "sval_buffer", - "sval_dynamic", - "sval_fmt", - "sval_json", - "sval_ref", - "sval_serde", -] +checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5" [[package]] name = "vcpkg" @@ -4505,9 +4406,9 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] @@ -4543,6 +4444,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasite" version = "0.1.0" @@ -4551,34 +4461,35 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -4589,9 +4500,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4599,28 +4510,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -4628,9 +4542,18 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.7" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.0", +] + +[[package]] +name = "webpki-roots" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" dependencies = [ "rustls-pki-types", ] @@ -4644,14 +4567,14 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.43", + "rustix 0.38.44", ] [[package]] name = "whoami" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" +checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" dependencies = [ "redox_syscall", "wasite", @@ -4690,11 +4613,61 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.52.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-targets 0.52.6", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-link" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link", ] [[package]] @@ -4748,13 +4721,29 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -4767,6 +4756,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -4779,6 +4774,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -4791,12 +4792,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -4809,6 +4822,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -4821,6 +4840,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -4833,6 +4858,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -4845,26 +4876,35 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" -version = "0.6.24" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" dependencies = [ "memchr", ] [[package]] -name = "write16" -version = "1.0.0" +name = "wit-bindgen-rt" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "wyz" @@ -4877,9 +4917,9 @@ dependencies = [ [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -4889,55 +4929,54 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", "synstructure", ] [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ - "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] [[package]] name = "zerofrom" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", "synstructure", ] @@ -4947,11 +4986,22 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -4960,11 +5010,11 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.101", ] diff --git a/Cargo.toml b/Cargo.toml index 2419b50d97..434fa51da8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -186,7 +186,7 @@ sqlx-test = { path = "./sqlx-test" } paste = "1.0.6" serde = { version = "1.0.132", features = ["derive"] } serde_json = "1.0.73" -url = "2.2.2" +url = "2.5.4" rand = "0.8.4" rand_xoshiro = "0.6.0" hex = "0.4.3" From 83772a3f36be66315a38a30c8edf33cf528dc870 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 22:01:58 -0700 Subject: [PATCH 02/15] chore: bump version to `0.9.0-alpha.1` --- Cargo.toml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 434fa51da8..f6abe65930 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ members = [ ] [workspace.package] -version = "0.8.6" +version = "0.9.0-alpha.1" license = "MIT OR Apache-2.0" edition = "2021" repository = "https://github.com/launchbadge/sqlx" @@ -129,17 +129,17 @@ bstr = ["sqlx-core/bstr"] [workspace.dependencies] # Core Crates -sqlx-core = { version = "=0.8.6", path = "sqlx-core" } -sqlx-macros-core = { version = "=0.8.6", path = "sqlx-macros-core" } -sqlx-macros = { version = "=0.8.6", path = "sqlx-macros" } +sqlx-core = { version = "=0.9.0-alpha.1", path = "sqlx-core" } +sqlx-macros-core = { version = "=0.9.0-alpha.1", path = "sqlx-macros-core" } +sqlx-macros = { version = "=0.9.0-alpha.1", path = "sqlx-macros" } # Driver crates -sqlx-mysql = { version = "=0.8.6", path = "sqlx-mysql" } -sqlx-postgres = { version = "=0.8.6", path = "sqlx-postgres" } -sqlx-sqlite = { version = "=0.8.6", path = "sqlx-sqlite" } +sqlx-mysql = { version = "=0.9.0-alpha.1", path = "sqlx-mysql" } +sqlx-postgres = { version = "=0.9.0-alpha.1", path = "sqlx-postgres" } +sqlx-sqlite = { version = "=0.9.0-alpha.1", path = "sqlx-sqlite" } # Facade crate (for reference from sqlx-cli) -sqlx = { version = "=0.8.6", path = ".", default-features = false } +sqlx = { version = "=0.9.0-alpha.1", path = ".", default-features = false } # Common type integrations shared by multiple driver crates. # These are optional unless enabled in a workspace crate. From d9502e9f2f21ce63562a1bec746742f7b4c2c772 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 22:03:55 -0700 Subject: [PATCH 03/15] chore: delete unused `sqlx-bench` package --- sqlx-bench/Cargo.toml | 47 ---------- sqlx-bench/README.md | 39 --------- sqlx-bench/benches/pg_pool.rs | 80 ------------------ sqlx-bench/benches/sqlite_fetch_all.rs | 45 ---------- .../1000_fair_pdf_small.svg | 64 -------------- .../1000_unfair_pdf_small.svg | 68 --------------- .../100_fair_pdf_small.svg | 60 ------------- .../100_unfair_pdf_small.svg | 60 ------------- .../10_fair_pdf_small.svg | 56 ------------ .../10_unfair_pdf_small.svg | 48 ----------- .../5000_fair_pdf_small.svg | 56 ------------ .../5000_unfair_pdf_small.svg | 68 --------------- .../500_fair_pdf_small.svg | 44 ---------- .../500_unfair_pdf_small.svg | 52 ------------ .../50_fair_pdf_small.svg | 52 ------------ .../50_unfair_pdf_small.svg | 52 ------------ .../5_fair_pdf_small.svg | 60 ------------- .../5_unfair_pdf_small.svg | 60 ------------- .../2020-07-01-bench_pgpool_acquire/REPORT.md | 32 ------- sqlx-bench/test.db | Bin 794624 -> 0 bytes 20 files changed, 1043 deletions(-) delete mode 100644 sqlx-bench/Cargo.toml delete mode 100644 sqlx-bench/README.md delete mode 100644 sqlx-bench/benches/pg_pool.rs delete mode 100644 sqlx-bench/benches/sqlite_fetch_all.rs delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_fair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_unfair_pdf_small.svg delete mode 100644 sqlx-bench/results/2020-07-01-bench_pgpool_acquire/REPORT.md delete mode 100644 sqlx-bench/test.db diff --git a/sqlx-bench/Cargo.toml b/sqlx-bench/Cargo.toml deleted file mode 100644 index 0aa9532034..0000000000 --- a/sqlx-bench/Cargo.toml +++ /dev/null @@ -1,47 +0,0 @@ -[package] -name = "sqlx-bench" -version = "0.1.0" -authors = ["Austin Bonander "] -edition = "2021" -publish = false - -[features] -runtime-actix-native-tls = ["runtime-tokio-native-tls"] -runtime-async-std-native-tls = [ - "sqlx/runtime-async-std-native-tls", -] -runtime-tokio-native-tls = [ - "sqlx/runtime-tokio-native-tls", -] - -runtime-actix-rustls = ["runtime-tokio-rustls"] -runtime-async-std-rustls = [ - "sqlx/runtime-async-std-rustls", -] -runtime-tokio-rustls = [ - "sqlx/runtime-tokio-rustls", -] - -postgres = ["sqlx/postgres"] -sqlite = ["sqlx/sqlite"] - -[dependencies] -criterion = "0.5.1" -dotenvy = "0.15.0" -once_cell = "1.4" -sqlx = { workspace = true, default-features = false, features = ["macros"] } - -chrono = "0.4.19" - -[[bench]] -name = "pg_pool" -harness = false -required-features = ["postgres"] - -[[bench]] -name = "sqlite_fetch_all" -harness = false -required-features = ["sqlite"] - -[lints] -workspace = true diff --git a/sqlx-bench/README.md b/sqlx-bench/README.md deleted file mode 100644 index f9903c748e..0000000000 --- a/sqlx-bench/README.md +++ /dev/null @@ -1,39 +0,0 @@ -SQLx Self-Benchmarks -==================== - -This Cargo project implements various benchmarks for SQLx using -[Criterion](https://crates.io/crates/criterion). - -### Available Benchmarks - -* Group `pg_pool`: benchmarks `sqlx::Pool` against a PostgreSQL server. - * `DATABASE_URL` must be set (or in `.env`) pointing to a PostgreSQL server. - It should preferably be running on the same machine as the benchmarks to reduce latency. - * The `postgres` feature must be enabled for this benchmark to run. - * Benchmarks: - * `bench_pgpool_acquire`: benchmarks `Pool::acquire()` when many concurrent tasks are also using - the pool, with or without the pool being fair. Concurrently to the benchmark iteration - function calling and blocking on `Pool::acquire()`, a varying number of background tasks are - also calling `acquire()` and holding the acquired connection for 500µs each before releasing - it back to the pool. The pool is created with `.min_connections(50).max_connections(50)` so we shouldn't - be measuring anything but the actual overhead of `Pool`'s bookkeeping. - -### Running - -You must choose a runtime to execute the benchmarks on; the feature flags are the same as the `sqlx` crate: - -```bash -cargo bench --features runtime-tokio-native-tls -cargo bench --features runtime-async-std-rustls -``` - -When complete, the benchmark results will be in `target/criterion/`. -Open `target/criterion/report/index.html` or pick one of the benchmark subfolders and open -`report/index.html` there to view the results. - -Benchmark Results -------- - -If you want to share the results here, please follow the format below. - -* [2020/07/01: `pg_pool` benchmark added to test pool fairness changes](results/2020-07-01-bench_pgpool_acquire/REPORT.md) diff --git a/sqlx-bench/benches/pg_pool.rs b/sqlx-bench/benches/pg_pool.rs deleted file mode 100644 index ccea9bc6a9..0000000000 --- a/sqlx-bench/benches/pg_pool.rs +++ /dev/null @@ -1,80 +0,0 @@ -use criterion::{criterion_group, criterion_main, Bencher, Criterion}; -use sqlx::PgPool; - -use sqlx::postgres::PgPoolOptions; -use std::time::{Duration, Instant}; - -fn bench_pgpool_acquire(c: &mut Criterion) { - let mut group = c.benchmark_group("bench_pgpool_acquire"); - - for &concurrent in [5u32, 10, 50, 100, 500, 1000, 5000 /*, 10_000, 50_000*/].iter() { - for &fair in [false, true].iter() { - let fairness = if fair { "(fair)" } else { "(unfair)" }; - - group.bench_with_input( - format!("{concurrent} concurrent {fairness}"), - &(concurrent, fair), - |b, &(concurrent, fair)| do_bench_acquire(b, concurrent, fair), - ); - } - } - - group.finish(); -} - -fn do_bench_acquire(b: &mut Bencher, concurrent: u32, fair: bool) { - let pool = sqlx::__rt::block_on( - PgPoolOptions::new() - // we don't want timeouts because we want to see how the pool degrades - .acquire_timeout(Duration::from_secs(3600)) - // force the pool to start full - .min_connections(50) - .max_connections(50) - // we're not benchmarking `ping()` - .test_before_acquire(false) - .__fair(fair) - .connect( - &dotenvy::var("DATABASE_URL").expect("DATABASE_URL must be set to run benchmarks"), - ), - ) - .expect("failed to open PgPool"); - - for _ in 0..concurrent { - let pool = pool.clone(); - sqlx::__rt::enter_runtime(|| { - sqlx::__rt::spawn(async move { - while !pool.is_closed() { - let conn = match pool.acquire().await { - Ok(conn) => conn, - Err(sqlx::Error::PoolClosed) => break, - Err(e) => panic!("failed to acquire concurrent connection: {e}"), - }; - - // pretend we're using the connection - sqlx::__rt::sleep(Duration::from_micros(500)).await; - drop(criterion::black_box(conn)); - } - }) - }); - } - - b.iter_custom(|iters| { - sqlx::__rt::block_on(async { - // take the start time inside the future to make sure we only count once it's running - let start = Instant::now(); - for _ in 0..iters { - criterion::black_box( - pool.acquire() - .await - .expect("failed to acquire connection for benchmark"), - ); - } - start.elapsed() - }) - }); - - sqlx::__rt::block_on(pool.close()); -} - -criterion_group!(pg_pool, bench_pgpool_acquire); -criterion_main!(pg_pool); diff --git a/sqlx-bench/benches/sqlite_fetch_all.rs b/sqlx-bench/benches/sqlite_fetch_all.rs deleted file mode 100644 index 8be770a213..0000000000 --- a/sqlx-bench/benches/sqlite_fetch_all.rs +++ /dev/null @@ -1,45 +0,0 @@ -use sqlx::{Connection, Executor}; - -use std::time::Instant; - -#[derive(sqlx::FromRow)] -struct Test { - id: i32, -} - -fn main() -> sqlx::Result<()> { - sqlx::__rt::block_on(async { - let mut conn = sqlx::SqliteConnection::connect("sqlite://test.db?mode=rwc").await?; - let delete_sql = "DROP TABLE IF EXISTS test"; - conn.execute(delete_sql).await?; - - let create_sql = "CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY NOT NULL)"; - conn.execute(create_sql).await?; - - let mut tx = conn.begin().await?; - for entry in 0i32..100000 { - sqlx::query("INSERT INTO test (id) VALUES ($1)") - .bind(entry) - .execute(&mut tx) - .await?; - } - tx.commit().await?; - - for _ in 0..10i8 { - let start = chrono::Utc::now(); - - println!( - "total: {}", - sqlx::query!("SELECT id from test") - .fetch_all(&mut conn) - .await? - .len() - ); - - let elapsed = chrono::Utc::now() - start; - println!("elapsed {elapsed}"); - } - - Ok(()) - }) -} diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_fair_pdf_small.svg deleted file mode 100644 index 6446c35b8b..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_fair_pdf_small.svg +++ /dev/null @@ -1,64 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.05 - - - -0.1 - - - -0.15 - - - -0.2 - - - -0.25 - - - -0.3 - - - -0.35 - - - -0.4 - - - -0.45 - - - -0.5 - - - - -30 - - - -32 - - - -34 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_unfair_pdf_small.svg deleted file mode 100644 index 309a62b2ec..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/1000_unfair_pdf_small.svg +++ /dev/null @@ -1,68 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -5e-4 - - - -0.001 - - - -0.0015 - - - -0.002 - - - -0.0025 - - - -0.003 - - - -0.0035 - - - -0.004 - - - -0.0045 - - - -0.005 - - - -0.0055 - - - - -0 - - - -200 - - - -400 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_fair_pdf_small.svg deleted file mode 100644 index 65f2e6206e..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_fair_pdf_small.svg +++ /dev/null @@ -1,60 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.1 - - - -0.2 - - - -0.3 - - - -0.4 - - - -0.5 - - - -0.6 - - - -0.7 - - - -0.8 - - - - -0 - - - -1 - - - -2 - - - -3 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_unfair_pdf_small.svg deleted file mode 100644 index db708916a8..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/100_unfair_pdf_small.svg +++ /dev/null @@ -1,60 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.02 - - - -0.04 - - - -0.06 - - - -0.08 - - - -0.1 - - - -0.12 - - - -0.14 - - - -0.16 - - - -0.18 - - - - -0 - - - -5 - - - -10 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_fair_pdf_small.svg deleted file mode 100644 index b887f78e35..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_fair_pdf_small.svg +++ /dev/null @@ -1,56 +0,0 @@ - - -Density (a.u.) - - -Average Time (ns) - - - -0.01 - - - -0.02 - - - -0.03 - - - -0.04 - - - -0.05 - - - -0.06 - - - -0.07 - - - - -340 - - - -360 - - - -380 - - - -400 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_unfair_pdf_small.svg deleted file mode 100644 index 884f443d1a..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/10_unfair_pdf_small.svg +++ /dev/null @@ -1,48 +0,0 @@ - - -Density (a.u.) - - -Average Time (ns) - - - -0.02 - - - -0.04 - - - -0.06 - - - -0.08 - - - -0.1 - - - - -340 - - - -350 - - - -360 - - - -370 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_fair_pdf_small.svg deleted file mode 100644 index 41bb9dd94c..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_fair_pdf_small.svg +++ /dev/null @@ -1,56 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.01 - - - -0.02 - - - -0.03 - - - -0.04 - - - -0.05 - - - -0.06 - - - -0.07 - - - - -160 - - - -170 - - - -180 - - - -190 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_unfair_pdf_small.svg deleted file mode 100644 index 51c712ae53..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5000_unfair_pdf_small.svg +++ /dev/null @@ -1,68 +0,0 @@ - - -Density (a.u.) - - -Average Time (s) - - - -0.05 - - - -0.1 - - - -0.15 - - - -0.2 - - - -0.25 - - - -0.3 - - - -0.35 - - - -0.4 - - - -0.45 - - - -0.5 - - - - -0 - - - -2 - - - -4 - - - -6 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_fair_pdf_small.svg deleted file mode 100644 index 249f59b459..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_fair_pdf_small.svg +++ /dev/null @@ -1,44 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.2 - - - -0.4 - - - -0.6 - - - -0.8 - - - -1 - - - - -15 - - - -16 - - - -17 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_unfair_pdf_small.svg deleted file mode 100644 index b9387fc3f0..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/500_unfair_pdf_small.svg +++ /dev/null @@ -1,52 +0,0 @@ - - -Density (a.u.) - - -Average Time (ms) - - - -0.002 - - - -0.004 - - - -0.006 - - - -0.008 - - - -0.01 - - - - -0 - - - -50 - - - -100 - - - -150 - - - -200 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_fair_pdf_small.svg deleted file mode 100644 index c8958b9e63..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_fair_pdf_small.svg +++ /dev/null @@ -1,52 +0,0 @@ - - -Density (a.u.) - - -Average Time (us) - - - -0.005 - - - -0.01 - - - -0.015 - - - -0.02 - - - -0.025 - - - - -0 - - - -50 - - - -100 - - - -150 - - - -200 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_unfair_pdf_small.svg deleted file mode 100644 index e16502cccc..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/50_unfair_pdf_small.svg +++ /dev/null @@ -1,52 +0,0 @@ - - -Density (a.u.) - - -Average Time (us) - - - -0.005 - - - -0.01 - - - -0.015 - - - -0.02 - - - -0.025 - - - -0.03 - - - -0.035 - - - - -0 - - - -50 - - - -100 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_fair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_fair_pdf_small.svg deleted file mode 100644 index 3ebb0258bb..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_fair_pdf_small.svg +++ /dev/null @@ -1,60 +0,0 @@ - - -Density (a.u.) - - -Average Time (ns) - - - -0.01 - - - -0.02 - - - -0.03 - - - -0.04 - - - -0.05 - - - -0.06 - - - -0.07 - - - - -340 - - - -360 - - - -380 - - - -400 - - - -420 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_unfair_pdf_small.svg b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_unfair_pdf_small.svg deleted file mode 100644 index c33fee3e09..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/5_unfair_pdf_small.svg +++ /dev/null @@ -1,60 +0,0 @@ - - -Density (a.u.) - - -Average Time (ns) - - - -0.01 - - - -0.02 - - - -0.03 - - - -0.04 - - - -0.05 - - - -0.06 - - - -0.07 - - - -0.08 - - - -0.09 - - - - -340 - - - -360 - - - -380 - - - - - diff --git a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/REPORT.md b/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/REPORT.md deleted file mode 100644 index 0fb71b14a7..0000000000 --- a/sqlx-bench/results/2020-07-01-bench_pgpool_acquire/REPORT.md +++ /dev/null @@ -1,32 +0,0 @@ -### 2020/07/01: `pg_pool` benchmark added to test pool fairness changes - -* Commit: 7c8ef602661c9cb62c8cf43aaf0f8faaf5b0aed5 -* Machine specs: - * (`lscpu`) Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz - * 64 GB DDR4 RAM - * (Distro / `uname -a`) Arch Linux / kernel `5.6.15-zen2-1-zen` - * (`rustc -V`) `rustc 1.43.0-nightly (834bc5650 2020-02-24)` -* Command: `cargo bench --features runtime-tokio,postgres -- --measurement-time 30` - -| Connections | Unfair Pool | Fair Pool| -|-------------|-------------|----------| -| 5 | ![](5_unfair_pdf_small.svg) | ![](5_fair_pdf_small.svg) | -| 10 | ![](10_unfair_pdf_small.svg) | ![](10_fair_pdf_small.svg) | -| 50 | ![](50_unfair_pdf_small.svg) | ![](50_fair_pdf_small.svg) | -| 100 | ![](100_unfair_pdf_small.svg) | ![](100_fair_pdf_small.svg) | -| 500 | ![](500_unfair_pdf_small.svg) | ![](500_fair_pdf_small.svg) | -| 1000 | ![](1000_unfair_pdf_small.svg) | ![](1000_fair_pdf_small.svg) | -| 5000 | ![](5000_unfair_pdf_small.svg) | ![](5000_fair_pdf_small.svg) | - - -When the pool is set to be fair it appears the average time for `acquire()` at high contention -(500+ tasks using 50 pool connections) actually goes down by up to an order of magnitude since tasks -in the waiter queue aren't getting preempted. - -This appears to be the solution to our problem of tasks timing out waiting for a connection at high -load. At very low contention (5-10 tasks using 50 pool connections), the average time for `acqure()` -increases by perhaps 10% but a difference between 80µs and 90µs is hardly noticeable in real -applications. - -A normal MPMC channel may care about that kind of overhead, though, which is why most implementations -aren't perfectly fair. diff --git a/sqlx-bench/test.db b/sqlx-bench/test.db deleted file mode 100644 index 6d62cec842bda223f62bd0d39180d5c843087d31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 794624 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 z z|G)qL`~ScHpQ+$X1!pQaQ^A=E&Qx%wf-@DIso+cnXDT>T!I=uqRB)z(GZmbv;7kQ) zDmYWYnF`KSaHfJY6`ZNyOa*5uI8(uy3eHq;rh+pSoT=bU1!pQaQ^A=E&Qx%wf-@DI zso+cnXDT>T!I=uqRB)z(GZmbv;7kQ)DmYWYnF`KSaHfJY6`ZNyOa*5uI8(uy3eHq; zrh+pSoT=bU1!pQaQ^A=E&Qx%wf-@DIso+cnXDT>T!I=uqRB)z(GZmbv;7kQ)DmYWY znF`KSaHfJY6`ZNyOa*5uI8(uy3eHq;rh+pSoT=bU1!pQaQ^A=E&Qx%wf-@DIso+cn zXDT>T!I=uqRB)z(GZmbv;7kQ)DmYWYnF`KSaHfJY6`ZQzR0XFhI90)^3QkpUs)E!1 zD)_%(%Kw!ADgRUcr~FU(pYlKDf6D)q|0(}d{-^v;`JeJX<$ucml>aIJQ~sy?Px+tn zKjnYQ|CIkJ|5N^_{7?Cx@;~K&%Kw!ADgRUcr~FU(pYlKDf6D)q|0(}d{-^v;`JeJX z<$ucml>aIJQ~sy?Px+tnKjnYQ|CIkJ|5N^_{7?Cx@;~K&%Kw!ADgRUcr~FU(pYlKD zf6D)q|0(}d{-^v;`JeJX<$ucml>aIJQ~sy?Px+tnKjnYQ|CIkJ|5N^_{7?Cx@;~K& z%Kw!ADgRUcr~FU(pYlKDf6D)q|0(}d{-^v;`JeJX<$ucml>aIJQ~sy?Px+tnKjnYI z|AhYu{}cWv{7?9w@IT>y!vBQ-3I7xRC;U(NpYT87f5QKS{|WyS{wMrT_@D4U;eW#a zg#QWu6aFXsPxznkKjDAE|AhYu{}cWv{7?9w@IT>y!vBQ-3I7xRC;U(NpYT87f5QKS z{|WyS{wMrT_@D4U;eW#ag#QWu6aFXsPxznkKjDAE|AhYu{}cWv{7?9w@IT>y!vBQ- z3I7xRC;U(NpYT87f5QKS{|WyS{wMrT_@D4U;eW#ag#QWu6aFXsPxznkKjDAE|AhYu z{}cWv{7?9w@IT>y!vBQ-3I7xRC;U(NpYT87f5QKS{|WyS{wMrT_@D4U;eW#ag#QWu z6aFXsPxznkKjDAO|Cs+V|6~5g{Ezt`^FQW)%>S7GG5=%!$NZ1^AM-!vf6V`w|1tk# z{>S`}`5*H?=6}rpnEx^VWB$kdkNF?-KjweT|Cs+V|6~5g{Ezt`^FQW)%>S7GG5=%! z$NZ1^AM-!vf6V`w|1tk#{>S`}`5*H?=6}rpnEx^VWB$kdkNF?-KjweT|Cs+V|6~5g z{Ezt`^FQW)%>S7GG5=%!$NZ1^AM-!vf6V`w|1tk#{>S`}`5*H?=6}rpnEx^VWB$kd zkNF?-KjweT|Cs+V|6~5g{Ezt`^FQW)%>S7GG5=%!$NZ1^AM-!vf6V`w|1tk#{>S`} z`5*H?=6}rpnEx^VWB$kdkNF?-KjweL|A_w)|0DiK{Ezq_{pbJh|Ns8~@Bjb)f24vV z6&$JHNCihKI8wop3XW88q=F+A9I4<)1xG44Qo)f5j#O}@f+H0iso+QjM=Cf{!I27% zRB)t%BNZH};7A2WDmYTXkqVAfaHN7G6&$JHNCihKI8wop3XW88q=F+A9I4<)1xG44 zQo)f5j#O}@f+H0iso+QjM=Cf{!I27%RB)t%BNZH};7A2WDmYTXkqVAfaHN7G6&$JH zNCihKI8wop3XW88q=F+A9I4<)1xG44Qo)f5j#O}@f+H0iso+QjM=Cf{!I27%RB)t% zBNZH};7A2WDmYTXkqVAfaHN7G6&$JHNCihKI8wop3XW88q=F+A9I4<)1xG44Qo)f5 zj#O}@f+H0iso+QjM=Cf{!I27%RB)t%LlqpV;7|pJDmYZZp$ZQFtKk2FA^$`Ehx`xu zAM!usf5`uk{~`ZF{)hYz`5*E>S5BVSRKjeSN|B(M7|3m(V{15pb z@;~H%$p4W4A^$`Ehx`xuAM!usf5`uk{~`ZF{)hYz`5*E>S5BVSR zKjeSN|B(M7|3m(V{15pb@;~H%$p4W4A^$`Ehx`xuAM!usf5`uk{~`ZF{)hYz`5*E> zS5BVSRKjeSN|B(M7|3m(V{15pb@;~H%$p4W4A^$`Ehx`xuAM!us zf5`uk{~`ZF{)hYz`5*E>S5BVSRKjeSN|B(M7{{#L9{15ma@IT;x z!2f{%0sjO32mBBCAMiimf588M{{jC4{s;UI_#f~;;D5mXfd2vi1O5m65BMMOKj44B z|A7Ai{{#L9{15ma@IT;x!2f{%0sjO32mBBCAMiimf588M{{jC4{s;UI_#f~;;D5mX zfd2vi1O5m65BMMOKj44B|A7Ai{{#L9{15ma@IT;x!2f{%0sjO32mBBCAMiimf588M z{{jC4{s;UI_#f~;;D5mXfd2vi1O5m65BMMOKj44B|A7Ai{{#L9{15ma@IT;x!2f{% z0sjO32mBBCAMiimf588M{{jC4{s;UI_#f~;;D5mXfd2vi1O5m65BMMOKj44B|A7Ai z|9$@Z{P+3q^WW#c&wro)KL36G`~3I$@AKd1zt4Z4|33eH{`>s*`S0`J=fBT?pZ`Ap zeg6CW_xbPh-{-&2f1m$8|9$@Z{P+3q^WW#c&wro)KL36G`~3I$@AKd1zt4Z4|33eH z{`>s*`S0`J=fBT?pZ`Apeg6CW_xbPh-{-&2f1m$8|9$@Z{P+3q^WW#c&wro)KL36G z`~3I$@AKd1zt4Z4|33eH{`>s*`S0`J=fBT?pZ`Apeg6CW_xbPh-{-&2f1m$8|9$@Z z{P+3q^WW#c&wro)KL36G`~3I$@AKd1zt4Z4|33eH{`>s*`S0`J=fBT?pZ`Apeg6CW z_xbPh-{-&2f1m$8|2_VD{P+0p@!#XW_n-g2|Nr~{zyJUH|DFo=RIsOlJr(S!U{3{m zD%exOo(lFfBFCA|Cj$? z{(t%Z<^PxeU;cmj|KfBFCA|Cj$?{(t%Z<^PxeU;cmj|KfBFCA|Cj$?{(t%Z<^PxeU;cmj|KfBFCA z|Cj$?{(t%Z<^PxeU;cmj|KfBFCA|Cj$?{(t%Z<^PxeU;cmj z|KfBFCA|Nq#p3mZ8Q1OS54$9{=;n3>|M36A z{}2B^{QvO(!~YNeKm7mj|HJ>|M36A{}2B^{QvO(!~YNeKm7mj z|HJ>|M36A{}2B^{QvO(!~YNeKm7mj|HJ> z|M36A{}2B^{QvO(!~YNeKm7mj|HJ>|M36A{}2B^{QvO(!~YNe zKm7mj|HJ>|M36A{}2B^{QvO(!~YNeKm7mj|HJ>|M36A{}2B^{QvO(!~YNeKm7mj|HJ>|M36A{}2B^{QvO( z!~YNeKm33B|MLIk|I7cE|1bYv{=fWx`Tz3&<^Rk7m;W#SU;e-RfBFCN|K>sj|zTN@S}ns75u2+M+HAB_))=+3Vu}Zqk>sj|zTN@S}ns75u2+M+HAB z_))=+3Vu}Zqk>sj|zTN@S}ns75u2+M+HAB_))=+3Vu}ZqkzxjXj z|K|VA|C|3e|8M@^{J;5s^Z(}m&HtPKH~(+`-~7M%fAjz5|IPoK|2O|{{@?t+`G52O z=KszAoBuceZ~ou>zxjXj|K|VA|C|3e|8M@^{J;5s^Z(}m&HtPKH~(+`-~7M%fAjz5 z|IPoK|2O|{{@?t+`G52O=KszAoBuceZ~ou>zxjXj|K|VA|C|3e|8M@^{J;5s^Z(}m z&HtPKH~(+`-~7M%fAjz5|IPoK|2O|{{@?t+`G52O=KszAoBuceZ~ou>zxjXj|K|VA z|C|3e|8M@^{J;5s^Z(}m&HtPKH~(+`-~7M%fAjz5|IPoK{}=x+{$KpR_;rhYCJa@S%ba6?~}RLj@ly_)x)z3O-cup@I(; ze5l|<1s^K-P{D@^K2-3bf)5pZsNh2dA1e4z!G{VyRPdpK4;6f<;6nu;D)>;rhYCJa z@S%ba6?~}RLj@ly_)x)z3O-cup@I(;e5l|<1s^K-P{D@^K2-3bf)5pZsNh2dA1e4z z!G{VyRPdpK4;6f<;6nu;D)>;rhYCJa@S%ba6?~}RLj@ly_)x)z3O-cup@I(;e5l|< z1s^K-P{D@^K2-3bf)5pZsNh2dA1e4z!G{VyRPdpK4;6f<;6nu;D)>;rhYCJa@S%ba z6?~}RLj@ly_)x*S3f@)lu7dY}75v|ScmD7E-}%4uf9L|R|IYuN|2zM8{_p(X`M>jj=l{|R|IYuN|2zM8{_p(X`M>jj=l{|R|IYuN z|2zM8{_p(X`M>jj=l{|R|IYuN|2zM8{_p(X`M>jj_`mUg_`mUg_`mUg_`mUg<^Rh6mH#XMSN^a3 zU-`fCf93zm|CRqM|5yI6{9pOM@_*(3%Kw%BEB{yiul!&6zw&?O|H}WB|11Aj{;&LB z`M>gi<^Rh6mH#XMSN^a3U-`fCf93zm|CRqM|5yI6{9pOM@_*(3%Kw%BEB{yiul!&6 zzw&?O|H}WB|11Aj{;&LB`M>gi<^Rh6mH#XMSN^a3U-`fCf93zm|CRqM|5yI6{9pOM z@_*(3%Kw%BEB{yiul!&6zw&?O|H}WB|11Aj{;&LB`M>gi<^Rh6mH#XMSN^a3U-`fC zf93zm|CRqM|5yI6{9pOM@_*(3%Kw%BEB{yiul!&6zw&?O|H}WB|11Aj{;&LB`M>gi z;s3(_<)8oG|Ns5}-~a#p|BDJSAHGyiA)&-|bHKl6X)|IGiH z|1SAH zGyiA)&-|bHKl6X)|IGiH|1SAHGyiA)&-|bHKl6X)|IGiH|1SAHGyiA)&-|bHKl6X)|IGiH|1f8_tj|B?SA|406h{2%#0 z@_*$2$p4Z5BmYPKkNh9`Kk|R%|H%K5|0DlL{*U}0`9Jc1 zf8_tj|B?SA|406h{2%#0@_*$2$p4Z5BmYPKkNh9`Kk|R%|H%K5|0DlL{*U}0`9Jc1 zf8_tj|B?SA|406h{2%#0@_*$2$p4Z5BmYPKkNh9`Kk|R% z|H%K5|0DlL{*U}0`9Jc1f8_tj|B?SA|406h{2%#0@_*$2 z$p4Z5BmYPKkNh9`Kk|R%|H%K5|0DlL{*U}0`9Jc1KE3LaGOpn?Y#JgDG71rI8CP{D%=9#rt4f(I2msNg{b4=Q+2 z!Gj7ORPdmJ2NgW1;6VisDtJ)Ag9;v0@SuVR6+EcmK?M&gcu>KE3LaGOpn?Y#JgDG7 z1rI8CP{D%=9#rt4f(I2msNg{b4=Q+2!Gj7ORPdmJ2NgW1;6VisDtJ)Ag9;v0@SuVR z6+EcmK?M&gcu>KE3LaGOpn?Y#JgDG71rI8CP{D%=9#rt4f(I2msNg{b4=Q+2!Gj7O zRPdmJ2NgW1;6VisDtJ)Ag9;v0@SuVR6+EcmK?M&gcu>KE3LaGOpn?Y#JgDG71rI8C zP{D%=9#rt4f(I2msNg{b4=Q+2!Gj7ORPdmJ2NgW1;6VisDtJ)Ag9;v0aIb>Jzvq9?|DOLn|9k%T{O|eS^S|eR&;OqPJ^y?D_x$hq-}Arcf6xD(|2_YE z{`dUv`QP)u=YP-tp8q}nd;a(Q@A=>Jzvq9?|DOLn|9k%T{O|eS^S|eR&;OqPJ^y?D z_x$hq-}Arcf6xD(|2_YE{`dUv`QP)u=YP-tp8q}nd;a(Q@A=>Jzvq9?|DOLn|9k%T z{O|eS^S|eR&;OqPJ^y?D_x$hq-}Arcf6xD(|2_YE{`dUv`QP)u=YP-tp8q}nd;a(Q z@A=>Jzvq9?|BnA1|2zJ7{O|bR@xSAL$N!H19sfK2cl_`8-|@fWf5-oh{~iB3{&)QE z_}}rrED!5U>jS6m5aHE1772K%cMg=!2xKY84 z3T{+zqkE zD!5U>jS6m5aHE1772K%cMg=!2xKY843T{+zqkED!5U>jS6m5aHE1772K%cMg=!2xKY843T{+z zqkED!5U> zjS6m5aHE1772K%cMg=!2xKY843T{+zqk{@47k`Cs$D=6}uqn*TNbYyQ{#ulZl|zvh3<|C;|b|7-r& z{IB_6^S|bQ&HtMJHUDe=*Zi;fU-Q4_f6f1z|26+>{@47k`Cs$D=6}uqn*TNbYyQ{# zulZl|zvh3<|C;|b|7-r&{IB_6^S|bQ&HtMJHUDe=*Zi;fU-Q4_f6f1z|26+>{@47k z`Cs$D=6}uqn*TNbYyQ{#ulZl|zvh3<|C;|b|7-r&{IB_6^S|bQ&HtMJHUDe=*Zi;f zU-Q4_f6f1z|26+>{@47k`Cs$D=6}uqn*TNbYyQ{#ulZl|zvh3<|C;|b|7-r&{IB_6 z@xS7K#s7-`75^*#SNyN|U-7@v)#f(sQ~sNg~c7b>_=!G#Jg zRB)k!3l&_b;6eo#D!5R=g$gcIaG`<=6v)#f(sQ~sNg~c7b>_=!G#JgRB)k!3l&_b;6eo#D!5R=g$gcIaG`<=6v)#f(sQ~sNg~c7b>_=!G#JgRB)k! z3l&_b;6eo#D!5R=g$gcIaG`<=6v)#f(sQ~sNg~c7b>_=!G#JgRB)k!i+>gT-+y!d=lsw4pYuQGf6o7$|2hA2{^$J9 z`JeMY=YP)soc}rhbN=W2&-tJ8Kj(kW|D69h|8xH5{LlHH^FQZ*&i|bMIsbG1=lsw4 zpYuQGf6o7$|2hA2{^$J9`JeMY=YP)soc}rhbN=W2&-tJ8Kj(kW|D69h|8xH5{LlHH z^FQZ*&i|bMIsbG1=lsw4pYuQGf6o7$|2hA2{^$J9`JeMY=YP)soc}rhbN=W2&-tJ8 zKj(kW|D69h|8xH5{LlHH^FQZ*&i|bMIsbG1=lsw4pYuQGf6o7$|2hA2{^$J9`JeMY z=YP)soc}rhbN=W2&-tJ8Kj(kW|D69h|8xH5{LlHH^FQZ*&i|bMIsY^MXZ+9jpYcEA zf5!ie{~7-?{%8Ep_@D7VXZ+9jpYcEAf5!ie{~7-?{%8Ep_@D7VXZ+9jpYcEAf5!ie{~7-?{%8Ep_@D7VXZ+9jpYcEAf5!ie z{~7-?{%8Ep_@D7VaIJQ~sy?Px+tnKjnYQ|CIkJ z|5N^_{7?Cx@;~K&%Kw!ADgRUcr~FU(pYlKDf6D)q|0(}d{-^v;`JeJX<$ucml>aIJ zQ~sy?Px+tnKjnYQ|CIkJ|5N^_{7?Cx@;~K&%Kw!ADgRUcr~FU(pYlKDf6D)q|0(}d z{-^v;`JeJX<$ucml>aIJQ~sy?Px+tnKjnYQ|CIkJ|5N^_{7?Cx@;~K&%Kw!ADgRUc zr~FU(pYlKDf6D)q|0(}d{-^v;`JeJX<$ucml>aIJQ~sy?Px+tnKjnYQ|CIkJ|5N^_ z{7?Cx@;~K&%K!AA|KI=r{r}(p|NZ}|3QkmTqJk3@oT%VL1t%&vQNf7{PE>HBf)f>- zsNh5eCn`8m!HEh^RB)n#6BV4O;6w!{DmYQWi3(0saH4_}6`ZKxLHBf)f>-sNh5eCn`8m!HEh^RB)n#6BV4O;6w!{DmYQW zi3(0saH4_}6`ZKxLHBf)f>-sNh5e zCn`8m!HEh^RB)n#6BV4O;6w!{DmYQWi3(0saH4_}6`ZKxLHBf)f>-sNh5eCn`8m!HEh^RB)n#6BV4O;6w!{DmYQWi3(0s zaH4_}6`ZKxL|NS@Nf6V`w|1tk#{>S`}`5*H?=6}rpnEx^VWB$kdkNF?- zKjweT|Cs+V|6~5g{Ezt`^FQW)%>S7GG5=%!$NZ1^AM-!vf6V`w|1tk#{>S`}`5*H? z=6}rpnEx^VWB$kdkNF?-KjweT|Cs+V|6~5g{Ezt`^FQW)%>S7GG5=%!$NZ1^AM-!v zf6V`w|1tk#{>S`}`5*H?=6}rpnEx^VWB$kdkNF?-KjweT|Cs+V|6~5g{Ezt`^FQW) z%>S7GG5=%!$NZ1^AM-!vf6V`w|1tk#{>S`}`5*H?=6}rpnEx^VWB$kdkNF?-KjweT z|Cs+V|6~5g{Ezt`^FQW)%>S7GG5=%!$NZ1^AM-!vf5iWY{}KNq{zv?e_#g2<;(x^d zi2o7)BmPJHkN6+)KjMGH|A_w)|0DiK{Ezq_@jv2!#Q%u@5&t9pNBocYAMropf5iWY z{}KNq{zv?e_#g2<;(x^di2o7)BmPJHkN6+)KjMGH|A_w)|0DiK{Ezq_@jv2!#Q%u@ z5&t9pNBocYAMropf5iWY{}KNq{zv?e_#g2<;(x^di2o7)BmPJHkN6+)KjMGH|A_w) z|0DiK{Ezq_@jv2!#Q%u@5&t9pNBocYAMropf5iWY{}KNq{zv?e_#g2<;(x^di2o7) zBmPJHkN6+)KjMGH|A_w)|0DiK{Ezq_@jv2!#Q%u@5&t9pNBocYAMropf5`uk{~`ZF z{)hYz`5*E>S5BVSRKjeSN|B(M7|3m(V{15pb@;~H%$p4W4A^$`E zhx`xuAM!usf5`uk{~`ZF{)hYz`5*E>S5BVSRKjeSN|B(M7|3m(V z{15pb@;~H%$p4W4A^$`Ehx`xuAM!usf5`uk{~`ZF{)hYz`5*E>S z5BVSRKjeSN|B(M7|3m(V{15pb@;~H%$p4W4A^$`Ehx`xuAM!usf5`uk{~`ZF{)hYz z`5*E>S5BVSRKjeSN|B(M7|3m(V{15pb@;~H%$p4W4A^$`Ehx`x! z`Tza@-~a#p|KI-~s^Cxs2P!yF!GQ`6RB)hz0~H*o;6McjDmYNVfeH>(aG-(%6&$GG zKm`XXI8ecX3Jz3opn?Mx9H`(x1qUiPP{Dx;4peZUf&&#CsNg^a2P!yF!GQ`6RB)hz z0~H*o;6McjDmYNVfeH>(aG-(%6&$GGKm`XXI8ecX3Jz3opn?Mx9H`(x1qUiPP{Dx; z4peZUf&&#CsNg^a2P!yF!GQ`6RB)hz0~H*o;6McjDmYNVfeH>(aG-(%6&$GGKm`XX zI8ecX3Jz3opn?Mx9H`(x1qUiPP{Dx;4peZUf&&#CsNg^a2P!yF!GQ`6RB)hz0~H*o z;6McjDmYNVfeH>(aG-(%6&$GGKm`XXI8ecX3Jz3opn?Mx9H`(x1qUiPP{Dx;4peZU zf`fk*{NH~A{s;W``S0`J=fBT?pZ`Apeg6CW_xbPh-{-&2f1m$8|9$@Z{P+3q^WW#c z&wro)KL36G`~3I$@AKd1zt4Z4|33eH{`>s*`S0`J=fBT?pZ`Apeg6CW_xbPh-{-&2 zf1m$8|9$@Z{P+3q^WW#c&wro)KL36G`~3I$@AKd1zt4Z4|33eH{`>s*`S0`J=fBT? zpZ`Apeg6CW_xbPh-{-&2f1m$8|9$@Z{P+3q^WW#c&wro)KL36G`~3I$@AKd1zt4Z4 z|33eH{`>s*`S0`J=fBT?pZ`Apeg6CW_xbPh-{-&2f1m$8|9$@Z{P+3q^WW#c&wro) zKL36G`~3I$@AKd1zt4Z4|33eH{`>s*`0w%Ge~e~e~e~uF8^KryZm?g@ABW}zsrA@|1SSs{=58l z`S0@I<-f~+m;WyRUH-fLclqz~-{rr{f0zF*|6TsO{CD~9^55mZ%YT>uF8^KryZm?g z@ABW}zsrA@|1SSs{=58l`S0@I<-f~+m;WyRUH-fLclqz~-{rr{f0zF*|6TsO{CD~9 z^55mZ%YT>uF8^KryZm?g@ABW}zsrA@|1SSs{=58l`S0@I<-f~+m;WyRUH-fLclqz~ z-{rr{f0zF*|6TsO{CD~9^55mZ%YT>uF8^KryZm?g@ABW}zsrC3pa0+g|NZ~p|Ns5} zt_pTlu&aU{73`>BM+G}7*ipfb3U*Ymqkw!Hx=cRIsCh9Tn`TU`GWzD%erMjtX{Eu%m(<73`>BM+G}7*ipfb3U*Ymqk

w!Hx=cRIsCh9Tn`TU`GWzD%erMjtX{E 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 zc-F*84#&$@Wl#j`G+b@8l=XI(t& z;#n8Zx_H*bvo4->@vMtyT|DdJSr^Z`c-F=9-!A^=%-@;6Gk<6P&itMEJM(wu@66ws zzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzz zzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzz zzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzz zzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzz zzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzlpzzzmdO@ zzmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@ zzmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@ zzmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@ zzmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@ zzmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zmdO@zk$Djzk$Dj zzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Dj zzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Dj zzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Dj zzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Dj zzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzk$Djzn;IIzn;IIzn;II zzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;II zzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;IIzn;II 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 Date: Sun, 13 Apr 2025 22:29:05 -0700 Subject: [PATCH 04/15] chore: set `rust-version` to 1.85 for all crates --- Cargo.toml | 5 +++-- rust-toolchain.toml | 2 +- sqlx-cli/Cargo.toml | 1 + sqlx-core/Cargo.toml | 1 + sqlx-core/src/query.rs | 2 +- sqlx-core/src/query_as.rs | 2 +- sqlx-core/src/query_scalar.rs | 2 +- sqlx-macros-core/Cargo.toml | 1 + sqlx-macros/Cargo.toml | 1 + sqlx-mysql/Cargo.toml | 2 +- sqlx-postgres/Cargo.toml | 2 +- sqlx-sqlite/Cargo.toml | 3 +-- sqlx-test/Cargo.toml | 3 ++- 13 files changed, 16 insertions(+), 11 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f6abe65930..cb3b1140d9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,6 +25,7 @@ members = [ [workspace.package] version = "0.9.0-alpha.1" license = "MIT OR Apache-2.0" +# TODO: upgrade to edition 2024 (after merging all pending PRs) edition = "2021" repository = "https://github.com/launchbadge/sqlx" keywords = ["database", "async", "postgres", "mysql", "sqlite"] @@ -35,8 +36,7 @@ authors = [ "Chloe Ross ", "Daniel Akhterov ", ] -# TODO: enable this for 0.9.0 -# rust-version = "1.80.0" +rust-version = "1.85.0" [package] name = "sqlx" @@ -48,6 +48,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true +rust-version.workspace = true [package.metadata.docs.rs] features = ["all-databases", "_unstable-all-types", "sqlite-preupdate-hook"] diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 29f0b09695..e952d6e4bb 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ # Note: should NOT increase during a minor/patch release cycle [toolchain] -channel = "1.78" +channel = "1.85" profile = "minimal" diff --git a/sqlx-cli/Cargo.toml b/sqlx-cli/Cargo.toml index de87b38ba0..2c33688728 100644 --- a/sqlx-cli/Cargo.toml +++ b/sqlx-cli/Cargo.toml @@ -14,6 +14,7 @@ authors = [ "Jesper Axelsson ", "Austin Bonander ", ] +rust-version.workspace = true [[bin]] name = "sqlx" diff --git a/sqlx-core/Cargo.toml b/sqlx-core/Cargo.toml index f6017a9fee..51b82fa68e 100644 --- a/sqlx-core/Cargo.toml +++ b/sqlx-core/Cargo.toml @@ -6,6 +6,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true +rust-version.workspace = true [package.metadata.docs.rs] features = ["offline"] diff --git a/sqlx-core/src/query.rs b/sqlx-core/src/query.rs index 60f509c342..4f21f73cda 100644 --- a/sqlx-core/src/query.rs +++ b/sqlx-core/src/query.rs @@ -499,7 +499,7 @@ where /// Execute a single SQL query as a prepared statement (explicitly created). pub fn query_statement<'q, DB>( statement: &'q DB::Statement<'q>, -) -> Query<'q, DB, ::Arguments<'_>> +) -> Query<'q, DB, ::Arguments<'q>> where DB: Database, { diff --git a/sqlx-core/src/query_as.rs b/sqlx-core/src/query_as.rs index 9f28fe41e9..cc78434b5d 100644 --- a/sqlx-core/src/query_as.rs +++ b/sqlx-core/src/query_as.rs @@ -386,7 +386,7 @@ where // Make a SQL query from a statement, that is mapped to a concrete type. pub fn query_statement_as<'q, DB, O>( statement: &'q DB::Statement<'q>, -) -> QueryAs<'q, DB, O, ::Arguments<'_>> +) -> QueryAs<'q, DB, O, ::Arguments<'q>> where DB: Database, O: for<'r> FromRow<'r, DB::Row>, diff --git a/sqlx-core/src/query_scalar.rs b/sqlx-core/src/query_scalar.rs index c131adcca3..2f0fbbc7e7 100644 --- a/sqlx-core/src/query_scalar.rs +++ b/sqlx-core/src/query_scalar.rs @@ -365,7 +365,7 @@ where // Make a SQL query from a statement, that is mapped to a concrete value. pub fn query_statement_scalar<'q, DB, O>( statement: &'q DB::Statement<'q>, -) -> QueryScalar<'q, DB, O, ::Arguments<'_>> +) -> QueryScalar<'q, DB, O, ::Arguments<'q>> where DB: Database, (O,): for<'r> FromRow<'r, DB::Row>, diff --git a/sqlx-macros-core/Cargo.toml b/sqlx-macros-core/Cargo.toml index 07d9d78862..d78cbe3d63 100644 --- a/sqlx-macros-core/Cargo.toml +++ b/sqlx-macros-core/Cargo.toml @@ -6,6 +6,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true +rust-version.workspace = true [features] default = [] diff --git a/sqlx-macros/Cargo.toml b/sqlx-macros/Cargo.toml index b513c3e808..032a190dd1 100644 --- a/sqlx-macros/Cargo.toml +++ b/sqlx-macros/Cargo.toml @@ -6,6 +6,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true +rust-version.workspace = true [lib] proc-macro = true diff --git a/sqlx-mysql/Cargo.toml b/sqlx-mysql/Cargo.toml index 3971c2ff87..9bba7aa0a9 100644 --- a/sqlx-mysql/Cargo.toml +++ b/sqlx-mysql/Cargo.toml @@ -7,7 +7,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +rust-version.workspace = true [features] json = ["sqlx-core/json", "serde"] diff --git a/sqlx-postgres/Cargo.toml b/sqlx-postgres/Cargo.toml index 818aadbab7..f9328d03ca 100644 --- a/sqlx-postgres/Cargo.toml +++ b/sqlx-postgres/Cargo.toml @@ -7,7 +7,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +rust-version.workspace = true [features] any = ["sqlx-core/any"] diff --git a/sqlx-sqlite/Cargo.toml b/sqlx-sqlite/Cargo.toml index ca4c84c958..151283deda 100644 --- a/sqlx-sqlite/Cargo.toml +++ b/sqlx-sqlite/Cargo.toml @@ -7,8 +7,7 @@ license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +rust-version.workspace = true [features] any = ["sqlx-core/any"] diff --git a/sqlx-test/Cargo.toml b/sqlx-test/Cargo.toml index af76d5562f..32a341adcb 100644 --- a/sqlx-test/Cargo.toml +++ b/sqlx-test/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "sqlx-test" version = "0.1.0" -edition = "2021" +edition.workspace = true publish = false +rust-version.workspace = true [dependencies] sqlx = { default-features = false, path = ".." } From 1bac964748a08dadb8cc08414c7718828889cf3d Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 22:46:02 -0700 Subject: [PATCH 05/15] fix: lots of new Clippy warnings --- benches/sqlite/describe.rs | 2 +- sqlx-macros-core/src/common.rs | 4 ++-- sqlx-macros-core/src/test_attr.rs | 10 +++------- sqlx-mysql/src/connection/establish.rs | 2 +- sqlx-mysql/src/connection/executor.rs | 4 ++-- sqlx-mysql/src/protocol/statement/execute.rs | 2 +- sqlx-mysql/src/types/text.rs | 2 +- sqlx-postgres/src/types/cube.rs | 2 +- sqlx-postgres/src/types/geometry/box.rs | 2 +- sqlx-postgres/src/types/geometry/circle.rs | 2 +- sqlx-postgres/src/types/geometry/line.rs | 2 +- .../src/types/geometry/line_segment.rs | 2 +- sqlx-postgres/src/types/geometry/path.rs | 2 +- sqlx-postgres/src/types/geometry/point.rs | 2 +- sqlx-postgres/src/types/geometry/polygon.rs | 2 +- sqlx-sqlite/src/connection/intmap.rs | 18 +++++++----------- sqlx-sqlite/src/connection/worker.rs | 16 ++++++++-------- sqlx-sqlite/src/logger.rs | 2 +- sqlx-sqlite/src/value.rs | 8 ++++---- tests/mysql/mysql.rs | 2 +- tests/mysql/types.rs | 4 ++-- tests/postgres/query_builder.rs | 2 +- tests/postgres/test-attr.rs | 4 ++-- tests/sqlite/any.rs | 2 +- tests/sqlite/sqlite.rs | 16 ++++++++-------- tests/sqlite/types.rs | 2 +- 26 files changed, 55 insertions(+), 63 deletions(-) diff --git a/benches/sqlite/describe.rs b/benches/sqlite/describe.rs index 470c1f7362..5d353b3d3c 100644 --- a/benches/sqlite/describe.rs +++ b/benches/sqlite/describe.rs @@ -3,7 +3,7 @@ use criterion::Criterion; use criterion::{criterion_group, criterion_main}; use sqlx::sqlite::{Sqlite, SqliteConnection}; -use sqlx::{Connection, Executor}; +use sqlx::Executor; use sqlx_test::new; // Here we have an async function to benchmark diff --git a/sqlx-macros-core/src/common.rs b/sqlx-macros-core/src/common.rs index fab09b7cae..b195a9ffd0 100644 --- a/sqlx-macros-core/src/common.rs +++ b/sqlx-macros-core/src/common.rs @@ -15,9 +15,9 @@ pub(crate) fn resolve_path(path: impl AsRef, err_span: Span) -> syn::Resul // requires `proc_macro::SourceFile::path()` to be stable // https://github.com/rust-lang/rust/issues/54725 if path.is_relative() - && !path + && path .parent() - .map_or(false, |parent| !parent.as_os_str().is_empty()) + .is_none_or(|parent| parent.as_os_str().is_empty()) { return Err(syn::Error::new( err_span, diff --git a/sqlx-macros-core/src/test_attr.rs b/sqlx-macros-core/src/test_attr.rs index d7c6eb0486..3104a0e743 100644 --- a/sqlx-macros-core/src/test_attr.rs +++ b/sqlx-macros-core/src/test_attr.rs @@ -246,13 +246,9 @@ fn parse_args(attr_args: AttributeArgs) -> syn::Result { fn recurse_lit_lookup(expr: Expr) -> Option { match expr { - Expr::Lit(syn::ExprLit { lit, .. }) => { - return Some(lit); - } - Expr::Group(syn::ExprGroup { expr, .. }) => { - return recurse_lit_lookup(*expr); - } - _ => return None, + Expr::Lit(syn::ExprLit { lit, .. }) => Some(lit), + Expr::Group(syn::ExprGroup { expr, .. }) => recurse_lit_lookup(*expr), + _ => None, } } diff --git a/sqlx-mysql/src/connection/establish.rs b/sqlx-mysql/src/connection/establish.rs index 85a9d84f96..ec7d8e4c2c 100644 --- a/sqlx-mysql/src/connection/establish.rs +++ b/sqlx-mysql/src/connection/establish.rs @@ -186,7 +186,7 @@ impl<'a> DoHandshake<'a> { } } -impl<'a> WithSocket for DoHandshake<'a> { +impl WithSocket for DoHandshake<'_> { type Output = Result; async fn with_socket(self, socket: S) -> Self::Output { diff --git a/sqlx-mysql/src/connection/executor.rs b/sqlx-mysql/src/connection/executor.rs index 4f5af4bf6d..44cb523f56 100644 --- a/sqlx-mysql/src/connection/executor.rs +++ b/sqlx-mysql/src/connection/executor.rs @@ -25,7 +25,7 @@ use futures_util::TryStreamExt; use std::{borrow::Cow, pin::pin, sync::Arc}; impl MySqlConnection { - async fn prepare_statement<'c>( + async fn prepare_statement( &mut self, sql: &str, ) -> Result<(u32, MySqlStatementMetadata), Error> { @@ -72,7 +72,7 @@ impl MySqlConnection { Ok((id, metadata)) } - async fn get_or_prepare_statement<'c>( + async fn get_or_prepare_statement( &mut self, sql: &str, ) -> Result<(u32, MySqlStatementMetadata), Error> { diff --git a/sqlx-mysql/src/protocol/statement/execute.rs b/sqlx-mysql/src/protocol/statement/execute.rs index 6e51e7b564..89010315bb 100644 --- a/sqlx-mysql/src/protocol/statement/execute.rs +++ b/sqlx-mysql/src/protocol/statement/execute.rs @@ -11,7 +11,7 @@ pub struct Execute<'q> { pub arguments: &'q MySqlArguments, } -impl<'q> ProtocolEncode<'_, Capabilities> for Execute<'q> { +impl ProtocolEncode<'_, Capabilities> for Execute<'_> { fn encode_with(&self, buf: &mut Vec, _: Capabilities) -> Result<(), crate::Error> { buf.push(0x17); // COM_STMT_EXECUTE buf.extend(&self.statement.to_le_bytes()); diff --git a/sqlx-mysql/src/types/text.rs b/sqlx-mysql/src/types/text.rs index ad61c1bee8..363ec02439 100644 --- a/sqlx-mysql/src/types/text.rs +++ b/sqlx-mysql/src/types/text.rs @@ -16,7 +16,7 @@ impl Type for Text { } } -impl<'q, T> Encode<'q, MySql> for Text +impl Encode<'_, MySql> for Text where T: Display, { diff --git a/sqlx-postgres/src/types/cube.rs b/sqlx-postgres/src/types/cube.rs index cc2a016090..d7ddbd1723 100644 --- a/sqlx-postgres/src/types/cube.rs +++ b/sqlx-postgres/src/types/cube.rs @@ -71,7 +71,7 @@ impl<'r> Decode<'r, Postgres> for PgCube { } } -impl<'q> Encode<'q, Postgres> for PgCube { +impl Encode<'_, Postgres> for PgCube { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("cube")) } diff --git a/sqlx-postgres/src/types/geometry/box.rs b/sqlx-postgres/src/types/geometry/box.rs index 28016b2786..ad4fa39ef7 100644 --- a/sqlx-postgres/src/types/geometry/box.rs +++ b/sqlx-postgres/src/types/geometry/box.rs @@ -56,7 +56,7 @@ impl<'r> Decode<'r, Postgres> for PgBox { } } -impl<'q> Encode<'q, Postgres> for PgBox { +impl Encode<'_, Postgres> for PgBox { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("box")) } diff --git a/sqlx-postgres/src/types/geometry/circle.rs b/sqlx-postgres/src/types/geometry/circle.rs index dde54dd276..3f374ea74e 100644 --- a/sqlx-postgres/src/types/geometry/circle.rs +++ b/sqlx-postgres/src/types/geometry/circle.rs @@ -54,7 +54,7 @@ impl<'r> Decode<'r, Postgres> for PgCircle { } } -impl<'q> Encode<'q, Postgres> for PgCircle { +impl Encode<'_, Postgres> for PgCircle { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("circle")) } diff --git a/sqlx-postgres/src/types/geometry/line.rs b/sqlx-postgres/src/types/geometry/line.rs index 8f08c949ef..6bc90676ed 100644 --- a/sqlx-postgres/src/types/geometry/line.rs +++ b/sqlx-postgres/src/types/geometry/line.rs @@ -47,7 +47,7 @@ impl<'r> Decode<'r, Postgres> for PgLine { } } -impl<'q> Encode<'q, Postgres> for PgLine { +impl Encode<'_, Postgres> for PgLine { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("line")) } diff --git a/sqlx-postgres/src/types/geometry/line_segment.rs b/sqlx-postgres/src/types/geometry/line_segment.rs index cd08e4da4a..486d2ba07d 100644 --- a/sqlx-postgres/src/types/geometry/line_segment.rs +++ b/sqlx-postgres/src/types/geometry/line_segment.rs @@ -57,7 +57,7 @@ impl<'r> Decode<'r, Postgres> for PgLSeg { } } -impl<'q> Encode<'q, Postgres> for PgLSeg { +impl Encode<'_, Postgres> for PgLSeg { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("lseg")) } diff --git a/sqlx-postgres/src/types/geometry/path.rs b/sqlx-postgres/src/types/geometry/path.rs index 6799289fac..4f99e7e983 100644 --- a/sqlx-postgres/src/types/geometry/path.rs +++ b/sqlx-postgres/src/types/geometry/path.rs @@ -64,7 +64,7 @@ impl<'r> Decode<'r, Postgres> for PgPath { } } -impl<'q> Encode<'q, Postgres> for PgPath { +impl Encode<'_, Postgres> for PgPath { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("path")) } diff --git a/sqlx-postgres/src/types/geometry/point.rs b/sqlx-postgres/src/types/geometry/point.rs index 5078ce1ee4..1a57403810 100644 --- a/sqlx-postgres/src/types/geometry/point.rs +++ b/sqlx-postgres/src/types/geometry/point.rs @@ -50,7 +50,7 @@ impl<'r> Decode<'r, Postgres> for PgPoint { } } -impl<'q> Encode<'q, Postgres> for PgPoint { +impl Encode<'_, Postgres> for PgPoint { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("point")) } diff --git a/sqlx-postgres/src/types/geometry/polygon.rs b/sqlx-postgres/src/types/geometry/polygon.rs index a5a203c680..e612b93499 100644 --- a/sqlx-postgres/src/types/geometry/polygon.rs +++ b/sqlx-postgres/src/types/geometry/polygon.rs @@ -63,7 +63,7 @@ impl<'r> Decode<'r, Postgres> for PgPolygon { } } -impl<'q> Encode<'q, Postgres> for PgPolygon { +impl Encode<'_, Postgres> for PgPolygon { fn produces(&self) -> Option { Some(PgTypeInfo::with_name("polygon")) } diff --git a/sqlx-sqlite/src/connection/intmap.rs b/sqlx-sqlite/src/connection/intmap.rs index dc09162f64..f22dea5971 100644 --- a/sqlx-sqlite/src/connection/intmap.rs +++ b/sqlx-sqlite/src/connection/intmap.rs @@ -24,9 +24,11 @@ impl IntMap { } pub(crate) fn expand(&mut self, size: i64) -> usize { - let idx = size.try_into().expect("negative column index unsupported"); - while self.0.len() <= idx { - self.0.push(None); + let idx = usize::try_from(size).expect("negative column index unsupported"); + if idx >= self.0.len() { + let new_len = idx.checked_add(1).expect("idx + 1 overflowed"); + + self.0.resize_with(new_len, || None); } idx } @@ -95,15 +97,9 @@ impl IntMap { } impl IntMap { - pub(crate) fn get_mut_or_default<'a>(&'a mut self, idx: &i64) -> &'a mut V { + pub(crate) fn get_mut_or_default(&mut self, idx: &i64) -> &mut V { let idx: usize = self.expand(*idx); - - let item: &mut Option = &mut self.0[idx]; - if item.is_none() { - *item = Some(V::default()); - } - - return self.0[idx].as_mut().unwrap(); + self.0[idx].get_or_insert_default() } } diff --git a/sqlx-sqlite/src/connection/worker.rs b/sqlx-sqlite/src/connection/worker.rs index 00a4c2999c..ec8b38f0f6 100644 --- a/sqlx-sqlite/src/connection/worker.rs +++ b/sqlx-sqlite/src/connection/worker.rs @@ -145,14 +145,14 @@ impl ConnectionWorker { let _guard = span.enter(); match cmd { Command::Prepare { query, tx } => { - tx.send(prepare(&mut conn, &query).map(|prepared| { - update_cached_statements_size( - &conn, - &shared.cached_statements_size, - ); - prepared - })) - .ok(); + tx.send(prepare(&mut conn, &query)).ok(); + + // This may issue an unnecessary write on failure, + // but it doesn't matter in the grand scheme of things. + update_cached_statements_size( + &conn, + &shared.cached_statements_size, + ); } Command::Describe { query, tx } => { tx.send(describe(&mut conn, &query)).ok(); diff --git a/sqlx-sqlite/src/logger.rs b/sqlx-sqlite/src/logger.rs index 3abed8cebc..1464a730c7 100644 --- a/sqlx-sqlite/src/logger.rs +++ b/sqlx-sqlite/src/logger.rs @@ -436,7 +436,7 @@ impl<'q, R: Debug, S: Debug + DebugDiff, P: Debug> QueryPlanLogger<'q, R, S, P> } } -impl<'q, R: Debug, S: Debug + DebugDiff, P: Debug> Drop for QueryPlanLogger<'q, R, S, P> { +impl Drop for QueryPlanLogger<'_, R, S, P> { fn drop(&mut self) { self.finish(); } diff --git a/sqlx-sqlite/src/value.rs b/sqlx-sqlite/src/value.rs index 469c4e70d5..dc40f29ccb 100644 --- a/sqlx-sqlite/src/value.rs +++ b/sqlx-sqlite/src/value.rs @@ -108,8 +108,8 @@ pub(crate) struct ValueHandle<'a> { } // SAFE: only protected value objects are stored in SqliteValue -unsafe impl<'a> Send for ValueHandle<'a> {} -unsafe impl<'a> Sync for ValueHandle<'a> {} +unsafe impl Send for ValueHandle<'_> {} +unsafe impl Sync for ValueHandle<'_> {} impl ValueHandle<'static> { fn new_owned(value: NonNull, type_info: SqliteTypeInfo) -> Self { @@ -122,7 +122,7 @@ impl ValueHandle<'static> { } } -impl<'a> ValueHandle<'a> { +impl ValueHandle<'_> { fn new_borrowed(value: NonNull, type_info: SqliteTypeInfo) -> Self { Self { value, @@ -185,7 +185,7 @@ impl<'a> ValueHandle<'a> { } } -impl<'a> Drop for ValueHandle<'a> { +impl Drop for ValueHandle<'_> { fn drop(&mut self) { if self.free_on_drop { unsafe { diff --git a/tests/mysql/mysql.rs b/tests/mysql/mysql.rs index fe0f24050d..8af6c91de2 100644 --- a/tests/mysql/mysql.rs +++ b/tests/mysql/mysql.rs @@ -580,7 +580,7 @@ async fn test_shrink_buffers() -> anyhow::Result<()> { conn.shrink_buffers(); let ret: i64 = sqlx::query_scalar("SELECT ?") - .bind(&12345678i64) + .bind(12345678i64) .fetch_one(&mut conn) .await?; diff --git a/tests/mysql/types.rs b/tests/mysql/types.rs index e837a53f75..7eff6882e2 100644 --- a/tests/mysql/types.rs +++ b/tests/mysql/types.rs @@ -316,8 +316,8 @@ CREATE TEMPORARY TABLE with_bits ( .await?; sqlx::query("INSERT INTO with_bits (value_1, value_n) VALUES (?, ?)") - .bind(&1_u8) - .bind(&510202_u32) + .bind(1_u8) + .bind(510202_u32) .execute(&mut conn) .await?; diff --git a/tests/postgres/query_builder.rs b/tests/postgres/query_builder.rs index 08ed7d11a3..cdec136976 100644 --- a/tests/postgres/query_builder.rs +++ b/tests/postgres/query_builder.rs @@ -55,7 +55,7 @@ fn test_build() { let query = qb.build(); assert_eq!(query.sql(), "SELECT * FROM users WHERE id = $1"); - assert_eq!(Execute::persistent(&query), true); + assert!(Execute::persistent(&query)); } #[test] diff --git a/tests/postgres/test-attr.rs b/tests/postgres/test-attr.rs index d662024379..78a8b1f59a 100644 --- a/tests/postgres/test-attr.rs +++ b/tests/postgres/test-attr.rs @@ -158,7 +158,7 @@ async fn it_gets_comments(pool: PgPool) -> sqlx::Result<()> { let post_1_comments: Vec = sqlx::query_scalar( "SELECT content FROM comment WHERE post_id = $1::uuid ORDER BY created_at", ) - .bind(&"252c1d98-a9b0-4f18-8298-e59058bdfe16") + .bind("252c1d98-a9b0-4f18-8298-e59058bdfe16") .fetch_all(&pool) .await?; @@ -170,7 +170,7 @@ async fn it_gets_comments(pool: PgPool) -> sqlx::Result<()> { let post_2_comments: Vec = sqlx::query_scalar( "SELECT content FROM comment WHERE post_id = $1::uuid ORDER BY created_at", ) - .bind(&"844265f7-2472-4689-9a2e-b21f40dbf401") + .bind("844265f7-2472-4689-9a2e-b21f40dbf401") .fetch_all(&pool) .await?; diff --git a/tests/sqlite/any.rs b/tests/sqlite/any.rs index 856db70c05..b71c3ba43d 100644 --- a/tests/sqlite/any.rs +++ b/tests/sqlite/any.rs @@ -1,4 +1,4 @@ -use sqlx::{Any, Sqlite}; +use sqlx::Any; use sqlx_test::new; #[sqlx_macros::test] diff --git a/tests/sqlite/sqlite.rs b/tests/sqlite/sqlite.rs index c23c4fc9ef..4d24b07412 100644 --- a/tests/sqlite/sqlite.rs +++ b/tests/sqlite/sqlite.rs @@ -639,7 +639,7 @@ async fn issue_1467() -> anyhow::Result<()> { // Random seed: let seed: [u8; 32] = rand::random(); - println!("RNG seed: {}", hex::encode(&seed)); + println!("RNG seed: {}", hex::encode(seed)); // Pre-determined seed: // let mut seed: [u8; 32] = [0u8; 32]; @@ -734,7 +734,7 @@ async fn test_query_with_progress_handler() -> anyhow::Result<()> { let mut conn = new::().await?; // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_progress_handler(1, move || { assert_eq!(state, "test"); false @@ -802,7 +802,7 @@ async fn test_query_with_update_hook() -> anyhow::Result<()> { let mut conn = new::().await?; static CALLED: AtomicBool = AtomicBool::new(false); // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_update_hook(move |result| { assert_eq!(state, "test"); assert_eq!(result.operation, SqliteOperation::Insert); @@ -858,7 +858,7 @@ async fn test_query_with_commit_hook() -> anyhow::Result<()> { let mut conn = new::().await?; static CALLED: AtomicBool = AtomicBool::new(false); // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_commit_hook(move || { CALLED.store(true, Ordering::Relaxed); assert_eq!(state, "test"); @@ -920,7 +920,7 @@ async fn test_query_with_rollback_hook() -> anyhow::Result<()> { let mut conn = new::().await?; // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); static CALLED: AtomicBool = AtomicBool::new(false); conn.lock_handle().await?.set_rollback_hook(move || { assert_eq!(state, "test"); @@ -977,7 +977,7 @@ async fn test_query_with_preupdate_hook_insert() -> anyhow::Result<()> { let mut conn = new::().await?; static CALLED: AtomicBool = AtomicBool::new(false); // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_preupdate_hook({ move |result| { assert_eq!(state, "test"); @@ -1030,7 +1030,7 @@ async fn test_query_with_preupdate_hook_delete() -> anyhow::Result<()> { .await?; static CALLED: AtomicBool = AtomicBool::new(false); // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_preupdate_hook(move |result| { assert_eq!(state, "test"); assert_eq!(result.operation, SqliteOperation::Delete); @@ -1077,7 +1077,7 @@ async fn test_query_with_preupdate_hook_update() -> anyhow::Result<()> { static CALLED: AtomicBool = AtomicBool::new(false); let sqlite_value_stored: Arc>> = Default::default(); // Using this string as a canary to ensure the callback doesn't get called with the wrong data pointer. - let state = format!("test"); + let state = "test".to_string(); conn.lock_handle().await?.set_preupdate_hook({ let sqlite_value_stored = sqlite_value_stored.clone(); move |result| { diff --git a/tests/sqlite/types.rs b/tests/sqlite/types.rs index 2497e406cc..008d04dd86 100644 --- a/tests/sqlite/types.rs +++ b/tests/sqlite/types.rs @@ -88,7 +88,7 @@ mod json_tests { .fetch_one(&mut conn) .await?; - assert_eq!(true, value); + assert!(value); Ok(()) } From c908189a43869b2825d9e85b43874dfe2a18595d Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 23:39:21 -0700 Subject: [PATCH 06/15] fix: lots more Clippy warnings --- sqlx-core/src/any/arguments.rs | 2 +- sqlx-core/src/any/row.rs | 2 +- sqlx-core/src/any/statement.rs | 2 +- sqlx-core/src/ext/async_stream.rs | 2 +- sqlx-core/src/io/encode.rs | 2 +- sqlx-core/src/logger.rs | 2 +- sqlx-core/src/net/socket/mod.rs | 8 ++++---- sqlx-core/src/net/tls/tls_rustls.rs | 4 ++-- sqlx-core/src/pool/executor.rs | 2 +- sqlx-core/src/pool/inner.rs | 6 ++---- sqlx-core/src/pool/maybe.rs | 6 +++--- sqlx-core/src/query.rs | 2 +- sqlx-core/src/query_as.rs | 2 +- sqlx-core/src/query_builder.rs | 3 +-- sqlx-core/src/query_scalar.rs | 2 +- sqlx-core/src/rt/mod.rs | 4 ++-- sqlx-core/src/transaction.rs | 12 ++++++------ sqlx-core/src/type_checking.rs | 2 +- 18 files changed, 31 insertions(+), 34 deletions(-) diff --git a/sqlx-core/src/any/arguments.rs b/sqlx-core/src/any/arguments.rs index 59a0c0f765..2c05e3fd5b 100644 --- a/sqlx-core/src/any/arguments.rs +++ b/sqlx-core/src/any/arguments.rs @@ -32,7 +32,7 @@ impl<'q> Arguments<'q> for AnyArguments<'q> { pub struct AnyArgumentBuffer<'q>(#[doc(hidden)] pub Vec>); -impl<'q> Default for AnyArguments<'q> { +impl Default for AnyArguments<'_> { fn default() -> Self { AnyArguments { values: AnyArgumentBuffer(vec![]), diff --git a/sqlx-core/src/any/row.rs b/sqlx-core/src/any/row.rs index 310881da14..57b8590b5f 100644 --- a/sqlx-core/src/any/row.rs +++ b/sqlx-core/src/any/row.rs @@ -63,7 +63,7 @@ impl Row for AnyRow { } } -impl<'i> ColumnIndex for &'i str { +impl ColumnIndex for &'_ str { fn index(&self, row: &AnyRow) -> Result { row.column_names .get(*self) diff --git a/sqlx-core/src/any/statement.rs b/sqlx-core/src/any/statement.rs index 1fbb11895c..6d513e9a06 100644 --- a/sqlx-core/src/any/statement.rs +++ b/sqlx-core/src/any/statement.rs @@ -51,7 +51,7 @@ impl<'q> Statement<'q> for AnyStatement<'q> { impl_statement_query!(AnyArguments<'_>); } -impl<'i> ColumnIndex> for &'i str { +impl ColumnIndex> for &'_ str { fn index(&self, statement: &AnyStatement<'_>) -> Result { statement .column_names diff --git a/sqlx-core/src/ext/async_stream.rs b/sqlx-core/src/ext/async_stream.rs index 56777ca4db..c41d940981 100644 --- a/sqlx-core/src/ext/async_stream.rs +++ b/sqlx-core/src/ext/async_stream.rs @@ -95,7 +95,7 @@ impl Yielder { } } -impl<'a, T> Stream for TryAsyncStream<'a, T> { +impl Stream for TryAsyncStream<'_, T> { type Item = Result; fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { diff --git a/sqlx-core/src/io/encode.rs b/sqlx-core/src/io/encode.rs index a603ea9325..ba032d294d 100644 --- a/sqlx-core/src/io/encode.rs +++ b/sqlx-core/src/io/encode.rs @@ -9,7 +9,7 @@ pub trait ProtocolEncode<'en, Context = ()> { fn encode_with(&self, buf: &mut Vec, context: Context) -> Result<(), crate::Error>; } -impl<'en, C> ProtocolEncode<'en, C> for &'_ [u8] { +impl ProtocolEncode<'_, C> for &'_ [u8] { fn encode_with(&self, buf: &mut Vec, _context: C) -> Result<(), crate::Error> { buf.extend_from_slice(self); Ok(()) diff --git a/sqlx-core/src/logger.rs b/sqlx-core/src/logger.rs index cf6dd533bd..18d5843d38 100644 --- a/sqlx-core/src/logger.rs +++ b/sqlx-core/src/logger.rs @@ -158,7 +158,7 @@ impl<'q> QueryLogger<'q> { } } -impl<'q> Drop for QueryLogger<'q> { +impl Drop for QueryLogger<'_> { fn drop(&mut self) { self.finish(); } diff --git a/sqlx-core/src/net/socket/mod.rs b/sqlx-core/src/net/socket/mod.rs index d11f15884e..1f24da8c40 100644 --- a/sqlx-core/src/net/socket/mod.rs +++ b/sqlx-core/src/net/socket/mod.rs @@ -62,7 +62,7 @@ pub struct Read<'a, S: ?Sized, B> { buf: &'a mut B, } -impl<'a, S: ?Sized, B> Future for Read<'a, S, B> +impl Future for Read<'_, S, B> where S: Socket, B: ReadBuf, @@ -90,7 +90,7 @@ pub struct Write<'a, S: ?Sized> { buf: &'a [u8], } -impl<'a, S: ?Sized> Future for Write<'a, S> +impl Future for Write<'_, S> where S: Socket, { @@ -116,7 +116,7 @@ pub struct Flush<'a, S: ?Sized> { socket: &'a mut S, } -impl<'a, S: Socket + ?Sized> Future for Flush<'a, S> { +impl Future for Flush<'_, S> { type Output = io::Result<()>; fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { @@ -128,7 +128,7 @@ pub struct Shutdown<'a, S: ?Sized> { socket: &'a mut S, } -impl<'a, S: ?Sized> Future for Shutdown<'a, S> +impl Future for Shutdown<'_, S> where S: Socket, { diff --git a/sqlx-core/src/net/tls/tls_rustls.rs b/sqlx-core/src/net/tls/tls_rustls.rs index 1a85cf0ff9..e7b9ee0ced 100644 --- a/sqlx-core/src/net/tls/tls_rustls.rs +++ b/sqlx-core/src/net/tls/tls_rustls.rs @@ -138,7 +138,7 @@ where } } else { #[cfg(any(feature = "_tls-rustls-aws-lc-rs", feature = "_tls-rustls-ring-webpki"))] - let mut cert_store = certs_from_webpki(); + let cert_store = certs_from_webpki(); #[cfg(feature = "_tls-rustls-ring-native-roots")] let mut cert_store = certs_from_native_store(); @@ -225,7 +225,7 @@ fn certs_from_native_store() -> RootCertStore { log::warn!("Error loading native certificates: {e:?}"); } for cert in load_results.certs { - if let Err(e) = root_cert_store.add(cert.into()) { + if let Err(e) = root_cert_store.add(cert) { log::warn!("rustls failed to parse native certificate: {e:?}"); } } diff --git a/sqlx-core/src/pool/executor.rs b/sqlx-core/src/pool/executor.rs index ba27b44316..0eda818a5b 100644 --- a/sqlx-core/src/pool/executor.rs +++ b/sqlx-core/src/pool/executor.rs @@ -9,7 +9,7 @@ use crate::error::Error; use crate::executor::{Execute, Executor}; use crate::pool::Pool; -impl<'p, DB: Database> Executor<'p> for &'_ Pool +impl Executor<'_> for &'_ Pool where for<'c> &'c mut DB::Connection: Executor<'c, Database = DB>, { diff --git a/sqlx-core/src/pool/inner.rs b/sqlx-core/src/pool/inner.rs index 2066364a8e..f0fbef0697 100644 --- a/sqlx-core/src/pool/inner.rs +++ b/sqlx-core/src/pool/inner.rs @@ -451,15 +451,13 @@ pub(super) fn is_beyond_max_lifetime( options: &PoolOptions, ) -> bool { options - .max_lifetime - .map_or(false, |max| live.created_at.elapsed() > max) + .max_lifetime.is_some_and(|max| live.created_at.elapsed() > max) } /// Returns `true` if the connection has exceeded `options.idle_timeout` if set, `false` otherwise. fn is_beyond_idle_timeout(idle: &Idle, options: &PoolOptions) -> bool { options - .idle_timeout - .map_or(false, |timeout| idle.idle_since.elapsed() > timeout) + .idle_timeout.is_some_and(|timeout| idle.idle_since.elapsed() > timeout) } async fn check_idle_conn( diff --git a/sqlx-core/src/pool/maybe.rs b/sqlx-core/src/pool/maybe.rs index f9f16c41a5..71a48728a2 100644 --- a/sqlx-core/src/pool/maybe.rs +++ b/sqlx-core/src/pool/maybe.rs @@ -8,7 +8,7 @@ pub enum MaybePoolConnection<'c, DB: Database> { PoolConnection(PoolConnection), } -impl<'c, DB: Database> Deref for MaybePoolConnection<'c, DB> { +impl Deref for MaybePoolConnection<'_, DB> { type Target = DB::Connection; #[inline] @@ -20,7 +20,7 @@ impl<'c, DB: Database> Deref for MaybePoolConnection<'c, DB> { } } -impl<'c, DB: Database> DerefMut for MaybePoolConnection<'c, DB> { +impl DerefMut for MaybePoolConnection<'_, DB> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { match self { @@ -30,7 +30,7 @@ impl<'c, DB: Database> DerefMut for MaybePoolConnection<'c, DB> { } } -impl<'c, DB: Database> From> for MaybePoolConnection<'c, DB> { +impl From> for MaybePoolConnection<'_, DB> { fn from(v: PoolConnection) -> Self { MaybePoolConnection::PoolConnection(v) } diff --git a/sqlx-core/src/query.rs b/sqlx-core/src/query.rs index 4f21f73cda..3a982e7e79 100644 --- a/sqlx-core/src/query.rs +++ b/sqlx-core/src/query.rs @@ -120,7 +120,7 @@ impl<'q, DB: Database> Query<'q, DB, ::Arguments<'q>> { } } -impl<'q, DB, A> Query<'q, DB, A> +impl Query<'_, DB, A> where DB: Database + HasStatementCache, { diff --git a/sqlx-core/src/query_as.rs b/sqlx-core/src/query_as.rs index cc78434b5d..5a5ae4c73e 100644 --- a/sqlx-core/src/query_as.rs +++ b/sqlx-core/src/query_as.rs @@ -57,7 +57,7 @@ impl<'q, DB: Database, O> QueryAs<'q, DB, O, ::Arguments<'q>> { } } -impl<'q, DB, O, A> QueryAs<'q, DB, O, A> +impl QueryAs<'_, DB, O, A> where DB: Database + HasStatementCache, { diff --git a/sqlx-core/src/query_builder.rs b/sqlx-core/src/query_builder.rs index b242bf7b2a..b14d19adb2 100644 --- a/sqlx-core/src/query_builder.rs +++ b/sqlx-core/src/query_builder.rs @@ -30,7 +30,7 @@ where arguments: Option<::Arguments<'args>>, } -impl<'args, DB: Database> Default for QueryBuilder<'args, DB> { +impl Default for QueryBuilder<'_, DB> { fn default() -> Self { QueryBuilder { init_len: 0, @@ -191,7 +191,6 @@ where /// assert!(sql.ends_with("in (?, ?) ")); /// # } /// ``` - pub fn separated<'qb, Sep>(&'qb mut self, separator: Sep) -> Separated<'qb, 'args, DB, Sep> where 'args: 'qb, diff --git a/sqlx-core/src/query_scalar.rs b/sqlx-core/src/query_scalar.rs index 2f0fbbc7e7..f3fcfb403a 100644 --- a/sqlx-core/src/query_scalar.rs +++ b/sqlx-core/src/query_scalar.rs @@ -54,7 +54,7 @@ impl<'q, DB: Database, O> QueryScalar<'q, DB, O, ::Arguments<'q> } } -impl<'q, DB, O, A> QueryScalar<'q, DB, O, A> +impl QueryScalar<'_, DB, O, A> where DB: Database + HasStatementCache, { diff --git a/sqlx-core/src/rt/mod.rs b/sqlx-core/src/rt/mod.rs index 43409073ab..d495994866 100644 --- a/sqlx-core/src/rt/mod.rs +++ b/sqlx-core/src/rt/mod.rs @@ -116,11 +116,11 @@ pub async fn yield_now() { pub fn test_block_on(f: F) -> F::Output { #[cfg(feature = "_rt-tokio")] { - return tokio::runtime::Builder::new_current_thread() + tokio::runtime::Builder::new_current_thread() .enable_all() .build() .expect("failed to start Tokio runtime") - .block_on(f); + .block_on(f) } #[cfg(all(feature = "_rt-async-std", not(feature = "_rt-tokio")))] diff --git a/sqlx-core/src/transaction.rs b/sqlx-core/src/transaction.rs index 2a84ff6555..21d12f7a78 100644 --- a/sqlx-core/src/transaction.rs +++ b/sqlx-core/src/transaction.rs @@ -199,7 +199,7 @@ where // } // } -impl<'c, DB> Debug for Transaction<'c, DB> +impl Debug for Transaction<'_, DB> where DB: Database, { @@ -209,7 +209,7 @@ where } } -impl<'c, DB> Deref for Transaction<'c, DB> +impl Deref for Transaction<'_, DB> where DB: Database, { @@ -221,7 +221,7 @@ where } } -impl<'c, DB> DerefMut for Transaction<'c, DB> +impl DerefMut for Transaction<'_, DB> where DB: Database, { @@ -235,13 +235,13 @@ where // `PgAdvisoryLockGuard`. // // See: https://github.com/launchbadge/sqlx/issues/2520 -impl<'c, DB: Database> AsMut for Transaction<'c, DB> { +impl AsMut for Transaction<'_, DB> { fn as_mut(&mut self) -> &mut DB::Connection { &mut self.connection } } -impl<'c, 't, DB: Database> crate::acquire::Acquire<'t> for &'t mut Transaction<'c, DB> { +impl<'t, DB: Database> crate::acquire::Acquire<'t> for &'t mut Transaction<'_, DB> { type Database = DB; type Connection = &'t mut ::Connection; @@ -257,7 +257,7 @@ impl<'c, 't, DB: Database> crate::acquire::Acquire<'t> for &'t mut Transaction<' } } -impl<'c, DB> Drop for Transaction<'c, DB> +impl Drop for Transaction<'_, DB> where DB: Database, { diff --git a/sqlx-core/src/type_checking.rs b/sqlx-core/src/type_checking.rs index 5766124530..1da6b7ab3f 100644 --- a/sqlx-core/src/type_checking.rs +++ b/sqlx-core/src/type_checking.rs @@ -112,7 +112,7 @@ where } } -impl<'v, DB> Debug for FmtValue<'v, DB> +impl Debug for FmtValue<'_, DB> where DB: Database, { From 3b1b6ba10b8b4c0729f017df58ff6b6e3738c288 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 23:42:29 -0700 Subject: [PATCH 07/15] fix(cli): add `_sqlite` feature --- sqlx-cli/Cargo.toml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sqlx-cli/Cargo.toml b/sqlx-cli/Cargo.toml index 2c33688728..2d7301d9e4 100644 --- a/sqlx-cli/Cargo.toml +++ b/sqlx-cli/Cargo.toml @@ -56,14 +56,17 @@ native-tls = ["sqlx/runtime-tokio-native-tls"] # databases mysql = ["sqlx/mysql"] postgres = ["sqlx/postgres"] -sqlite = ["sqlx/sqlite"] -sqlite-unbundled = ["sqlx/sqlite-unbundled"] +sqlite = ["sqlx/sqlite", "_sqlite"] +sqlite-unbundled = ["sqlx/sqlite-unbundled", "_sqlite"] # workaround for musl + openssl issues openssl-vendored = ["openssl/vendored"] completions = ["dep:clap_complete"] +# Conditional compilation only +_sqlite = [] + [dev-dependencies] assert_cmd = "2.0.11" tempfile = "3.10.1" From e9d10d89f493fac46b03f321a0a8119f107f16d8 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Sun, 13 Apr 2025 23:44:44 -0700 Subject: [PATCH 08/15] fix: lots, *lots* more Clippy warnings --- examples/postgres/listen/src/main.rs | 6 ++-- sqlx-core/src/net/tls/tls_rustls.rs | 2 +- sqlx-core/src/pool/inner.rs | 6 ++-- sqlx-mysql/src/io/buf_mut.rs | 18 +++++----- sqlx-postgres/src/advisory_lock.rs | 14 ++++---- sqlx-postgres/src/connection/executor.rs | 2 +- sqlx-postgres/src/connection/tls.rs | 2 +- sqlx-postgres/src/listener.rs | 4 +-- sqlx-postgres/src/message/response.rs | 2 +- sqlx-postgres/src/options/parse.rs | 2 +- sqlx-postgres/src/types/bigdecimal.rs | 3 +- sqlx-postgres/src/types/interval.rs | 12 +++---- sqlx-postgres/src/types/json.rs | 2 +- sqlx-postgres/src/types/rust_decimal.rs | 46 ++++++++++-------------- sqlx-postgres/src/types/text.rs | 2 +- 15 files changed, 58 insertions(+), 65 deletions(-) diff --git a/examples/postgres/listen/src/main.rs b/examples/postgres/listen/src/main.rs index b9ed35ba4b..49d97a466d 100644 --- a/examples/postgres/listen/src/main.rs +++ b/examples/postgres/listen/src/main.rs @@ -98,9 +98,9 @@ from ( ) notifies(chan, payload) "#, ) - .bind(&COUNTER.fetch_add(1, Ordering::SeqCst)) - .bind(&COUNTER.fetch_add(1, Ordering::SeqCst)) - .bind(&COUNTER.fetch_add(1, Ordering::SeqCst)) + .bind(COUNTER.fetch_add(1, Ordering::SeqCst)) + .bind(COUNTER.fetch_add(1, Ordering::SeqCst)) + .bind(COUNTER.fetch_add(1, Ordering::SeqCst)) .execute(pool) .await; diff --git a/sqlx-core/src/net/tls/tls_rustls.rs b/sqlx-core/src/net/tls/tls_rustls.rs index e7b9ee0ced..7d91b9e879 100644 --- a/sqlx-core/src/net/tls/tls_rustls.rs +++ b/sqlx-core/src/net/tls/tls_rustls.rs @@ -138,7 +138,7 @@ where } } else { #[cfg(any(feature = "_tls-rustls-aws-lc-rs", feature = "_tls-rustls-ring-webpki"))] - let cert_store = certs_from_webpki(); + let mut cert_store = certs_from_webpki(); #[cfg(feature = "_tls-rustls-ring-native-roots")] let mut cert_store = certs_from_native_store(); diff --git a/sqlx-core/src/pool/inner.rs b/sqlx-core/src/pool/inner.rs index f0fbef0697..51dd4b0055 100644 --- a/sqlx-core/src/pool/inner.rs +++ b/sqlx-core/src/pool/inner.rs @@ -451,13 +451,15 @@ pub(super) fn is_beyond_max_lifetime( options: &PoolOptions, ) -> bool { options - .max_lifetime.is_some_and(|max| live.created_at.elapsed() > max) + .max_lifetime + .is_some_and(|max| live.created_at.elapsed() > max) } /// Returns `true` if the connection has exceeded `options.idle_timeout` if set, `false` otherwise. fn is_beyond_idle_timeout(idle: &Idle, options: &PoolOptions) -> bool { options - .idle_timeout.is_some_and(|timeout| idle.idle_since.elapsed() > timeout) + .idle_timeout + .is_some_and(|timeout| idle.idle_since.elapsed() > timeout) } async fn check_idle_conn( diff --git a/sqlx-mysql/src/io/buf_mut.rs b/sqlx-mysql/src/io/buf_mut.rs index e40148e7b5..11bd2da5a2 100644 --- a/sqlx-mysql/src/io/buf_mut.rs +++ b/sqlx-mysql/src/io/buf_mut.rs @@ -45,7 +45,7 @@ impl MySqlBufMutExt for Vec { #[test] fn test_encodes_int_lenenc_u8() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFA as u64); + buf.put_uint_lenenc(0xFA_u64); assert_eq!(&buf[..], b"\xFA"); } @@ -53,7 +53,7 @@ fn test_encodes_int_lenenc_u8() { #[test] fn test_encodes_int_lenenc_u16() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(std::u16::MAX as u64); + buf.put_uint_lenenc(u16::MAX as u64); assert_eq!(&buf[..], b"\xFC\xFF\xFF"); } @@ -61,7 +61,7 @@ fn test_encodes_int_lenenc_u16() { #[test] fn test_encodes_int_lenenc_u24() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFF_FF_FF as u64); + buf.put_uint_lenenc(0xFF_FF_FF_u64); assert_eq!(&buf[..], b"\xFD\xFF\xFF\xFF"); } @@ -69,7 +69,7 @@ fn test_encodes_int_lenenc_u24() { #[test] fn test_encodes_int_lenenc_u64() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(std::u64::MAX); + buf.put_uint_lenenc(u64::MAX); assert_eq!(&buf[..], b"\xFE\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"); } @@ -77,7 +77,7 @@ fn test_encodes_int_lenenc_u64() { #[test] fn test_encodes_int_lenenc_fb() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFB as u64); + buf.put_uint_lenenc(0xFB_u64); assert_eq!(&buf[..], b"\xFC\xFB\x00"); } @@ -85,7 +85,7 @@ fn test_encodes_int_lenenc_fb() { #[test] fn test_encodes_int_lenenc_fc() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFC as u64); + buf.put_uint_lenenc(0xFC_u64); assert_eq!(&buf[..], b"\xFC\xFC\x00"); } @@ -93,7 +93,7 @@ fn test_encodes_int_lenenc_fc() { #[test] fn test_encodes_int_lenenc_fd() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFD as u64); + buf.put_uint_lenenc(0xFD_u64); assert_eq!(&buf[..], b"\xFC\xFD\x00"); } @@ -101,7 +101,7 @@ fn test_encodes_int_lenenc_fd() { #[test] fn test_encodes_int_lenenc_fe() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFE as u64); + buf.put_uint_lenenc(0xFE_u64); assert_eq!(&buf[..], b"\xFC\xFE\x00"); } @@ -109,7 +109,7 @@ fn test_encodes_int_lenenc_fe() { #[test] fn test_encodes_int_lenenc_ff() { let mut buf = Vec::with_capacity(1024); - buf.put_uint_lenenc(0xFF as u64); + buf.put_uint_lenenc(0xFF_u64); assert_eq!(&buf[..], b"\xFC\xFF\x00"); } diff --git a/sqlx-postgres/src/advisory_lock.rs b/sqlx-postgres/src/advisory_lock.rs index d1aef176fb..047ede6be6 100644 --- a/sqlx-postgres/src/advisory_lock.rs +++ b/sqlx-postgres/src/advisory_lock.rs @@ -362,7 +362,7 @@ impl<'lock, C: AsMut> PgAdvisoryLockGuard<'lock, C> { } } -impl<'lock, C: AsMut + AsRef> Deref for PgAdvisoryLockGuard<'lock, C> { +impl + AsRef> Deref for PgAdvisoryLockGuard<'_, C> { type Target = PgConnection; fn deref(&self) -> &Self::Target { @@ -376,16 +376,14 @@ impl<'lock, C: AsMut + AsRef> Deref for PgAdvisoryLo /// However, replacing the connection with a different one using, e.g. [`std::mem::replace()`] /// is a logic error and will cause a warning to be logged by the PostgreSQL server when this /// guard attempts to release the lock. -impl<'lock, C: AsMut + AsRef> DerefMut - for PgAdvisoryLockGuard<'lock, C> -{ +impl + AsRef> DerefMut for PgAdvisoryLockGuard<'_, C> { fn deref_mut(&mut self) -> &mut Self::Target { self.conn.as_mut().expect(NONE_ERR).as_mut() } } -impl<'lock, C: AsMut + AsRef> AsRef - for PgAdvisoryLockGuard<'lock, C> +impl + AsRef> AsRef + for PgAdvisoryLockGuard<'_, C> { fn as_ref(&self) -> &PgConnection { self.conn.as_ref().expect(NONE_ERR).as_ref() @@ -398,7 +396,7 @@ impl<'lock, C: AsMut + AsRef> AsRef /// However, replacing the connection with a different one using, e.g. [`std::mem::replace()`] /// is a logic error and will cause a warning to be logged by the PostgreSQL server when this /// guard attempts to release the lock. -impl<'lock, C: AsMut> AsMut for PgAdvisoryLockGuard<'lock, C> { +impl> AsMut for PgAdvisoryLockGuard<'_, C> { fn as_mut(&mut self) -> &mut PgConnection { self.conn.as_mut().expect(NONE_ERR).as_mut() } @@ -407,7 +405,7 @@ impl<'lock, C: AsMut> AsMut for PgAdvisoryLockGuard< /// Queues a `pg_advisory_unlock()` call on the wrapped connection which will be flushed /// to the server the next time it is used, or when it is returned to [`PgPool`][crate::PgPool] /// in the case of [`PoolConnection`][crate::pool::PoolConnection]. -impl<'lock, C: AsMut> Drop for PgAdvisoryLockGuard<'lock, C> { +impl> Drop for PgAdvisoryLockGuard<'_, C> { fn drop(&mut self) { if let Some(mut conn) = self.conn.take() { // Queue a simple query message to execute next time the connection is used. diff --git a/sqlx-postgres/src/connection/executor.rs b/sqlx-postgres/src/connection/executor.rs index 3fe4f402d8..d0596aacee 100644 --- a/sqlx-postgres/src/connection/executor.rs +++ b/sqlx-postgres/src/connection/executor.rs @@ -165,7 +165,7 @@ impl PgConnection { self.inner.pending_ready_for_query_count += 1; } - async fn get_or_prepare<'a>( + async fn get_or_prepare( &mut self, sql: &str, parameters: &[PgTypeInfo], diff --git a/sqlx-postgres/src/connection/tls.rs b/sqlx-postgres/src/connection/tls.rs index 16b7333bf5..a49c9caa8c 100644 --- a/sqlx-postgres/src/connection/tls.rs +++ b/sqlx-postgres/src/connection/tls.rs @@ -7,7 +7,7 @@ use crate::{PgConnectOptions, PgSslMode}; pub struct MaybeUpgradeTls<'a>(pub &'a PgConnectOptions); -impl<'a> WithSocket for MaybeUpgradeTls<'a> { +impl WithSocket for MaybeUpgradeTls<'_> { type Output = crate::Result>; async fn with_socket(self, socket: S) -> Self::Output { diff --git a/sqlx-postgres/src/listener.rs b/sqlx-postgres/src/listener.rs index 17a46a916f..32658534c4 100644 --- a/sqlx-postgres/src/listener.rs +++ b/sqlx-postgres/src/listener.rs @@ -506,12 +506,12 @@ fn build_listen_all_query(channels: impl IntoIterator>) - #[test] fn test_build_listen_all_query_with_single_channel() { - let output = build_listen_all_query(&["test"]); + let output = build_listen_all_query(["test"]); assert_eq!(output.as_str(), r#"LISTEN "test";"#); } #[test] fn test_build_listen_all_query_with_multiple_channels() { - let output = build_listen_all_query(&["channel.0", "channel.1"]); + let output = build_listen_all_query(["channel.0", "channel.1"]); assert_eq!(output.as_str(), r#"LISTEN "channel.0";LISTEN "channel.1";"#); } diff --git a/sqlx-postgres/src/message/response.rs b/sqlx-postgres/src/message/response.rs index d6e43e0871..a7c09cfa34 100644 --- a/sqlx-postgres/src/message/response.rs +++ b/sqlx-postgres/src/message/response.rs @@ -195,7 +195,7 @@ struct Fields<'a> { offset: usize, } -impl<'a> Iterator for Fields<'a> { +impl Iterator for Fields<'_> { type Item = (u8, Range); fn next(&mut self) -> Option { diff --git a/sqlx-postgres/src/options/parse.rs b/sqlx-postgres/src/options/parse.rs index efbf85d8f6..e911305698 100644 --- a/sqlx-postgres/src/options/parse.rs +++ b/sqlx-postgres/src/options/parse.rs @@ -336,7 +336,7 @@ fn built_url_can_be_parsed() { let url = "postgres://username:p@ssw0rd@hostname:5432/database"; let opts = PgConnectOptions::from_str(url).unwrap(); - let parsed = PgConnectOptions::from_str(&opts.build_url().to_string()); + let parsed = PgConnectOptions::from_str(opts.build_url().as_ref()); assert!(parsed.is_ok()); } diff --git a/sqlx-postgres/src/types/bigdecimal.rs b/sqlx-postgres/src/types/bigdecimal.rs index 869f850797..cb9ce0a948 100644 --- a/sqlx-postgres/src/types/bigdecimal.rs +++ b/sqlx-postgres/src/types/bigdecimal.rs @@ -213,7 +213,8 @@ fn sign_to_pg(sign: Sign) -> PgNumericSign { } #[cfg(test)] -mod bigdecimal_to_pgnumeric { +#[allow(clippy::zero_prefixed_literal)] // Used for clarity +mod tests { use super::{BigDecimal, PgNumeric, PgNumericSign}; use std::convert::TryFrom; diff --git a/sqlx-postgres/src/types/interval.rs b/sqlx-postgres/src/types/interval.rs index 02b1faa67a..af4810323d 100644 --- a/sqlx-postgres/src/types/interval.rs +++ b/sqlx-postgres/src/types/interval.rs @@ -231,7 +231,7 @@ fn test_encode_interval() { microseconds: 0, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!(&**buf, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); @@ -243,7 +243,7 @@ fn test_encode_interval() { microseconds: 1_000, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!(&**buf, [0, 0, 0, 0, 0, 0, 3, 232, 0, 0, 0, 0, 0, 0, 0, 0]); @@ -255,7 +255,7 @@ fn test_encode_interval() { microseconds: 1_000_000, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!(&**buf, [0, 0, 0, 0, 0, 15, 66, 64, 0, 0, 0, 0, 0, 0, 0, 0]); @@ -267,7 +267,7 @@ fn test_encode_interval() { microseconds: 3_600_000_000, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!( @@ -282,7 +282,7 @@ fn test_encode_interval() { microseconds: 0, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!(&**buf, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]); @@ -294,7 +294,7 @@ fn test_encode_interval() { microseconds: 0, }; assert!(matches!( - Encode::::encode(&interval, &mut buf), + Encode::::encode(interval, &mut buf), Ok(IsNull::No) )); assert_eq!(&**buf, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); diff --git a/sqlx-postgres/src/types/json.rs b/sqlx-postgres/src/types/json.rs index 567e48015e..32f886c781 100644 --- a/sqlx-postgres/src/types/json.rs +++ b/sqlx-postgres/src/types/json.rs @@ -54,7 +54,7 @@ impl PgHasArrayType for JsonRawValue { } } -impl<'q, T> Encode<'q, Postgres> for Json +impl Encode<'_, Postgres> for Json where T: Serialize, { diff --git a/sqlx-postgres/src/types/rust_decimal.rs b/sqlx-postgres/src/types/rust_decimal.rs index 8321e82811..549043d98d 100644 --- a/sqlx-postgres/src/types/rust_decimal.rs +++ b/sqlx-postgres/src/types/rust_decimal.rs @@ -188,6 +188,7 @@ impl Decode<'_, Postgres> for Decimal { } #[cfg(test)] +#[allow(clippy::zero_prefixed_literal)] // Used for clarity mod tests { use super::{Decimal, PgNumeric, PgNumericSign}; use std::convert::TryFrom; @@ -205,7 +206,7 @@ mod tests { fn one() { let one: Decimal = "1".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&one).unwrap(), + PgNumeric::from(&one), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -219,7 +220,7 @@ mod tests { fn ten() { let ten: Decimal = "10".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&ten).unwrap(), + PgNumeric::from(&ten), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -233,7 +234,7 @@ mod tests { fn one_hundred() { let one_hundred: Decimal = "100".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&one_hundred).unwrap(), + PgNumeric::from(&one_hundred), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -248,7 +249,7 @@ mod tests { // Decimal doesn't normalize here let ten_thousand: Decimal = "10000".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&ten_thousand).unwrap(), + PgNumeric::from(&ten_thousand), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -262,7 +263,7 @@ mod tests { fn two_digits() { let two_digits: Decimal = "12345".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&two_digits).unwrap(), + PgNumeric::from(&two_digits), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -276,7 +277,7 @@ mod tests { fn one_tenth() { let one_tenth: Decimal = "0.1".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&one_tenth).unwrap(), + PgNumeric::from(&one_tenth), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 1, @@ -290,7 +291,7 @@ mod tests { fn decimal_1() { let decimal: Decimal = "1.2345".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&decimal).unwrap(), + PgNumeric::from(&decimal), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 4, @@ -304,7 +305,7 @@ mod tests { fn decimal_2() { let decimal: Decimal = "0.12345".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&decimal).unwrap(), + PgNumeric::from(&decimal), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 5, @@ -318,7 +319,7 @@ mod tests { fn decimal_3() { let decimal: Decimal = "0.01234".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&decimal).unwrap(), + PgNumeric::from(&decimal), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 5, @@ -337,7 +338,7 @@ mod tests { weight: 1, digits: vec![1, 2345, 6789], }; - assert_eq!(PgNumeric::try_from(&decimal).unwrap(), expected_numeric); + assert_eq!(PgNumeric::from(&decimal), expected_numeric); let actual_decimal = Decimal::try_from(expected_numeric).unwrap(); assert_eq!(actual_decimal, decimal); @@ -354,10 +355,7 @@ mod tests { weight: -2, digits: vec![1234], }; - assert_eq!( - PgNumeric::try_from(&one_digit_decimal).unwrap(), - expected_numeric - ); + assert_eq!(PgNumeric::from(&one_digit_decimal), expected_numeric); let actual_decimal = Decimal::try_from(expected_numeric).unwrap(); assert_eq!(actual_decimal, one_digit_decimal); @@ -373,10 +371,7 @@ mod tests { weight: 7, digits: vec![7, 9228, 1625, 1426, 4337, 5935, 4395, 0335], }; - assert_eq!( - PgNumeric::try_from(&Decimal::MAX).unwrap(), - expected_numeric - ); + assert_eq!(PgNumeric::from(&Decimal::MAX), expected_numeric); let actual_decimal = Decimal::try_from(expected_numeric).unwrap(); assert_eq!(actual_decimal, Decimal::MAX); @@ -399,10 +394,7 @@ mod tests { weight: 0, digits: vec![7, 9228, 1625, 1426, 4337, 5935, 4395, 0335], }; - assert_eq!( - PgNumeric::try_from(&max_value_max_scale).unwrap(), - expected_numeric - ); + assert_eq!(PgNumeric::from(&max_value_max_scale), expected_numeric); let actual_decimal = Decimal::try_from(expected_numeric).unwrap(); assert_eq!(actual_decimal, max_value_max_scale); @@ -418,7 +410,7 @@ mod tests { // This is a regression test for https://github.com/launchbadge/sqlx/issues/423 let four_digit: Decimal = "1234".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&four_digit).unwrap(), + PgNumeric::from(&four_digit), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -433,7 +425,7 @@ mod tests { // This is a regression test for https://github.com/launchbadge/sqlx/issues/423 let negative_four_digit: Decimal = "-1234".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&negative_four_digit).unwrap(), + PgNumeric::from(&negative_four_digit), PgNumeric::Number { sign: PgNumericSign::Negative, scale: 0, @@ -448,7 +440,7 @@ mod tests { // This is a regression test for https://github.com/launchbadge/sqlx/issues/423 let eight_digit: Decimal = "12345678".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&eight_digit).unwrap(), + PgNumeric::from(&eight_digit), PgNumeric::Number { sign: PgNumericSign::Positive, scale: 0, @@ -463,7 +455,7 @@ mod tests { // This is a regression test for https://github.com/launchbadge/sqlx/issues/423 let negative_eight_digit: Decimal = "-12345678".parse().unwrap(); assert_eq!( - PgNumeric::try_from(&negative_eight_digit).unwrap(), + PgNumeric::from(&negative_eight_digit), PgNumeric::Number { sign: PgNumericSign::Negative, scale: 0, @@ -483,7 +475,7 @@ mod tests { weight: 0, digits: vec![100], }; - assert_eq!(PgNumeric::try_from(&one_hundred).unwrap(), expected_numeric); + assert_eq!(PgNumeric::from(&one_hundred), expected_numeric); let actual_decimal = Decimal::try_from(expected_numeric).unwrap(); assert_eq!(actual_decimal, one_hundred); diff --git a/sqlx-postgres/src/types/text.rs b/sqlx-postgres/src/types/text.rs index b5b0a5ed7b..12d92d4b2a 100644 --- a/sqlx-postgres/src/types/text.rs +++ b/sqlx-postgres/src/types/text.rs @@ -18,7 +18,7 @@ impl Type for Text { } } -impl<'q, T> Encode<'q, Postgres> for Text +impl Encode<'_, Postgres> for Text where T: Display, { From 403b09b93ae936fb2c79ca1419dc46e109041913 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Mon, 14 Apr 2025 00:26:13 -0700 Subject: [PATCH 09/15] fix(core): warning in `tls_rustls` --- sqlx-core/src/net/tls/tls_rustls.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/sqlx-core/src/net/tls/tls_rustls.rs b/sqlx-core/src/net/tls/tls_rustls.rs index 7d91b9e879..726df324aa 100644 --- a/sqlx-core/src/net/tls/tls_rustls.rs +++ b/sqlx-core/src/net/tls/tls_rustls.rs @@ -137,10 +137,7 @@ where .with_no_client_auth() } } else { - #[cfg(any(feature = "_tls-rustls-aws-lc-rs", feature = "_tls-rustls-ring-webpki"))] - let mut cert_store = certs_from_webpki(); - #[cfg(feature = "_tls-rustls-ring-native-roots")] - let mut cert_store = certs_from_native_store(); + let mut cert_store = import_root_certs(); if let Some(ca) = tls_config.root_cert_path { let data = ca.data().await?; @@ -211,13 +208,13 @@ fn private_key_from_pem(pem: Vec) -> Result, Error> { } } -#[cfg(any(feature = "_tls-rustls-aws-lc-rs", feature = "_tls-rustls-ring-webpki"))] -fn certs_from_webpki() -> RootCertStore { +#[cfg(all(feature = "webpki-roots", not(feature = "rustls-native-certs")))] +fn import_root_certs() -> RootCertStore { RootCertStore::from_iter(webpki_roots::TLS_SERVER_ROOTS.iter().cloned()) } -#[cfg(feature = "_tls-rustls-ring-native-roots")] -fn certs_from_native_store() -> RootCertStore { +#[cfg(feature = "rustls-native-certs")] +fn import_root_certs() -> RootCertStore { let mut root_cert_store = RootCertStore::empty(); let load_results = rustls_native_certs::load_native_certs(); @@ -233,6 +230,12 @@ fn certs_from_native_store() -> RootCertStore { root_cert_store } +// Not currently used but allows for a "tls-rustls-no-roots" feature. +#[cfg(not(any(feature = "rustls-native-certs", feature = "webpki-roots")))] +fn import_root_certs() -> RootCertStore { + RootCertStore::empty() +} + #[derive(Debug)] struct DummyTlsVerifier { provider: Arc, From 158b664d9fcbd4659d7386eca67da1e9d61ed51d Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Mon, 14 Apr 2025 01:42:47 -0700 Subject: [PATCH 10/15] breaking: delete runtime+TLS combination features --- Cargo.toml | 8 -------- README.md | 8 -------- sqlx-cli/Cargo.toml | 4 ++-- src/lib.md | 5 ----- 4 files changed, 2 insertions(+), 23 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index cb3b1140d9..c3424e5f60 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -92,14 +92,6 @@ tls-rustls-ring-native-roots = ["sqlx-core/_tls-rustls-ring-native-roots", "sqlx # No-op feature used by the workflows to compile without TLS enabled. Not meant for general use. tls-none = [] -# Legacy Runtime + TLS features - -runtime-async-std-native-tls = ["runtime-async-std", "tls-native-tls"] -runtime-async-std-rustls = ["runtime-async-std", "tls-rustls-ring"] - -runtime-tokio-native-tls = ["runtime-tokio", "tls-native-tls"] -runtime-tokio-rustls = ["runtime-tokio", "tls-rustls-ring"] - # for conditional compilation _rt-async-std = [] _rt-tokio = [] diff --git a/README.md b/README.md index cc0ecf2e66..747ad079f0 100644 --- a/README.md +++ b/README.md @@ -165,16 +165,8 @@ be removed in the future. - `runtime-async-std`: Use the `async-std` runtime without enabling a TLS backend. -- `runtime-async-std-native-tls`: Use the `async-std` runtime and `native-tls` TLS backend (SOFT-DEPRECATED). - -- `runtime-async-std-rustls`: Use the `async-std` runtime and `rustls` TLS backend (SOFT-DEPRECATED). - - `runtime-tokio`: Use the `tokio` runtime without enabling a TLS backend. -- `runtime-tokio-native-tls`: Use the `tokio` runtime and `native-tls` TLS backend (SOFT-DEPRECATED). - -- `runtime-tokio-rustls`: Use the `tokio` runtime and `rustls` TLS backend (SOFT-DEPRECATED). - - Actix-web is fully compatible with Tokio and so a separate runtime feature is no longer needed. - `tls-native-tls`: Use the `native-tls` TLS backend (OpenSSL on *nix, SChannel on Windows, Secure Transport on macOS). diff --git a/sqlx-cli/Cargo.toml b/sqlx-cli/Cargo.toml index 2d7301d9e4..f8c821a8f8 100644 --- a/sqlx-cli/Cargo.toml +++ b/sqlx-cli/Cargo.toml @@ -50,8 +50,8 @@ backoff = { version = "0.4.0", features = ["futures", "tokio"] } [features] default = ["postgres", "sqlite", "mysql", "native-tls", "completions"] -rustls = ["sqlx/runtime-tokio-rustls"] -native-tls = ["sqlx/runtime-tokio-native-tls"] +rustls = ["sqlx/tls-rustls"] +native-tls = ["sqlx/tls-native-tls"] # databases mysql = ["sqlx/mysql"] diff --git a/src/lib.md b/src/lib.md index aa45b15730..7fc5b899a7 100644 --- a/src/lib.md +++ b/src/lib.md @@ -12,8 +12,6 @@ You choose which runtime SQLx uses by default by enabling one of the following f * `runtime-async-std` * `runtime-tokio` -The `runtime-actix` feature also exists but is an alias of `runtime-tokio`. - If more than one runtime feature is enabled, the Tokio runtime is used if a Tokio context exists on the current thread, i.e. [`tokio::runtime::Handle::try_current()`] returns `Ok`; `async-std` is used otherwise. @@ -53,9 +51,6 @@ Consult the user manual for your database to find the TLS versions it supports. If your connection configuration requires a TLS upgrade but TLS support was not enabled, the connection attempt will return an error. -The legacy runtime+TLS combination feature flags are still supported, but for forward-compatibility, use of the separate -runtime and TLS feature flags is recommended. - [the LaunchBadge team]: https://www.launchbadge.com [README]: https://www.github.com/launchbadge/sqlx/tree/main/README.md [browse our example projects]: https://www.github.com/launchbadge/sqlx/tree/main/examples From 315c96593b2f5a5208d63801b330a003ca70858d Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Tue, 15 Apr 2025 20:28:57 -0700 Subject: [PATCH 11/15] chore: don't re-export unstable `TransactionManager` trait --- sqlx-core/src/transaction.rs | 1 - src/lib.rs | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/sqlx-core/src/transaction.rs b/sqlx-core/src/transaction.rs index 21d12f7a78..0606fbee31 100644 --- a/sqlx-core/src/transaction.rs +++ b/sqlx-core/src/transaction.rs @@ -11,7 +11,6 @@ use crate::pool::MaybePoolConnection; /// Generic management of database transactions. /// /// This trait should not be used, except when implementing [`Connection`]. -#[doc(hidden)] pub trait TransactionManager { type Database: Database; diff --git a/src/lib.rs b/src/lib.rs index ed76c5f5ee..e55dc26e36 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,7 +30,7 @@ pub use sqlx_core::query_scalar::{query_scalar, query_scalar_with}; pub use sqlx_core::raw_sql::{raw_sql, RawSql}; pub use sqlx_core::row::Row; pub use sqlx_core::statement::Statement; -pub use sqlx_core::transaction::{Transaction, TransactionManager}; +pub use sqlx_core::transaction::Transaction; pub use sqlx_core::type_info::TypeInfo; pub use sqlx_core::types::Type; pub use sqlx_core::value::{Value, ValueRef}; From 7a1e16d18fde4188c7baf2a15aa8f27f6643fff4 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Mon, 19 May 2025 16:43:33 -0700 Subject: [PATCH 12/15] chore: 0.9.0-alplha.1 CHANGELOG --- CHANGELOG.md | 19 +++++++++++++++++++ Cargo.lock | 16 ++++++++-------- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fadc3d093..8a442cb010 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.0-alpha.1 - 2025-05-19 + +Accumulated changes since the beginning of the alpha cycle. Effectively a draft CHANGELOG for the 0.9.0 release. + +This section will be replaced in subsequent alpha releases. See the Git history of this file for previous alphas. + +### Breaking + +* [[#3821]] Groundwork for 0.9.0-alpha.1 + * Increased MSRV to 1.85 and set rust-version [@abonander] + * Deleted deprecated combination runtime+TLS features (e.g. `runtime-tokio-native-tls`) + * Deleted re-export of unstable `TransactionManager` trait in `sqlx`. + * Not technically a breaking change because it's `#[doc(hidden)]`, + but [it _will_ break SeaORM][seaorm-2600] if not proactively fixed. + +[seaorm-2600]: https://github.com/SeaQL/sea-orm/issues/2600 + +[#3821]: https://github.com/launchbadge/sqlx/pull/3830 + ## 0.8.6 - 2025-05-19 9 pull requests were merged this release cycle. diff --git a/Cargo.lock b/Cargo.lock index c4e5d6c1bc..9710181d87 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3407,7 +3407,7 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "anyhow", "async-std", @@ -3437,7 +3437,7 @@ dependencies = [ [[package]] name = "sqlx-cli" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "anyhow", "assert_cmd", @@ -3461,7 +3461,7 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "async-io 1.13.0", "async-std", @@ -3637,7 +3637,7 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "proc-macro2", "quote", @@ -3648,7 +3648,7 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "async-std", "dotenvy", @@ -3672,7 +3672,7 @@ dependencies = [ [[package]] name = "sqlx-mysql" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "atoi", "base64 0.22.1", @@ -3718,7 +3718,7 @@ dependencies = [ [[package]] name = "sqlx-postgres" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "atoi", "base64 0.22.1", @@ -3764,7 +3764,7 @@ dependencies = [ [[package]] name = "sqlx-sqlite" -version = "0.8.6" +version = "0.9.0-alpha.1" dependencies = [ "atoi", "chrono", From 068ed7311b23c1f5dc954914a4119ffa1e5b99cb Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Mon, 19 May 2025 17:06:55 -0700 Subject: [PATCH 13/15] chore: increase MSRV further to 1.86 --- CHANGELOG.md | 2 +- Cargo.toml | 2 +- FAQ.md | 1 + rust-toolchain.toml | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a442cb010..65ac125096 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ This section will be replaced in subsequent alpha releases. See the Git history ### Breaking * [[#3821]] Groundwork for 0.9.0-alpha.1 - * Increased MSRV to 1.85 and set rust-version [@abonander] + * Increased MSRV to 1.86 and set rust-version [@abonander] * Deleted deprecated combination runtime+TLS features (e.g. `runtime-tokio-native-tls`) * Deleted re-export of unstable `TransactionManager` trait in `sqlx`. * Not technically a breaking change because it's `#[doc(hidden)]`, diff --git a/Cargo.toml b/Cargo.toml index c3424e5f60..3cdd879bdf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,7 +36,7 @@ authors = [ "Chloe Ross ", "Daniel Akhterov ", ] -rust-version = "1.85.0" +rust-version = "1.86.0" [package] name = "sqlx" diff --git a/FAQ.md b/FAQ.md index cf13cf73ee..4b9a4ac59d 100644 --- a/FAQ.md +++ b/FAQ.md @@ -18,6 +18,7 @@ As a rule, however, we only officially support the range of versions for each da For each database and where applicable, we test against the latest and oldest versions that we intend to support. You can see the current versions being tested against by looking at our CI config: https://github.com/launchbadge/sqlx/blob/main/.github/workflows/sqlx.yml#L168 ------------------------------------------------------------------- + ### What versions of Rust does SQLx support? What is SQLx's MSRV\*? SQLx's MSRV is the second-to-latest stable release as of the beginning of the current release cycle (`0.x.0`). diff --git a/rust-toolchain.toml b/rust-toolchain.toml index e952d6e4bb..f406d73736 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ # Note: should NOT increase during a minor/patch release cycle [toolchain] -channel = "1.85" +channel = "1.86" profile = "minimal" From d88b9ad1ca54072a2d76cc86df4a5b704ab713a6 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Mon, 19 May 2025 23:59:49 -0700 Subject: [PATCH 14/15] fix: more clippy warnings --- sqlx-core/src/pool/inner.rs | 4 ++-- sqlx-postgres/src/types/bit_vec.rs | 2 +- sqlx-sqlite/src/connection/intmap.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sqlx-core/src/pool/inner.rs b/sqlx-core/src/pool/inner.rs index 51dd4b0055..55accfd95d 100644 --- a/sqlx-core/src/pool/inner.rs +++ b/sqlx-core/src/pool/inner.rs @@ -94,7 +94,7 @@ impl PoolInner { self.on_closed.notify(usize::MAX); } - pub(super) fn close<'a>(self: &'a Arc) -> impl Future + 'a { + pub(super) fn close(self: &Arc) -> impl Future + '_ { self.mark_closed(); async move { @@ -124,7 +124,7 @@ impl PoolInner { /// /// If we steal a permit from the parent but *don't* open a connection, /// it should be returned to the parent. - async fn acquire_permit<'a>(self: &'a Arc) -> Result, Error> { + async fn acquire_permit(self: &Arc) -> Result, Error> { let parent = self .parent() // If we're already at the max size, we shouldn't try to steal from the parent. diff --git a/sqlx-postgres/src/types/bit_vec.rs b/sqlx-postgres/src/types/bit_vec.rs index b519a5f24c..92eb47b210 100644 --- a/sqlx-postgres/src/types/bit_vec.rs +++ b/sqlx-postgres/src/types/bit_vec.rs @@ -55,7 +55,7 @@ impl Decode<'_, Postgres> for BitVec { let len = usize::try_from(len).map_err(|_| format!("invalid VARBIT len: {len}"))?; // The smallest amount of data we can read is one byte - let bytes_len = (len + 7) / 8; + let bytes_len = len.div_ceil(8); if bytes.remaining() != bytes_len { Err(io::Error::new( diff --git a/sqlx-sqlite/src/connection/intmap.rs b/sqlx-sqlite/src/connection/intmap.rs index f22dea5971..fb0553fb30 100644 --- a/sqlx-sqlite/src/connection/intmap.rs +++ b/sqlx-sqlite/src/connection/intmap.rs @@ -128,7 +128,7 @@ impl IntMap { 0 }; self.iter() - .chain(std::iter::repeat(None).take(self_pad)) + .chain(std::iter::repeat_n(None, self_pad)) .zip(prev.iter().chain(std::iter::repeat(None))) .enumerate() .filter(|(_i, (n, p))| n != p) From b7a1a28802dddf8874cd7a7d6f8629892cfa7e45 Mon Sep 17 00:00:00 2001 From: ugo96 Date: Tue, 27 May 2025 11:47:49 -0700 Subject: [PATCH 15/15] Update url package version to resolve vulnerability --- Cargo.lock | 646 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 640 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9710181d87..7be96756bb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,6 +23,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ + "getrandom 0.2.16", "getrandom 0.2.16", "once_cell", "version_check", @@ -106,19 +107,24 @@ dependencies = [ [[package]] name = "anstyle-wincon" version = "3.0.8" +version = "3.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa" +checksum = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa" dependencies = [ "anstyle", "once_cell_polyfill", + "once_cell_polyfill", "windows-sys 0.59.0", ] [[package]] name = "anyhow" version = "1.0.98" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "argon2" @@ -140,8 +146,10 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "assert_cmd" version = "2.0.17" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66" +checksum = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66" dependencies = [ "anstyle", "bstr", @@ -189,14 +197,18 @@ dependencies = [ [[package]] name = "async-executor" version = "1.13.2" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" +checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" dependencies = [ "async-task", "concurrent-queue", "fastrand 2.3.0", "futures-lite 2.6.0", "pin-project-lite", + "futures-lite 2.6.0", + "pin-project-lite", "slab", ] @@ -209,9 +221,11 @@ dependencies = [ "async-channel 2.3.1", "async-executor", "async-io 2.4.1", + "async-io 2.4.1", "async-lock 3.4.0", "blocking", "futures-lite 2.6.0", + "futures-lite 2.6.0", "once_cell", ] @@ -238,17 +252,22 @@ dependencies = [ [[package]] name = "async-io" version = "2.4.1" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3" +checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3" dependencies = [ "async-lock 3.4.0", "cfg-if", "concurrent-queue", "futures-io", "futures-lite 2.6.0", + "futures-lite 2.6.0", "parking", "polling 3.8.0", "rustix 1.0.7", + "polling 3.8.0", + "rustix 1.0.7", "slab", "tracing", "windows-sys 0.59.0", @@ -277,19 +296,23 @@ dependencies = [ [[package]] name = "async-std" version = "1.13.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "730294c1c08c2e0f85759590518f6333f0d5a0a766a27d519c1b244c3dfd8a24" +checksum = "730294c1c08c2e0f85759590518f6333f0d5a0a766a27d519c1b244c3dfd8a24" dependencies = [ "async-attributes", "async-channel 1.9.0", "async-global-executor", "async-io 2.4.1", + "async-io 2.4.1", "async-lock 3.4.0", "crossbeam-utils", "futures-channel", "futures-core", "futures-io", "futures-lite 2.6.0", + "futures-lite 2.6.0", "gloo-timers", "kv-log-macro", "log", @@ -310,12 +333,15 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" version = "0.1.88" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -342,8 +368,10 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-lc-rs" version = "1.13.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93fcc8f365936c834db5514fc45aee5b1202d677e6b40e48468aaaa8183ca8c7" +checksum = "93fcc8f365936c834db5514fc45aee5b1202d677e6b40e48468aaaa8183ca8c7" dependencies = [ "aws-lc-sys", "zeroize", @@ -352,8 +380,10 @@ dependencies = [ [[package]] name = "aws-lc-sys" version = "0.29.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61b1d86e7705efe1be1b569bab41d4fa1e14e220b60a160f78de2db687add079" +checksum = "61b1d86e7705efe1be1b569bab41d4fa1e14e220b60a160f78de2db687add079" dependencies = [ "bindgen", "cc", @@ -430,6 +460,7 @@ checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" dependencies = [ "futures-core", "getrandom 0.2.16", + "getrandom 0.2.16", "instant", "pin-project-lite", "rand", @@ -439,8 +470,10 @@ dependencies = [ [[package]] name = "backtrace" version = "0.3.75" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if", @@ -466,14 +499,18 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" version = "1.7.3" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" [[package]] name = "bigdecimal" version = "0.4.8" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" +checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" dependencies = [ "autocfg", "libm", @@ -488,6 +525,7 @@ version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ + "bitflags 2.9.1", "bitflags 2.9.1", "cexpr", "clang-sys", @@ -502,6 +540,7 @@ dependencies = [ "rustc-hash", "shlex", "syn 2.0.101", + "syn 2.0.101", "which", ] @@ -520,8 +559,10 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" version = "2.9.1" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" dependencies = [ "serde", ] @@ -566,37 +607,46 @@ dependencies = [ "async-task", "futures-io", "futures-lite 2.6.0", + "futures-lite 2.6.0", "piper", ] [[package]] name = "borsh" version = "1.5.7" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" dependencies = [ "borsh-derive", "cfg_aliases", + "cfg_aliases", ] [[package]] name = "borsh-derive" version = "1.5.7" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" dependencies = [ "once_cell", "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] name = "bstr" version = "1.12.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" +checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" dependencies = [ "memchr", "regex-automata", @@ -606,8 +656,10 @@ dependencies = [ [[package]] name = "bumpalo" version = "3.17.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytecheck" @@ -640,8 +692,10 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" version = "1.10.1" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "camino" @@ -699,8 +753,10 @@ dependencies = [ [[package]] name = "cc" version = "1.2.24" +version = "1.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" +checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" dependencies = [ "jobserver", "libc", @@ -731,14 +787,17 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" version = "0.4.41" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", "serde", "windows-link", + "windows-link", ] [[package]] @@ -781,9 +840,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.38" +version = "4.5.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" +checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f" dependencies = [ "clap_builder", "clap_derive", @@ -791,9 +850,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.38" +version = "4.5.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" +checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51" dependencies = [ "anstream", "anstyle", @@ -804,9 +863,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.50" +version = "4.5.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c91d3baa3bcd889d60e6ef28874126a0b384fd225ab83aa6d8a801c519194ce1" +checksum = "8d2267df7f3c8e74e38268887ea5235d4dfadd39bfff2d56ab82d61776be355e" dependencies = [ "clap", ] @@ -814,13 +873,16 @@ dependencies = [ [[package]] name = "clap_derive" version = "4.5.32" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -832,8 +894,10 @@ checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "cmake" version = "0.1.54" +version = "0.1.54" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" +checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" dependencies = [ "cc", ] @@ -869,8 +933,10 @@ dependencies = [ [[package]] name = "console" version = "0.15.11" +version = "0.15.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" dependencies = [ "encode_unicode", "libc", @@ -898,8 +964,10 @@ dependencies = [ [[package]] name = "core-foundation" version = "0.10.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -914,8 +982,10 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" version = "0.2.17" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -923,8 +993,10 @@ dependencies = [ [[package]] name = "crc" version = "3.3.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" dependencies = [ "crc-catalog", ] @@ -1013,6 +1085,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" dependencies = [ + "bitflags 2.9.1", "bitflags 2.9.1", "crossterm_winapi", "libc", @@ -1035,8 +1108,10 @@ dependencies = [ [[package]] name = "crunchy" version = "0.2.3" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-common" @@ -1051,8 +1126,10 @@ dependencies = [ [[package]] name = "darling" version = "0.20.11" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ "darling_core", "darling_macro", @@ -1061,8 +1138,10 @@ dependencies = [ [[package]] name = "darling_core" version = "0.20.11" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", @@ -1070,24 +1149,30 @@ dependencies = [ "quote", "strsim", "syn 2.0.101", + "syn 2.0.101", ] [[package]] name = "darling_macro" version = "0.20.11" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] name = "der" version = "0.7.10" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "pem-rfc7468", @@ -1097,8 +1182,10 @@ dependencies = [ [[package]] name = "deranged" version = "0.4.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", "serde", @@ -1142,6 +1229,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -1171,8 +1259,10 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "either" version = "1.15.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" dependencies = [ "serde", ] @@ -1196,27 +1286,34 @@ dependencies = [ [[package]] name = "env_logger" version = "0.11.8" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" +checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" dependencies = [ "anstream", "anstyle", "env_filter", "jiff", + "jiff", "log", ] [[package]] name = "equivalent" version = "1.0.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" version = "0.3.12" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" dependencies = [ "libc", "windows-sys 0.59.0", @@ -1253,8 +1350,10 @@ dependencies = [ [[package]] name = "event-listener-strategy" version = "0.5.4" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ "event-listener 5.4.0", "pin-project-lite", @@ -1316,8 +1415,10 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" version = "0.1.5" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "foreign-types" @@ -1346,8 +1447,10 @@ dependencies = [ [[package]] name = "fragile" version = "2.0.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" +checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "fs_extra" @@ -1438,8 +1541,10 @@ dependencies = [ [[package]] name = "futures-lite" version = "2.6.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.3.0", "futures-core", @@ -1457,6 +1562,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -1502,11 +1608,26 @@ dependencies = [ [[package]] name = "getrandom" version = "0.2.16" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", "wasi 0.11.0+wasi-snapshot-preview1", ] @@ -1549,8 +1670,10 @@ dependencies = [ [[package]] name = "half" version = "2.6.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" dependencies = [ "cfg-if", "crunchy", @@ -1568,8 +1691,10 @@ dependencies = [ [[package]] name = "hashbrown" version = "0.15.3" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" dependencies = [ "allocator-api2", "equivalent", @@ -1583,6 +1708,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ "hashbrown 0.15.3", + "hashbrown 0.15.3", ] [[package]] @@ -1606,8 +1732,10 @@ checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hermit-abi" version = "0.5.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" +checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" [[package]] name = "hex" @@ -1636,10 +1764,13 @@ dependencies = [ [[package]] name = "home" version = "0.5.11" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ "windows-sys 0.59.0", + "windows-sys 0.59.0", ] [[package]] @@ -1673,8 +1804,10 @@ checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" version = "1.10.1" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -1699,6 +1832,7 @@ dependencies = [ "itoa", "pin-project-lite", "socket2 0.5.10", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -1708,14 +1842,17 @@ dependencies = [ [[package]] name = "iana-time-zone" version = "0.1.63" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "log", + "log", "wasm-bindgen", "windows-core", ] @@ -1732,11 +1869,14 @@ dependencies = [ [[package]] name = "icu_collections" version = "2.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", "potential_utf", + "potential_utf", "yoke", "zerofrom", "zerovec", @@ -1745,8 +1885,11 @@ dependencies = [ [[package]] name = "icu_locale_core" version = "2.0.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -1758,8 +1901,10 @@ dependencies = [ [[package]] name = "icu_normalizer" version = "2.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", @@ -1773,45 +1918,58 @@ dependencies = [ [[package]] name = "icu_normalizer_data" version = "2.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" version = "2.0.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ "displaydoc", "icu_collections", "icu_locale_core", + "icu_locale_core", "icu_properties_data", "icu_provider", "potential_utf", "zerotrie", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" version = "2.0.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" version = "2.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", "icu_locale_core", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", "zerotrie", + "zerotrie", "zerovec", ] @@ -1845,8 +2003,10 @@ dependencies = [ [[package]] name = "idna_adapter" version = "1.2.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -1872,11 +2032,14 @@ dependencies = [ [[package]] name = "indexmap" version = "2.9.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", "hashbrown 0.15.3", + "hashbrown 0.15.3", ] [[package]] @@ -1902,8 +2065,10 @@ dependencies = [ [[package]] name = "ipnet" version = "2.11.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "ipnetwork" @@ -1917,12 +2082,16 @@ dependencies = [ [[package]] name = "is-terminal" version = "0.4.16" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ + "hermit-abi 0.5.1", "hermit-abi 0.5.1", "libc", "windows-sys 0.59.0", + "windows-sys 0.59.0", ] [[package]] @@ -1961,7 +2130,33 @@ dependencies = [ [[package]] name = "itoa" version = "1.0.15" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jiff" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a194df1107f33c79f4f93d02c80798520551949d59dfad22b6157048a88cca93" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", +] + +[[package]] +name = "jiff-static" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c6e1db7ed32c6c71b759497fae34bf7933636f75a251b9e736555da426f6442" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] @@ -1991,9 +2186,12 @@ dependencies = [ [[package]] name = "jobserver" version = "0.1.33" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ + "getrandom 0.3.3", "getrandom 0.3.3", "libc", ] @@ -2001,8 +2199,10 @@ dependencies = [ [[package]] name = "js-sys" version = "0.3.77" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -2035,24 +2235,31 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" version = "0.2.172" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libloading" version = "0.8.8" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" +checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", "windows-targets 0.53.0", + "windows-targets 0.53.0", ] [[package]] name = "libm" version = "0.2.15" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" @@ -2060,6 +2267,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ + "bitflags 2.9.1", "bitflags 2.9.1", "libc", "redox_syscall", @@ -2098,8 +2306,10 @@ checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" version = "0.8.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" @@ -2114,8 +2324,10 @@ dependencies = [ [[package]] name = "log" version = "0.4.27" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" dependencies = [ "value-bag", ] @@ -2127,13 +2339,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ "hashbrown 0.15.3", + "hashbrown 0.15.3", ] [[package]] name = "mac_address" version = "1.1.8" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0aeb26bf5e836cc1c341c8106051b573f1766dfa05aa87f0b98be5e51b02303" +checksum = "c0aeb26bf5e836cc1c341c8106051b573f1766dfa05aa87f0b98be5e51b02303" dependencies = [ "nix", "winapi", @@ -2185,8 +2400,10 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" version = "0.8.8" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" dependencies = [ "adler2", ] @@ -2200,18 +2417,23 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.48.0", ] [[package]] name = "mio" version = "1.0.4" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.59.0", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] @@ -2244,8 +2466,10 @@ dependencies = [ [[package]] name = "native-tls" version = "0.2.14" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" dependencies = [ "libc", "log", @@ -2261,12 +2485,16 @@ dependencies = [ [[package]] name = "nix" version = "0.29.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ + "bitflags 2.9.1", "bitflags 2.9.1", "cfg-if", "cfg_aliases", + "cfg_aliases", "libc", "memoffset", ] @@ -2362,7 +2590,15 @@ dependencies = [ [[package]] name = "once_cell" version = "1.21.3" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] @@ -2374,15 +2610,20 @@ checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" [[package]] name = "oorandom" version = "11.1.5" +version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openssl" version = "0.10.72" +version = "0.10.72" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" +checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" dependencies = [ + "bitflags 2.9.1", "bitflags 2.9.1", "cfg-if", "foreign-types", @@ -2401,19 +2642,24 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] name = "openssl-probe" version = "0.1.6" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-src" version = "300.5.0+3.5.0" +version = "300.5.0+3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f" +checksum = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f" dependencies = [ "cc", ] @@ -2421,8 +2667,10 @@ dependencies = [ [[package]] name = "openssl-sys" version = "0.9.108" +version = "0.9.108" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" +checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" dependencies = [ "cc", "libc", @@ -2495,8 +2743,10 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project" version = "1.1.10" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] @@ -2504,12 +2754,15 @@ dependencies = [ [[package]] name = "pin-project-internal" version = "1.1.10" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -2559,8 +2812,10 @@ dependencies = [ [[package]] name = "pkg-config" version = "0.3.32" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "plotters" @@ -2609,14 +2864,18 @@ dependencies = [ [[package]] name = "polling" version = "3.8.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50" +checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi 0.5.1", + "hermit-abi 0.5.1", "pin-project-lite", "rustix 1.0.7", + "rustix 1.0.7", "tracing", "windows-sys 0.59.0", ] @@ -2645,6 +2904,30 @@ dependencies = [ "zerovec", ] +[[package]] +name = "portable-atomic" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -2654,8 +2937,10 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" version = "0.2.21" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] @@ -2704,18 +2989,23 @@ dependencies = [ [[package]] name = "prettyplease" version = "0.2.32" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" +checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" dependencies = [ "proc-macro2", "syn 2.0.101", + "syn 2.0.101", ] [[package]] name = "proc-macro-crate" version = "3.3.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ "toml_edit", ] @@ -2747,8 +3037,10 @@ dependencies = [ [[package]] name = "proc-macro2" version = "1.0.95" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -2776,8 +3068,10 @@ dependencies = [ [[package]] name = "quote" version = "1.0.40" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] @@ -2788,6 +3082,12 @@ version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radium" version = "0.7.0" @@ -2822,6 +3122,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom 0.2.16", + "getrandom 0.2.16", ] [[package]] @@ -2839,6 +3140,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d16546c5b5962abf8ce6e2881e722b4e0ae3b6f1a08a26ae3573c55853ca68d3" dependencies = [ + "bitflags 2.9.1", "bitflags 2.9.1", "cassowary", "compact_str", @@ -2877,10 +3179,13 @@ dependencies = [ [[package]] name = "redox_syscall" version = "0.5.12" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ "bitflags 2.9.1", + "bitflags 2.9.1", ] [[package]] @@ -2924,12 +3229,15 @@ dependencies = [ [[package]] name = "ring" version = "0.17.14" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", "getrandom 0.2.16", + "getrandom 0.2.16", "libc", "untrusted", "windows-sys 0.52.0", @@ -2967,8 +3275,10 @@ dependencies = [ [[package]] name = "rsa" version = "0.9.8" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" dependencies = [ "const-oid", "digest", @@ -2987,8 +3297,10 @@ dependencies = [ [[package]] name = "rust_decimal" version = "1.37.1" +version = "1.37.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faa7de2ba56ac291bd90c6b9bece784a52ae1411f9506544b3eae36dd2356d50" +checksum = "faa7de2ba56ac291bd90c6b9bece784a52ae1411f9506544b3eae36dd2356d50" dependencies = [ "arrayvec", "borsh", @@ -3029,9 +3341,12 @@ dependencies = [ [[package]] name = "rustix" version = "0.38.44" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ + "bitflags 2.9.1", "bitflags 2.9.1", "errno", "libc", @@ -3042,21 +3357,27 @@ dependencies = [ [[package]] name = "rustix" version = "1.0.7" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ + "bitflags 2.9.1", "bitflags 2.9.1", "errno", "libc", "linux-raw-sys 0.9.4", "windows-sys 0.59.0", + "windows-sys 0.59.0", ] [[package]] name = "rustls" version = "0.23.27" +version = "0.23.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" +checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" dependencies = [ "aws-lc-rs", "once_cell", @@ -3082,17 +3403,24 @@ dependencies = [ [[package]] name = "rustls-pki-types" version = "1.12.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ "zeroize", ] +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +dependencies = [ + "zeroize", +] [[package]] name = "rustls-webpki" version = "0.103.3" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ "aws-lc-rs", "ring", @@ -3103,14 +3431,18 @@ dependencies = [ [[package]] name = "rustversion" version = "1.0.21" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" version = "1.0.20" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -3148,6 +3480,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ + "bitflags 2.9.1", "bitflags 2.9.1", "core-foundation 0.9.4", "core-foundation-sys", @@ -3161,6 +3494,8 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ + "bitflags 2.9.1", + "core-foundation 0.10.1", "bitflags 2.9.1", "core-foundation 0.10.1", "core-foundation-sys", @@ -3181,8 +3516,10 @@ dependencies = [ [[package]] name = "semver" version = "1.0.26" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] @@ -3190,8 +3527,10 @@ dependencies = [ [[package]] name = "serde" version = "1.0.219" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] @@ -3199,19 +3538,24 @@ dependencies = [ [[package]] name = "serde_derive" version = "1.0.219" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] name = "serde_json" version = "1.0.140" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", "memchr", @@ -3266,6 +3610,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -3282,8 +3627,10 @@ dependencies = [ [[package]] name = "sha2" version = "0.10.9" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -3305,8 +3652,10 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook" version = "0.3.18" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" dependencies = [ "libc", "signal-hook-registry", @@ -3326,8 +3675,10 @@ dependencies = [ [[package]] name = "signal-hook-registry" version = "1.4.5" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ "libc", ] @@ -3360,8 +3711,10 @@ dependencies = [ [[package]] name = "smallvec" version = "1.15.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" dependencies = [ "serde", ] @@ -3379,8 +3732,10 @@ dependencies = [ [[package]] name = "socket2" version = "0.5.10" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -3480,8 +3835,10 @@ dependencies = [ "futures-io", "futures-util", "hashbrown 0.15.3", + "hashbrown 0.15.3", "hashlink", "indexmap 2.9.0", + "indexmap 2.9.0", "ipnet", "ipnetwork", "log", @@ -3500,6 +3857,7 @@ dependencies = [ "smallvec", "sqlx", "thiserror 2.0.12", + "thiserror 2.0.12", "time", "tokio", "tokio-stream", @@ -3507,6 +3865,7 @@ dependencies = [ "url", "uuid", "webpki-roots 0.26.11", + "webpki-roots 0.26.11", ] [[package]] @@ -3536,6 +3895,7 @@ dependencies = [ "serde_with", "sqlx", "thiserror 2.0.12", + "thiserror 2.0.12", "time", "tokio", "tower", @@ -3644,6 +4004,7 @@ dependencies = [ "sqlx-core", "sqlx-macros-core", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -3666,6 +4027,7 @@ dependencies = [ "sqlx-postgres", "sqlx-sqlite", "syn 2.0.101", + "syn 2.0.101", "tokio", "url", ] @@ -3678,6 +4040,7 @@ dependencies = [ "base64 0.22.1", "bigdecimal", "bitflags 2.9.1", + "bitflags 2.9.1", "byteorder", "bytes", "chrono", @@ -3710,6 +4073,7 @@ dependencies = [ "sqlx-core", "stringprep", "thiserror 2.0.12", + "thiserror 2.0.12", "time", "tracing", "uuid", @@ -3725,6 +4089,7 @@ dependencies = [ "bigdecimal", "bit-vec", "bitflags 2.9.1", + "bitflags 2.9.1", "byteorder", "chrono", "crc", @@ -3756,6 +4121,7 @@ dependencies = [ "sqlx-core", "stringprep", "thiserror 2.0.12", + "thiserror 2.0.12", "time", "tracing", "uuid", @@ -3783,6 +4149,7 @@ dependencies = [ "sqlx", "sqlx-core", "thiserror 2.0.12", + "thiserror 2.0.12", "time", "tracing", "url", @@ -3807,6 +4174,7 @@ checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -3858,6 +4226,7 @@ dependencies = [ "quote", "rustversion", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -3880,8 +4249,10 @@ dependencies = [ [[package]] name = "syn" version = "2.0.101" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -3897,12 +4268,15 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "synstructure" version = "0.13.2" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -3914,19 +4288,25 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-triple" version = "0.1.4" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790" +checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790" [[package]] name = "tempfile" version = "3.20.0" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ "fastrand 2.3.0", "getrandom 0.3.3", + "getrandom 0.3.3", "once_cell", "rustix 1.0.7", + "rustix 1.0.7", "windows-sys 0.59.0", ] @@ -3945,6 +4325,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" dependencies = [ + "rustix 1.0.7", "rustix 1.0.7", "windows-sys 0.59.0", ] @@ -3967,10 +4348,13 @@ dependencies = [ [[package]] name = "thiserror" version = "2.0.12" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ "thiserror-impl 2.0.12", + "thiserror-impl 2.0.12", ] [[package]] @@ -3982,24 +4366,30 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] name = "thiserror-impl" version = "2.0.12" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] name = "time" version = "0.3.41" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", "itoa", @@ -4013,14 +4403,18 @@ dependencies = [ [[package]] name = "time-core" version = "0.1.4" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" version = "0.2.22" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", @@ -4029,8 +4423,10 @@ dependencies = [ [[package]] name = "tinystr" version = "0.8.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -4049,8 +4445,10 @@ dependencies = [ [[package]] name = "tinyvec" version = "1.9.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -4064,17 +4462,21 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" version = "1.45.1" +version = "1.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" dependencies = [ "backtrace", "bytes", "libc", "mio 1.0.4", + "mio 1.0.4", "parking_lot", "pin-project-lite", "signal-hook-registry", "socket2 0.5.10", + "socket2 0.5.10", "tokio-macros", "windows-sys 0.52.0", ] @@ -4088,6 +4490,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -4104,8 +4507,10 @@ dependencies = [ [[package]] name = "toml" version = "0.8.22" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" dependencies = [ "serde", "serde_spanned", @@ -4116,8 +4521,10 @@ dependencies = [ [[package]] name = "toml_datetime" version = "0.6.9" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" dependencies = [ "serde", ] @@ -4125,14 +4532,18 @@ dependencies = [ [[package]] name = "toml_edit" version = "0.22.26" +version = "0.22.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" dependencies = [ + "indexmap 2.9.0", "indexmap 2.9.0", "serde", "serde_spanned", "toml_datetime", "toml_write", + "toml_write", "winnow", ] @@ -4142,6 +4553,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" +[[package]] +name = "toml_write" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" + [[package]] name = "tower" version = "0.4.13" @@ -4210,6 +4627,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] @@ -4230,8 +4648,10 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" version = "1.0.105" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c9bf9513a2f4aeef5fdac8677d7d349c79fdbcc03b9c86da6e9d254f1e43be2" +checksum = "1c9bf9513a2f4aeef5fdac8677d7d349c79fdbcc03b9c86da6e9d254f1e43be2" dependencies = [ "glob", "serde", @@ -4245,8 +4665,10 @@ dependencies = [ [[package]] name = "typenum" version = "1.18.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "unicode-bidi" @@ -4257,8 +4679,10 @@ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" version = "1.0.18" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-normalization" @@ -4336,12 +4760,16 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" version = "1.17.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" +checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" dependencies = [ + "js-sys", "js-sys", "serde", "wasm-bindgen", + "wasm-bindgen", ] [[package]] @@ -4389,8 +4817,10 @@ dependencies = [ [[package]] name = "value-bag" version = "1.11.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5" +checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5" [[package]] name = "vcpkg" @@ -4407,8 +4837,10 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wait-timeout" version = "0.2.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] @@ -4453,6 +4885,15 @@ dependencies = [ "wit-bindgen-rt", ] +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasite" version = "0.1.0" @@ -4462,34 +4903,42 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" version = "0.2.100" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", "rustversion", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" version = "0.2.100" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" version = "0.4.50" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -4501,8 +4950,10 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" version = "0.2.100" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4511,12 +4962,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" version = "0.2.100" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4524,17 +4978,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" version = "0.2.100" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" dependencies = [ "unicode-ident", ] +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" version = "0.3.77" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -4543,7 +5004,18 @@ dependencies = [ [[package]] name = "webpki-roots" version = "0.26.11" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.0", +] + +[[package]] +name = "webpki-roots" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ "webpki-roots 1.0.0", @@ -4568,13 +5040,16 @@ dependencies = [ "home", "once_cell", "rustix 0.38.44", + "rustix 0.38.44", ] [[package]] name = "whoami" version = "1.6.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" +checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" dependencies = [ "redox_syscall", "wasite", @@ -4614,8 +5089,10 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" version = "0.61.2" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", "windows-interface", @@ -4661,6 +5138,57 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-link" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-strings" version = "0.4.2" @@ -4722,6 +5250,7 @@ dependencies = [ "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", "windows_i686_gnullvm 0.52.6", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", @@ -4744,6 +5273,22 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] +[[package]] +name = "windows-targets" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -4762,6 +5307,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -4780,6 +5331,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -4798,6 +5355,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" @@ -4810,6 +5373,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -4828,6 +5397,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -4846,6 +5421,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -4864,6 +5445,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -4882,11 +5469,19 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" version = "0.7.10" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" dependencies = [ "memchr", ] @@ -4894,17 +5489,25 @@ dependencies = [ [[package]] name = "wit-bindgen-rt" version = "0.39.0" +name = "wit-bindgen-rt" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ "bitflags 2.9.1", ] +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] [[package]] name = "writeable" version = "0.6.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "wyz" @@ -4918,8 +5521,10 @@ dependencies = [ [[package]] name = "yoke" version = "0.8.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -4930,20 +5535,25 @@ dependencies = [ [[package]] name = "yoke-derive" version = "0.8.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", "synstructure", ] [[package]] name = "zerocopy" version = "0.8.25" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ "zerocopy-derive", ] @@ -4951,19 +5561,24 @@ dependencies = [ [[package]] name = "zerocopy-derive" version = "0.8.25" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ] [[package]] name = "zerofrom" version = "0.1.6" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] @@ -4971,12 +5586,15 @@ dependencies = [ [[package]] name = "zerofrom-derive" version = "0.1.6" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", "synstructure", ] @@ -4997,11 +5615,24 @@ dependencies = [ "zerofrom", ] +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" version = "0.11.2" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -5011,10 +5642,13 @@ dependencies = [ [[package]] name = "zerovec-derive" version = "0.11.1" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", "syn 2.0.101", + "syn 2.0.101", ]