From 9912721dbdb4a3e41db079bf959e01baedace995 Mon Sep 17 00:00:00 2001 From: Griffin Berlstein Date: Tue, 29 Jul 2025 13:46:03 -0400 Subject: [PATCH 1/5] bump rust version --- rust-toolchain.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index c656455631..9d4c039c7c 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ # This file is used by github actions for the CI checks. [toolchain] -channel = "1.85" +channel = "1.88" From d043065926392528ff8c0586a872e1299febcb4d Mon Sep 17 00:00:00 2001 From: Griffin Berlstein Date: Tue, 29 Jul 2025 12:39:31 -0400 Subject: [PATCH 2/5] bump all the versions so dependabot shuts up --- Cargo.lock | 1106 +++++++++++++++++++++++++++++----------------------- Cargo.toml | 2 +- 2 files changed, 625 insertions(+), 483 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dc1367cc4d..36ad6ecf1b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" @@ -23,23 +23,23 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "once_cell", "version_check 0.9.5", ] [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", "const-random", - "getrandom 0.2.15", + "getrandom 0.3.3", "once_cell", "version_check 0.9.5", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] @@ -68,9 +68,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" dependencies = [ "anstyle", "anstyle-parse", @@ -83,44 +83,44 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" dependencies = [ "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" dependencies = [ "anstyle", - "once_cell", + "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 = "argh" @@ -142,7 +142,7 @@ dependencies = [ "argh_shared", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] @@ -172,20 +172,20 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "async-trait" -version = "0.1.86" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] name = "atomic" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d818003e740b63afc82337e3160717f4f63078720a810b7b903e70a5d1d2994" +checksum = "a89cbf775b137e9b968e67227ef7f775587cde3fd31b0d8599dbd0f598a48340" dependencies = [ "bytemuck", ] @@ -203,20 +203,20 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73" +checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "baa" @@ -231,9 +231,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", @@ -273,9 +273,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.8.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" [[package]] name = "bitvec" @@ -318,20 +318,20 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] name = "boxcar" -version = "0.2.8" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2721c3c5a6f0e7f7e607125d963fedeb765f545f67adc9d71ed934693881eb42" +checksum = "26c4925bc979b677330a8c7fe7a8c94af2dbb4a2d37b4a20a80d884400f46baa" [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "bytecount" @@ -341,15 +341,15 @@ checksum = "f861d9ce359f56dbcb6e0c2a1cb84e52ad732cadb57b806adeb3c7668caccbd8" [[package]] name = "bytecount" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" +checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" [[package]] name = "bytemuck" -version = "1.21.0" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" +checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" [[package]] name = "byteorder" @@ -359,9 +359,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 = "calyx" @@ -425,7 +425,7 @@ dependencies = [ "smallvec", "strum", "strum_macros", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -533,9 +533,9 @@ version = "0.7.1" [[package]] name = "camino" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" [[package]] name = "cast" @@ -545,18 +545,18 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.11" +version = "1.2.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4730490333d58093109dc02c23174c3f4d490998c3fed3cc8e82d57afedb9cf" +checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7" dependencies = [ "shlex", ] [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "cfg_aliases" @@ -566,9 +566,9 @@ 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", @@ -576,7 +576,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -603,14 +603,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" dependencies = [ "ciborium-io", - "half 2.4.1", + "half 2.6.0", ] [[package]] name = "cider" version = "0.1.1" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "argh", "baa", "bon", @@ -627,7 +627,7 @@ dependencies = [ "itertools 0.11.0", "num-bigint", "num-traits", - "owo-colors 4.1.0", + "owo-colors 4.2.2", "pest", "pest_consume", "pest_derive", @@ -682,7 +682,7 @@ dependencies = [ name = "cider-idx" version = "0.1.0" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "proptest", "serde", "smallvec", @@ -701,9 +701,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.27" +version = "4.5.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796" +checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9" dependencies = [ "clap_builder", "clap_derive", @@ -711,9 +711,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.27" +version = "4.5.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" +checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d" dependencies = [ "anstream", "anstyle", @@ -723,36 +723,36 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] name = "clap_lex" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "clipboard-win" -version = "5.4.0" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" +checksum = "bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4" dependencies = [ "error-code", ] [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "colored" @@ -779,9 +779,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", @@ -814,7 +814,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "once_cell", "tiny-keccak", ] @@ -878,9 +878,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.14" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ "crossbeam-utils", ] @@ -916,7 +916,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.1", "crossterm_winapi", "libc", "mio 0.8.11", @@ -937,9 +937,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-common" @@ -965,9 +965,9 @@ dependencies = [ [[package]] name = "csv-core" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" +checksum = "7d02f3b0da4c6504f86e9cd789d8dbafab48c2321be74e9987593de5a894d93d" dependencies = [ "memchr", ] @@ -984,9 +984,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", @@ -994,27 +994,27 @@ 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.98", + "syn 2.0.104", ] [[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.98", + "syn 2.0.104", ] [[package]] @@ -1047,27 +1047,27 @@ dependencies = [ "calyx-opt", "calyx-utils", "lazy_static", - "rand 0.9.0", + "rand 0.9.2", "serde", "serde_json", ] [[package]] name = "delegate" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b6483c2bbed26f97861cf57651d4f2b731964a28cd2257f934a4b452480d21" +checksum = "6178a82cf56c836a3ba61a7935cdb1c49bfaa6fa4327cd5bf554a503087de26b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[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", @@ -1132,9 +1132,15 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + [[package]] name = "egg" version = "0.9.5" @@ -1155,9 +1161,9 @@ dependencies = [ [[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" [[package]] name = "encode_unicode" @@ -1184,25 +1190,25 @@ dependencies = [ [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.10" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "error-code" -version = "3.3.1" +version = "3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f" +checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59" [[package]] name = "fastrand" @@ -1212,13 +1218,13 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fd-lock" -version = "4.0.2" +version = "4.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" +checksum = "0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78" dependencies = [ "cfg-if", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1288,7 +1294,7 @@ checksum = "7f14894e39cfd0728fa5313ee09898f0797ab526198fac5067959eaba959e858" dependencies = [ "lz4_flex", "miniz_oxide", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -1386,7 +1392,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] @@ -1440,34 +1446,34 @@ dependencies = [ [[package]] name = "getopts" -version = "0.2.21" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +checksum = "cba6ae63eb948698e300f645f87c70f76630d505f23b8907cf1e193ee85048c1" dependencies = [ - "unicode-width 0.1.14", + "unicode-width 0.2.1", ] [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", ] [[package]] name = "getrandom" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", ] [[package]] @@ -1484,9 +1490,9 @@ checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" [[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", @@ -1518,9 +1524,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" [[package]] name = "heck" @@ -1545,9 +1551,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -1566,20 +1572,21 @@ dependencies = [ [[package]] name = "httparse" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", "windows-core", ] @@ -1595,21 +1602,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", @@ -1618,31 +1626,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", @@ -1650,67 +1638,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.98", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -1730,9 +1705,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", @@ -1770,25 +1745,23 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.4", "serde", ] [[package]] name = "insta" -version = "1.42.1" +version = "1.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71c1b125e30d93896b365e156c33dadfffab45ee8400afcbba4752f59de08a86" +checksum = "154934ea70c58054b556dd430b99a98c2a7ff5309ac9891597e339b5c28f4371" dependencies = [ "console", - "linked-hash-map", "once_cell", - "pin-project", "similar", ] @@ -1801,13 +1774,24 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "io-uring" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" +dependencies = [ + "bitflags 2.9.1", + "cfg-if", + "libc", +] + [[package]] name = "is-terminal" -version = "0.4.15" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.4.0", + "hermit-abi 0.5.2", "libc", "windows-sys 0.59.0", ] @@ -1844,16 +1828,17 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "js-sys" -version = "0.3.57" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "671a26f820db17c2a2750743f1dd03bafd15b98c9f30c7c2628c024c05d73397" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -1884,11 +1869,11 @@ checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "360e552c93fa0e8152ab463bc4c4837fce76a225df11dfaeea66c313de5e61f7" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.1", "libc", ] @@ -1900,21 +1885,21 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.4.15" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" +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" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -1922,9 +1907,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.25" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lsp-types" @@ -1941,9 +1926,9 @@ dependencies = [ [[package]] name = "lz4_flex" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" +checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" dependencies = [ "twox-hash", ] @@ -1957,14 +1942,14 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "minimal-lexical" @@ -1974,9 +1959,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.3" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] @@ -1989,19 +1974,19 @@ checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "log", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+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 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] @@ -2012,7 +1997,7 @@ checksum = "4c2b6f9bcf39547c7974641e3967c95abc0ae4399b165eb83625244af48d7b22" dependencies = [ "anyhow", "chrono", - "clap 4.5.27", + "clap 4.5.41", "colored", "log", "petgraph", @@ -2040,7 +2025,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.1", "cfg-if", "cfg_aliases", "libc", @@ -2184,7 +2169,7 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a67484adf5711f94f2f28b653bf231bff8e438be33bf5b0f35935a0db4f618a2" dependencies = [ - "bytecount 0.6.8", + "bytecount 0.6.9", "memchr", "nom 5.1.3", ] @@ -2195,7 +2180,7 @@ version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4689294073dda8a54e484212171efdcb6b12b1908fd70c3dc3eec15b8833b06d" dependencies = [ - "bytecount 0.6.8", + "bytecount 0.6.9", "memchr", "nom 6.1.2", ] @@ -2312,18 +2297,24 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" dependencies = [ "portable-atomic", ] +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +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 = "overload" @@ -2339,9 +2330,9 @@ checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" [[package]] name = "owo-colors" -version = "4.1.0" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" +checksum = "48dd4f4a2c8405440fd0462561f0e5806bd0f77e86f51c761481bdd4018b545e" dependencies = [ "supports-color 2.1.0", "supports-color 3.0.2", @@ -2349,9 +2340,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -2359,9 +2350,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", @@ -2387,12 +2378,12 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.15" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" +checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" dependencies = [ "memchr", - "thiserror 2.0.11", + "thiserror 2.0.12", "ucd-trie", ] @@ -2420,9 +2411,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.15" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e" +checksum = "bb056d9e8ea77922845ec74a1c4e8fb17e7c218cc4fc11a15c5d25e189aa40bc" dependencies = [ "pest", "pest_generator", @@ -2430,24 +2421,23 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.15" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b" +checksum = "87e404e638f781eb3202dc82db6760c8ae8a1eeef7fb3fa8264b2ef280504966" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] name = "pest_meta" -version = "2.7.15" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea" +checksum = "edd1101f170f5903fde0914f899bb503d9ff5271d7ba76bbb70bea63690cc0d5" dependencies = [ - "once_cell", "pest", "sha2", ] @@ -2459,27 +2449,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.7.1", + "indexmap 2.10.0", ] [[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.98", + "syn 2.0.104", ] [[package]] @@ -2496,9 +2486,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "plotters" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" +checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" dependencies = [ "num-traits", "plotters-backend", @@ -2524,9 +2514,18 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.10.0" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + +[[package]] +name = "potential_utf" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] [[package]] name = "powerfmt" @@ -2536,11 +2535,11 @@ 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 0.7.35", + "zerocopy", ] [[package]] @@ -2557,26 +2556,26 @@ 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", ] [[package]] name = "proptest" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" +checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.8.0", + "bitflags 2.9.1", "lazy_static", "num-traits", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand 0.9.2", + "rand_chacha 0.9.0", "rand_xorshift", "regex-syntax", "rusty-fork", @@ -2590,7 +2589,7 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.1", "getopts", "memchr", "unicase", @@ -2614,13 +2613,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.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + [[package]] name = "radium" version = "0.5.3" @@ -2663,13 +2668,12 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", - "rand_core 0.9.0", - "zerocopy 0.8.17", + "rand_core 0.9.3", ] [[package]] @@ -2689,7 +2693,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.0", + "rand_core 0.9.3", ] [[package]] @@ -2713,26 +2717,25 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", ] [[package]] name = "rand_core" -version = "0.9.0" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.1", - "zerocopy 0.8.17", + "getrandom 0.3.3", ] [[package]] name = "rand_xorshift" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "rand_core 0.6.4", + "rand_core 0.9.3", ] [[package]] @@ -2766,11 +2769,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.8" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.1", ] [[package]] @@ -2779,11 +2782,31 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "libredox", "thiserror 1.0.69", ] +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "regex" version = "1.11.1" @@ -2833,12 +2856,12 @@ dependencies = [ [[package]] name = "rhai" -version = "1.21.0" +version = "1.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce4d759a4729a655ddfdbb3ff6e77fb9eadd902dae12319455557796e435d2a6" +checksum = "2780e813b755850e50b178931aaf94ed24f6817f46aaaf5d21c13c12d939a249" dependencies = [ - "ahash 0.8.11", - "bitflags 2.8.0", + "ahash 0.8.12", + "bitflags 2.9.1", "instant", "num-traits", "once_cell", @@ -2856,7 +2879,7 @@ checksum = "a5a11a05ee1ce44058fa3d5961d05194fdbe3ad6b40f904af764d81b86450e6b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] @@ -2867,28 +2890,28 @@ checksum = "a157657054ffe556d8858504af8a672a054a6e0bd9e8ee531059100c0fa11bb2" [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustix" -version = "0.38.44" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.1", "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[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 = "rusty-fork" @@ -2908,7 +2931,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.1", "cfg-if", "clipboard-win", "fd-lock", @@ -2919,16 +2942,16 @@ dependencies = [ "nix", "radix_trie", "unicode-segmentation", - "unicode-width 0.2.0", + "unicode-width 0.2.1", "utf8parse", "windows-sys 0.59.0", ] [[package]] name = "ryu" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -2939,6 +2962,30 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -2947,9 +2994,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[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", ] @@ -2977,20 +3024,20 @@ dependencies = [ [[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.98", + "syn 2.0.104", ] [[package]] name = "serde_json" -version = "1.0.138" +version = "1.0.141" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" +checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3" dependencies = [ "itoa", "memchr", @@ -3000,13 +3047,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] @@ -3021,24 +3068,26 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ "serde", ] [[package]] name = "serde_with" -version = "3.12.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" +checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" dependencies = [ "base64", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.7.1", + "indexmap 2.10.0", + "schemars 0.9.0", + "schemars 1.0.4", "serde", "serde_derive", "serde_json", @@ -3048,21 +3097,21 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.12.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[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", @@ -3086,9 +3135,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", @@ -3107,9 +3156,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", ] @@ -3134,12 +3183,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "slog" @@ -3174,9 +3220,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" dependencies = [ "serde", ] @@ -3194,12 +3240,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.8" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3253,7 +3299,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] @@ -3389,9 +3435,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.98" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -3400,13 +3446,13 @@ dependencies = [ [[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.98", + "syn 2.0.104", ] [[package]] @@ -3433,13 +3479,12 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.16.0" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ - "cfg-if", "fastrand", - "getrandom 0.3.1", + "getrandom 0.3.3", "once_cell", "rustix", "windows-sys 0.59.0", @@ -3476,9 +3521,9 @@ dependencies = [ [[package]] name = "thin-vec" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b" +checksum = "144f754d318415ac792f9d69fc87abbbfc043ce2ef041c60f16ad828f638717d" [[package]] name = "thiserror" @@ -3491,11 +3536,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]] @@ -3506,35 +3551,34 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[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.98", + "syn 2.0.104", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[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", @@ -3549,15 +3593,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", @@ -3574,9 +3618,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", @@ -3594,18 +3638,20 @@ dependencies = [ [[package]] name = "tokio" -version = "1.43.1" +version = "1.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "492a604e2fd7f814268a378409e6c92b5525d747d10db9a229723f55a417958c" +checksum = "43864ed400b6043a4757a25c7a64a8efde741aed79a056a2fb348a406701bb35" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", - "mio 1.0.3", + "mio 1.0.4", "pin-project-lite", + "slab", "socket2", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3616,14 +3662,14 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] name = "tokio-util" -version = "0.7.13" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", @@ -3634,9 +3680,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.19" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", "serde_spanned", @@ -3646,26 +3692,33 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.8" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.22.23" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.7.1", + "indexmap 2.10.0", "serde", "serde_spanned", "toml_datetime", + "toml_write", "winnow", ] +[[package]] +name = "toml_write" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + [[package]] name = "tower" version = "0.4.13" @@ -3717,7 +3770,7 @@ checksum = "84fd902d4e0b9a4b27f2f440108dc034e1758628a9b702f8ec61ad66355422fa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] @@ -3739,20 +3792,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", "valuable", @@ -3795,13 +3848,9 @@ dependencies = [ [[package]] name = "twox-hash" -version = "1.6.3" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] +checksum = "8b907da542cbced5261bd3256de1b3a1bf340a3d37f93425a07362a1d687de56" [[package]] name = "typed-arena" @@ -3811,9 +3860,9 @@ checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" [[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 = "ucd-trie" @@ -3844,9 +3893,9 @@ checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-ident" -version = "1.0.16" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-segmentation" @@ -3862,9 +3911,9 @@ checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-width" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" +checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" [[package]] name = "url" @@ -3878,12 +3927,6 @@ dependencies = [ "serde", ] -[[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" @@ -3926,9 +3969,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", ] @@ -3945,15 +3988,15 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" -version = "0.13.3+wasi-0.2.2" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" dependencies = [ "wit-bindgen-rt", ] @@ -3980,7 +4023,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", "wasm-bindgen-shared", ] @@ -4002,7 +4045,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4018,9 +4061,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.57" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b17e741662c70c8bd24ac5c5b18de314a2c26c32bf8346ee1e6f53de919c283" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -4059,11 +4102,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.104", +] + +[[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.104", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[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]] @@ -4077,20 +4170,20 @@ dependencies = [ [[package]] name = "windows-sys" -version = "0.52.0" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ "windows-targets 0.52.6", ] [[package]] name = "windows-sys" -version = "0.59.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.52.6", + "windows-targets 0.53.3", ] [[package]] @@ -4117,13 +4210,30 @@ 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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" +dependencies = [ + "windows-link", + "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" @@ -4136,6 +4246,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" @@ -4148,6 +4264,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" @@ -4160,12 +4282,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" @@ -4178,6 +4312,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" @@ -4190,6 +4330,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" @@ -4202,6 +4348,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" @@ -4214,35 +4366,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.7.0" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e49d2d35d3fad69b39b94139037ecfb4f359f08958b9c11e7315ce770462419" +checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" dependencies = [ "memchr", ] [[package]] name = "wit-bindgen-rt" -version = "0.33.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.1", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - [[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" @@ -4258,9 +4410,9 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[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", @@ -4270,13 +4422,13 @@ 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.98", + "syn 2.0.104", "synstructure", ] @@ -4295,71 +4447,61 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "byteorder", - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa91407dacce3a68c56de03abe2760159582b846c6a4acd2f456618087f12713" -dependencies = [ - "zerocopy-derive 0.8.17", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.17" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06718a168365cad3d5ff0bb133aad346959a2074bd4a85c121255a11304a8626" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.104", ] [[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.98", + "syn 2.0.104", "synstructure", ] +[[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", @@ -4368,11 +4510,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.98", + "syn 2.0.104", ] diff --git a/Cargo.toml b/Cargo.toml index c103ff5202..fcb70ad467 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,7 +45,7 @@ categories = ["compilers"] homepage = "https://calyxir.org" edition = "2024" version = "0.7.1" -rust-version = "1.85" +rust-version = "1.88" [workspace.dependencies] # Internal crates From cc7d7e955e6d1275333a53e65c00d8cc1ae285db Mon Sep 17 00:00:00 2001 From: Griffin Berlstein Date: Tue, 29 Jul 2025 12:42:24 -0400 Subject: [PATCH 3/5] resolve warning --- fud2/fud-core/src/script/plugin.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fud2/fud-core/src/script/plugin.rs b/fud2/fud-core/src/script/plugin.rs index 08f3426d18..4b3dfde45e 100644 --- a/fud2/fud-core/src/script/plugin.rs +++ b/fud2/fud-core/src/script/plugin.rs @@ -82,7 +82,7 @@ impl ScriptContext { None => { s.clone().try_cast::().ok_or_else(move || { RhaiSystemError::setup_ref(s) - .with_pos(ctx.position()) + .with_pos(ctx.call_position()) .into() }) } @@ -639,7 +639,7 @@ impl ScriptRunner { gens: rhai::Array| -> RhaiResult<_> { sctx.add_shell( - ctx.position(), + ctx.call_position(), cmd.to_string(), deps, gens, @@ -656,7 +656,7 @@ impl ScriptRunner { "shell", move |ctx: rhai::NativeCallContext, cmd: &str| -> RhaiResult<_> { sctx.add_shell( - ctx.position(), + ctx.call_position(), cmd.to_string(), rhai::Array::new(), rhai::Array::new(), @@ -672,7 +672,7 @@ impl ScriptRunner { "config", move |ctx: rhai::NativeCallContext, key: &str| -> RhaiResult<_> { sctx.add_config_var( - ctx.position(), + ctx.call_position(), crate::run::ConfigVar::Required(key.to_string()), )?; Ok(format!("${{{}}}", key)) @@ -690,7 +690,7 @@ impl ScriptRunner { default: &str| -> RhaiResult<_> { sctx.add_config_var( - ctx.position(), + ctx.call_position(), crate::run::ConfigVar::Optional( key.to_string(), default.to_string(), From fb2646b20f718207fdb3f87243f04d61fcdcc27f Mon Sep 17 00:00:00 2001 From: Griffin Berlstein Date: Tue, 29 Jul 2025 14:02:30 -0400 Subject: [PATCH 4/5] clippy is real mad --- benches/component-sharing.rs | 2 +- calyx/backend/src/backend_opt.rs | 3 +- calyx/backend/src/firrtl.rs | 12 ++-- calyx/backend/src/mlir.rs | 4 +- calyx/backend/src/resources.rs | 7 +-- calyx/backend/src/verilog.rs | 44 ++++++------- calyx/backend/src/xilinx/control_axi.rs | 22 +++---- calyx/backend/src/xilinx/memory_axi.rs | 12 ++-- calyx/backend/src/xilinx/toplevel.rs | 61 +++++++++---------- calyx/backend/src/xilinx/xml.rs | 2 +- calyx/frontend/src/attribute.rs | 8 +-- calyx/frontend/src/attributes.rs | 6 +- calyx/frontend/src/common.rs | 4 +- calyx/frontend/src/lib_sig.rs | 8 +-- calyx/frontend/src/parser.rs | 14 ++--- calyx/ir/src/builder.rs | 4 +- calyx/ir/src/from_ast.rs | 14 ++--- calyx/ir/src/printer.rs | 37 ++++++----- calyx/ir/src/structure.rs | 2 +- calyx/ir/src/utils.rs | 5 +- calyx/opt/src/analysis/control_order.rs | 5 +- calyx/opt/src/analysis/dataflow_order.rs | 4 +- .../domination_analysis/dominator_map.rs | 4 +- .../static_par_domination.rs | 10 +-- calyx/opt/src/analysis/inference_analysis.rs | 2 +- calyx/opt/src/analysis/live_range_analysis.rs | 6 +- calyx/opt/src/analysis/promotion_analysis.rs | 3 +- calyx/opt/src/analysis/reaching_defns.rs | 4 +- calyx/opt/src/analysis/static_fsm.rs | 2 +- calyx/opt/src/analysis/static_par_timing.rs | 8 +-- calyx/opt/src/pass_manager.rs | 12 ++-- calyx/opt/src/passes/cell_share.rs | 2 +- calyx/opt/src/passes/compile_static.rs | 11 ++-- calyx/opt/src/passes/group_to_invoke.rs | 14 ++--- calyx/opt/src/passes/lower_guards.rs | 4 +- calyx/opt/src/passes/papercut.rs | 14 ++--- .../src/passes/profiler_instrumentation.rs | 19 ++---- calyx/opt/src/passes/simplify_with_control.rs | 3 +- .../src/passes/top_down_compile_control.rs | 6 +- calyx/opt/src/passes/uniquefy_enables.rs | 34 +++++------ calyx/opt/src/passes/well_formed.rs | 22 +++---- calyx/opt/src/passes/wire_inliner.rs | 8 +-- .../passes_experimental/discover_external.rs | 12 ++-- .../passes_experimental/register_unsharing.rs | 2 +- .../passes_experimental/sync/compile_sync.rs | 2 + .../sync/compile_sync_without_sync_reg.rs | 2 +- calyx/opt/src/traversal/construct.rs | 5 +- calyx/utils/src/errors.rs | 8 +-- calyx/utils/src/float.rs | 4 +- calyx/utils/src/position.rs | 8 +-- calyx/utils/src/weight_graph.rs | 2 +- cider/dap/src/error.rs | 2 +- cider/dap/src/main.rs | 8 +-- cider/src/configuration.rs | 3 +- cider/src/debugger/commands/core.rs | 2 +- cider/src/debugger/debugger_core.rs | 2 +- .../src/debugger/debugging_context/context.rs | 8 +-- cider/src/flatten/flat_ir/identifier.rs | 4 +- cider/src/flatten/flat_ir/indexes.rs | 2 +- cider/src/flatten/structures/context.rs | 2 +- .../src/flatten/structures/environment/env.rs | 25 ++++---- cider/src/flatten/structures/printer.rs | 12 ++-- cider/src/serialization/formatting.rs | 30 ++++----- cider/src/tests/values.rs | 6 +- fud2/fud-core/src/cli.rs | 2 +- fud2/fud-core/src/exec/driver.rs | 2 +- fud2/fud-core/src/exec/plan/egg_planner.rs | 8 +-- fud2/fud-core/src/run.rs | 34 +++++------ fud2/fud-core/src/script/plugin.rs | 8 +-- fud2/fud-core/tests/tests.rs | 40 ++++++------ fud2/tests/tests.rs | 2 +- src/cmdline.rs | 3 +- src/main.rs | 4 +- .../calyx-pass-explorer/src/pass_explorer.rs | 6 +- .../src/scrollback_buffer.rs | 2 +- tools/calyx-pass-explorer/src/tui.rs | 11 ++-- tools/calyx-pass-explorer/src/util.rs | 5 +- tools/calyx-writer/lib.rs | 10 +-- tools/cider-data-converter/src/converter.rs | 8 +-- tools/cider-data-converter/src/json_data.rs | 2 +- tools/cider-data-converter/src/main.rs | 5 +- tools/data-conversion/src/main.rs | 23 +++---- tools/data_gen/src/main.rs | 2 +- web/rust/src/lib.rs | 2 +- 84 files changed, 365 insertions(+), 433 deletions(-) diff --git a/benches/component-sharing.rs b/benches/component-sharing.rs index 43dd92ad63..a33d4ad619 100644 --- a/benches/component-sharing.rs +++ b/benches/component-sharing.rs @@ -17,7 +17,7 @@ fn cell_share_bench(c: &mut Criterion) { b.iter_batched( || { let name = - format!("benches/component-sharing/{}.futil", name); + format!("benches/component-sharing/{name}.futil"); let bench = Path::new(&name); let lib = [PathBuf::from(".")]; diff --git a/calyx/backend/src/backend_opt.rs b/calyx/backend/src/backend_opt.rs index f28bedbb68..e13f6f54e0 100644 --- a/calyx/backend/src/backend_opt.rs +++ b/calyx/backend/src/backend_opt.rs @@ -54,8 +54,7 @@ impl FromStr for BackendOpt { .map(|(name, _)| (*name).to_string()) .join(", "); Err(format!( - "`{}` is not a valid backend.\nValid backends: {}", - input, backend_str + "`{input}` is not a valid backend.\nValid backends: {backend_str}" )) } } diff --git a/calyx/backend/src/firrtl.rs b/calyx/backend/src/firrtl.rs index a361d1c0fa..dbdcd7f620 100644 --- a/calyx/backend/src/firrtl.rs +++ b/calyx/backend/src/firrtl.rs @@ -185,7 +185,7 @@ fn emit_primitive_extmodule( param_binding: &Binding, f: &mut F, ) -> io::Result<()> { - writeln!(f, "{}extmodule {}:", SPACING, curr_module_name)?; + writeln!(f, "{SPACING}extmodule {curr_module_name}:")?; for port in ports { let port_borrowed = port.borrow(); emit_port(port_borrowed, false, f)?; @@ -251,16 +251,16 @@ fn get_guard_string(guard: &ir::Guard) -> String { ir::Guard::Or(l, r) => { let l_str = get_guard_string(l.as_ref()); let r_str = get_guard_string(r.as_ref()); - format!("or({}, {})", l_str, r_str) + format!("or({l_str}, {r_str})") } ir::Guard::And(l, r) => { let l_str = get_guard_string(l.as_ref()); let r_str = get_guard_string(r.as_ref()); - format!("and({}, {})", l_str, r_str) + format!("and({l_str}, {r_str})") } ir::Guard::Not(g) => { let g_str = get_guard_string(g); - format!("not({})", g_str) + format!("not({g_str})") } ir::Guard::True => String::from(""), ir::Guard::CompOp(op, l, r) => { @@ -274,7 +274,7 @@ fn get_guard_string(guard: &ir::Guard) -> String { ir::PortComp::Geq => "geq", ir::PortComp::Leq => "leq", }; - format!("{}({}, {})", op_str, l_str, r_str) + format!("{op_str}({l_str}, {r_str})") } ir::Guard::Port(port) => get_port_string(&port.borrow(), false), ir::Guard::Info(_) => { @@ -293,7 +293,7 @@ fn get_port_string(port: &calyx_ir::Port, is_dst: bool) -> String { match parent.prototype { ir::CellType::Constant { val, width: _ } => { if !is_dst { - format!("UInt({})", val) + format!("UInt({val})") } else { unreachable!() } diff --git a/calyx/backend/src/mlir.rs b/calyx/backend/src/mlir.rs index cc30703773..925cabfceb 100644 --- a/calyx/backend/src/mlir.rs +++ b/calyx/backend/src/mlir.rs @@ -229,7 +229,7 @@ impl MlirBackend { .map(|p| format!("%{}.{}", name, p.borrow().name)) .collect::>() .join(", "); - write!(f, "{} = ", all_ports)?; + write!(f, "{all_ports} = ")?; let supports_attrs = Self::write_prototype_sig(&cell.prototype, name.as_str(), f)?; if supports_attrs { @@ -242,7 +242,7 @@ impl MlirBackend { .map(|p| format!("i{}", p.borrow().width)) .collect::>() .join(", "); - writeln!(f, "{}", all_port_widths) + writeln!(f, "{all_port_widths}") } /// Format and write an assignment. diff --git a/calyx/backend/src/resources.rs b/calyx/backend/src/resources.rs index a2327ec69b..932b9751e4 100644 --- a/calyx/backend/src/resources.rs +++ b/calyx/backend/src/resources.rs @@ -135,7 +135,7 @@ fn estimated_size(count_map: HashMap<(ir::Id, ir::Binding, bool), u32>) { }; let externalize_name = |name: ir::Id, is_external: bool| { if is_external { - format!("external {}", name) + format!("external {name}") } else { name.to_string() } @@ -275,9 +275,8 @@ fn estimated_size(count_map: HashMap<(ir::Id, ir::Binding, bool), u32>) { _ => (), } } - eprintln!("Estimated size in bit(s): {}", estimated_size); + eprintln!("Estimated size in bit(s): {estimated_size}"); eprintln!( - "Estimated external size in bit(s): {}", - estimated_external_size + "Estimated external size in bit(s): {estimated_external_size}" ); } diff --git a/calyx/backend/src/verilog.rs b/calyx/backend/src/verilog.rs index 73b1871320..ec9a9dd739 100644 --- a/calyx/backend/src/verilog.rs +++ b/calyx/backend/src/verilog.rs @@ -124,16 +124,14 @@ trait LibraryHandlerTrait { for dir in library_dirs { let entries = std::fs::read_dir(&dir).map_err(|e| { Error::invalid_file(format!( - "Error accessing library directory `{:?}`: {}", - dir, e + "Error accessing library directory `{dir:?}`: {e}" )) })?; for entry in entries { let entry = entry.map_err(|e| { Error::invalid_file(format!( - "Error reading entry in directory `{:?}`: {}", - dir, e + "Error reading entry in directory `{dir:?}`: {e}" )) })?; library_paths.push(entry.path()); @@ -419,8 +417,7 @@ impl Backend for VerilogBackend { morty::build_syntax_tree(&file_list, false, false, true, false) .map_err(|err| { Error::write_error(format!( - "Failed to build syntax tree with Morty: {}", - err + "Failed to build syntax tree with Morty: {err}" )) })?; let top_module = ctx.entrypoint.to_string(); @@ -437,7 +434,7 @@ impl Backend for VerilogBackend { true, false, ) - .map_err(|err| Error::write_error(format!("{}", err)))?; + .map_err(|err| Error::write_error(format!("{err}")))?; } // Rewind to the start of the temporary file so that we can read the content temp_writer.seek(SeekFrom::Start(0)).map_err(|_| { @@ -455,9 +452,8 @@ impl Backend for VerilogBackend { final_writer .write_all(temp_content.as_bytes()) .map_err(|err| { - io::Error::new( - io::ErrorKind::Other, - format!("Write failed: {}", err), + io::Error::other( + format!("Write failed: {err}"), ) })?; Ok(()) @@ -474,7 +470,7 @@ fn emit_prim_inline( if !prim.params.is_empty() { writeln!(f, " #(")?; for (idx, param) in prim.params.iter().enumerate() { - write!(f, " parameter {} = 32", param)?; + write!(f, " parameter {param} = 32")?; if idx != prim.params.len() - 1 { writeln!(f, ",")?; } else { @@ -582,7 +578,7 @@ fn emit_component( if !synthesis_mode { memory_read_write(comp) .into_iter() - .try_for_each(|stmt| writeln!(f, "{}", stmt))?; + .try_for_each(|stmt| writeln!(f, "{stmt}"))?; } let cells = comp @@ -593,7 +589,7 @@ fn emit_component( // structure wire declarations cells.iter().try_for_each(|(name, width, _)| { let decl = v::Decl::new_logic(name, *width); - writeln!(f, "{};", decl) + writeln!(f, "{decl};") })?; // cell instances @@ -740,9 +736,7 @@ fn cell_instance(cell: &ir::Cell) -> Option { param_binding.iter().for_each(|(name, value)| { if *value > (i32::MAX as u64) { panic!( - "Parameter value {} for `{}` cannot be represented using 32 bits", - value, - name + "Parameter value {value} for `{name}` cannot be represented using 32 bits" ) } inst.add_param( @@ -835,7 +829,7 @@ fn emit_fsms( collection.into_iter().enumerate() { // string representing the new guard on the assignment - let case_guard = format!("{}_s{state}_out", fsm_id); + let case_guard = format!("{fsm_id}_s{state}_out"); let case_guarded_assign_guard = if assignment.guard.is_true() { case_guard } else { @@ -936,12 +930,12 @@ fn emit_fsm_module( if (reset) begin\n state_reg <= s0;\n end\n\ else begin\n state_reg <= state_next;\n\ end\n end\n"; - writeln!(f, "{}", always_comb_header)?; + writeln!(f, "{always_comb_header}")?; // Begin emitting the FSM's transitions and updates let case_header = " always @(*) begin\n state_next = s0;\n\ case ( state_reg )"; - writeln!(f, "{}", case_header)?; + writeln!(f, "{case_header}")?; // At each state, write the updates to the state and the outward-facing // wires to make high / low for (case, trans) in fsm.borrow().transitions.iter().enumerate() { @@ -966,7 +960,7 @@ fn emit_fsm_module( // Wrap up the module let case_footer = " endcase\n end\n\ endmodule\n"; - writeln!(f, "{}", case_footer)?; + writeln!(f, "{case_footer}")?; io::Result::Ok(()) } @@ -1033,7 +1027,7 @@ fn emit_guard_disjoint_check( // Generated error message let ir::Canonical { cell, port } = dst.borrow().canonical(); - let msg = format!("Multiple assignment to port `{}.{}'.", cell, port); + let msg = format!("Multiple assignment to port `{cell}.{port}'."); let err = v::Sequential::new_seqexpr(v::Expr::new_call( "$fatal", vec![v::Expr::new_int(2), v::Expr::Str(msg)], @@ -1429,11 +1423,11 @@ fn memory_read_write(comp: &ir::Component) -> Vec { vec![ v::Expr::Concat(v::ExprConcat { exprs: vec![ - v::Expr::new_str(&format!("/{}.dat", name)), + v::Expr::new_str(&format!("/{name}.dat")), v::Expr::new_ref("DATA"), ], }), - v::Expr::new_ipath(&format!("{}.{}", name, mem_access_str)), + v::Expr::new_ipath(&format!("{name}.{mem_access_str}")), ], ))); }); @@ -1447,11 +1441,11 @@ fn memory_read_write(comp: &ir::Component) -> Vec { vec![ v::Expr::Concat(v::ExprConcat { exprs: vec![ - v::Expr::new_str(&format!("/{}.out", name)), + v::Expr::new_str(&format!("/{name}.out")), v::Expr::new_ref("DATA"), ], }), - v::Expr::new_ipath(&format!("{}.{}", name, mem_access_str)), + v::Expr::new_ipath(&format!("{name}.{mem_access_str}")), ], ))); }); diff --git a/calyx/backend/src/xilinx/control_axi.rs b/calyx/backend/src/xilinx/control_axi.rs index a0f53de923..41b83713d1 100644 --- a/calyx/backend/src/xilinx/control_axi.rs +++ b/calyx/backend/src/xilinx/control_axi.rs @@ -80,13 +80,13 @@ impl ControlInterface for AxiInterface { ) -> Self { // read channels let read_address = AxiChannel { - prefix: format!("{}AR", prefix), + prefix: format!("{prefix}AR"), direction: ChannelDirection::Recv, state: vec![v::Decl::new_wire("raddr", address_width)], data_ports: vec![("ADDR".to_string(), address_width)], }; let read_data = AxiChannel { - prefix: format!("{}R", prefix), + prefix: format!("{prefix}R"), direction: ChannelDirection::Send, state: vec![v::Decl::new_reg("rdata", data_width)], data_ports: vec![ @@ -97,19 +97,19 @@ impl ControlInterface for AxiInterface { // write channels let write_address = AxiChannel { - prefix: format!("{}AW", prefix), + prefix: format!("{prefix}AW"), direction: ChannelDirection::Recv, state: vec![v::Decl::new_reg("waddr", address_width)], data_ports: vec![("ADDR".to_string(), address_width)], }; let write_data = AxiChannel { - prefix: format!("{}W", prefix), + prefix: format!("{prefix}W"), direction: ChannelDirection::Recv, state: vec![v::Decl::new_wire("wdata", data_width)], data_ports: vec![("DATA".to_string(), data_width)], }; let write_response = AxiChannel { - prefix: format!("{}B", prefix), + prefix: format!("{prefix}B"), direction: ChannelDirection::Send, state: vec![], data_ports: vec![("RESP".to_string(), 2)], @@ -146,9 +146,9 @@ impl ControlInterface for AxiInterface { vec![(0..32, "int_timeout", 0..32, Flags::default().write())], ); for (idx, memory_name) in memories.iter().enumerate() { - let part0_name = format!("{}_0", memory_name); - let part1_name = format!("{}_1", memory_name); - let addr_name = format!("addr_{}", memory_name); + let part0_name = format!("{memory_name}_0"); + let part1_name = format!("{memory_name}_1"); + let addr_name = format!("addr_{memory_name}"); addr_space.add_address( 0x18 + (idx * 8), &part0_name, @@ -257,9 +257,9 @@ impl ControlInterface for AxiInterface { ); for memory in memories { - let part0_name = format!("{}_0", memory); - let part1_name = format!("{}_1", memory); - let addr_name = format!("addr_{}", memory); + let part0_name = format!("{memory}_0"); + let part1_name = format!("{memory}_1"); + let addr_name = format!("addr_{memory}"); module.add_stmt(v::Parallel::Assign( memory.as_str().into(), addr_name.into(), diff --git a/calyx/backend/src/xilinx/memory_axi.rs b/calyx/backend/src/xilinx/memory_axi.rs index d468bd4067..cfea6016f3 100644 --- a/calyx/backend/src/xilinx/memory_axi.rs +++ b/calyx/backend/src/xilinx/memory_axi.rs @@ -39,13 +39,13 @@ impl MemoryInterface for AxiInterface { ]; // read channels let read_address = AxiChannel { - prefix: format!("{}AR", prefix), + prefix: format!("{prefix}AR"), direction: ChannelDirection::Send, state: vec![], data_ports: addr_data_ports.clone(), }; let read_data = AxiChannel { - prefix: format!("{}R", prefix), + prefix: format!("{prefix}R"), direction: ChannelDirection::Recv, state: vec![], data_ports: vec![ @@ -58,13 +58,13 @@ impl MemoryInterface for AxiInterface { // write channels let write_address = AxiChannel { - prefix: format!("{}AW", prefix), + prefix: format!("{prefix}AW"), direction: ChannelDirection::Send, state: vec![], data_ports: addr_data_ports, }; let write_data = AxiChannel { - prefix: format!("{}W", prefix), + prefix: format!("{prefix}W"), direction: ChannelDirection::Send, state: vec![], data_ports: vec![ @@ -75,7 +75,7 @@ impl MemoryInterface for AxiInterface { ], }; let write_response = AxiChannel { - prefix: format!("{}B", prefix), + prefix: format!("{prefix}B"), direction: ChannelDirection::Recv, state: vec![], data_ports: vec![ @@ -342,7 +342,7 @@ fn bram_logic( let suffix_idx = "Memory_controller_axi_".len(); let suffix = &name[suffix_idx..]; let mut ram_instance = - v::Instance::new("bram", &format!("SINGLE_PORT_BRAM_{}", suffix)); + v::Instance::new("bram", &format!("SINGLE_PORT_BRAM_{suffix}")); ram_instance.connect_ref("ACLK", "ACLK"); ram_instance.connect_ref("ADDR", "bram_addr"); ram_instance.connect_ref("Din", "bram_write_data"); diff --git a/calyx/backend/src/xilinx/toplevel.rs b/calyx/backend/src/xilinx/toplevel.rs index 96f8706271..f79f3c3517 100644 --- a/calyx/backend/src/xilinx/toplevel.rs +++ b/calyx/backend/src/xilinx/toplevel.rs @@ -52,7 +52,7 @@ impl Backend for XilinxInterfaceBackend { let mut modules = vec![top_level(toplevel)]; for (i, mem) in mem_info.iter().enumerate() { modules.push(bram( - &format!("SINGLE_PORT_BRAM_{}", i), + &format!("SINGLE_PORT_BRAM_{i}"), mem.data_width, mem.total_size, mem.idx_sizes[0], @@ -69,7 +69,7 @@ impl Backend for XilinxInterfaceBackend { for (i, mem) in mem_info.iter().enumerate() { modules.push(axi::AxiInterface::memory_module( - &format!("Memory_controller_axi_{}", i), + &format!("Memory_controller_axi_{i}"), 512, 64, mem.data_width, @@ -88,8 +88,7 @@ impl Backend for XilinxInterfaceBackend { file.get_write(), r#"`default_nettype none /* verilator lint_off DECLFILENAME */ -{}`default_nettype wire"#, - module_string, +{module_string}`default_nettype wire"#, )?; Ok(()) @@ -136,7 +135,7 @@ fn top_level(toplevel: &ir::Component) -> v::Module { // add an axi interface for each external memory for (idx, _mem) in memories.iter().enumerate() { - axi::AxiInterface::memory_channels(64, 512, &format!("m{}_axi_", idx)) + axi::AxiInterface::memory_channels(64, 512, &format!("m{idx}_axi_")) .add_ports_to(&mut module); } @@ -173,16 +172,16 @@ fn top_level(toplevel: &ir::Component) -> v::Module { control_instance.connect("timeout", "timeout"); for port in base_control_axi_interface.ports() { - control_instance.connect_ref(&port, &format!("s_axi_control_{}", port)); + control_instance.connect_ref(&port, &format!("s_axi_control_{port}")); } module.add_instance(control_instance); // and some wires for each memory for mem in memories { - module.add_decl(v::Decl::new_wire(&format!("{}_copy", mem), 1)); - module.add_decl(v::Decl::new_wire(&format!("{}_copy_done", mem), 1)); - module.add_decl(v::Decl::new_wire(&format!("{}_send", mem), 1)); - module.add_decl(v::Decl::new_wire(&format!("{}_send_done", mem), 1)); + module.add_decl(v::Decl::new_wire(&format!("{mem}_copy"), 1)); + module.add_decl(v::Decl::new_wire(&format!("{mem}_copy_done"), 1)); + module.add_decl(v::Decl::new_wire(&format!("{mem}_send"), 1)); + module.add_decl(v::Decl::new_wire(&format!("{mem}_send_done"), 1)); } host_transfer_fsm(&mut module, memories); @@ -190,11 +189,11 @@ fn top_level(toplevel: &ir::Component) -> v::Module { let base_master_axi_interface = axi::AxiInterface::memory_channels(64, 32, ""); for (idx, mem) in memories.iter().enumerate() { - let write_data = format!("{}_write_data", mem); - let read_data = format!("{}_read_data", mem); - let addr0 = format!("{}_addr0", mem); - let write_en = format!("{}_write_en", mem); - let done = format!("{}_done", mem); + let write_data = format!("{mem}_write_data"); + let read_data = format!("{mem}_read_data"); + let addr0 = format!("{mem}_addr0"); + let write_en = format!("{mem}_write_en"); + let done = format!("{mem}_done"); let width = mem_info[idx].data_width; module.add_decl(v::Decl::new_wire(&write_data, width)); module.add_decl(v::Decl::new_wire(&read_data, width)); @@ -203,8 +202,8 @@ fn top_level(toplevel: &ir::Component) -> v::Module { module.add_decl(v::Decl::new_wire(&done, 1)); let mut memory_instance = v::Instance::new( - &format!("inst_mem_controller_axi_{}", idx), - &format!("Memory_controller_axi_{}", idx), + &format!("inst_mem_controller_axi_{idx}"), + &format!("Memory_controller_axi_{idx}"), ); memory_instance.connect("ACLK", "ap_clk"); memory_instance.connect( @@ -213,15 +212,15 @@ fn top_level(toplevel: &ir::Component) -> v::Module { ); for port in base_master_axi_interface.ports() { memory_instance - .connect_ref(&port, &format!("m{}_axi_{}", idx, port)); + .connect_ref(&port, &format!("m{idx}_axi_{port}")); } memory_instance.connect_ref("BASE_ADDRESS", mem); - memory_instance.connect_ref("COPY_FROM_HOST", &format!("{}_copy", mem)); + memory_instance.connect_ref("COPY_FROM_HOST", &format!("{mem}_copy")); memory_instance - .connect_ref("COPY_FROM_HOST_DONE", &format!("{}_copy_done", mem)); - memory_instance.connect_ref("SEND_TO_HOST", &format!("{}_send", mem)); + .connect_ref("COPY_FROM_HOST_DONE", &format!("{mem}_copy_done")); + memory_instance.connect_ref("SEND_TO_HOST", &format!("{mem}_send")); memory_instance - .connect_ref("SEND_TO_HOST_DONE", &format!("{}_send_done", mem)); + .connect_ref("SEND_TO_HOST_DONE", &format!("{mem}_send_done")); memory_instance.connect_ref("WRITE_DATA", &write_data); memory_instance.connect_ref("READ_DATA", &read_data); @@ -241,11 +240,11 @@ fn top_level(toplevel: &ir::Component) -> v::Module { .connect("reset", v::Expr::new_logical_or("reset", "memories_sent")); kernel_instance.connect_ref("done", "kernel_done"); for mem in memories { - let read_data = format!("{}_read_data", mem); - let done = format!("{}_done", mem); - let addr0 = format!("{}_addr0", mem); - let write_data = format!("{}_write_data", mem); - let write_en = format!("{}_write_en", mem); + let read_data = format!("{mem}_read_data"); + let done = format!("{mem}_done"); + let addr0 = format!("{mem}_addr0"); + let write_data = format!("{mem}_write_data"); + let write_en = format!("{mem}_write_en"); kernel_instance.connect_ref(&read_data, &read_data); kernel_instance.connect_ref(&done, &done); kernel_instance.connect_ref(&addr0, &addr0); @@ -290,18 +289,18 @@ fn host_transfer_fsm(module: &mut v::Module, memories: &[String]) { memories[1..].iter().fold( format!("{}_copy_done", memories[0]).into(), |acc, elem| { - v::Expr::new_logical_and(acc, format!("{}_copy_done", elem)) + v::Expr::new_logical_and(acc, format!("{elem}_copy_done")) }, ) }, )); let copy_start_assigns: Vec = memories .iter() - .map(|mem| format!("{}_copy", mem).into()) + .map(|mem| format!("{mem}_copy").into()) .collect(); let send_start_assigns: Vec = memories .iter() - .map(|mem| format!("{}_send", mem).into()) + .map(|mem| format!("{mem}_send").into()) .collect(); let fsm = fsm::LinearFsm::new("host_txn_", "ap_clk", "reset") .state("idle", &[], "ap_start") // idle state @@ -318,7 +317,7 @@ fn host_transfer_fsm(module: &mut v::Module, memories: &[String]) { memories[1..].iter().fold( format!("{}_send_done", memories[0]).into(), |acc, elem| { - v::Expr::new_bit_and(acc, format!("{}_send_done", elem)) + v::Expr::new_bit_and(acc, format!("{elem}_send_done")) }, ), )); diff --git a/calyx/backend/src/xilinx/xml.rs b/calyx/backend/src/xilinx/xml.rs index ddd764c119..9ee5c3db92 100644 --- a/calyx/backend/src/xilinx/xml.rs +++ b/calyx/backend/src/xilinx/xml.rs @@ -160,7 +160,7 @@ impl Backend for XilinxXmlBackend { }) .enumerate() .map(|(i, cell_ref)| { - (cell_ref.borrow().name().to_string(), format!("m{}_axi", i)) + (cell_ref.borrow().name().to_string(), format!("m{i}_axi")) }) .collect(); // make the lifetime of the &str long enough diff --git a/calyx/frontend/src/attribute.rs b/calyx/frontend/src/attribute.rs index fd30a69306..8e0001e2aa 100644 --- a/calyx/frontend/src/attribute.rs +++ b/calyx/frontend/src/attribute.rs @@ -247,8 +247,7 @@ impl FromStr for SetAttribute { // Reject attributes that all caps since those are reserved for internal attributes if s.to_uppercase() == s { return Err(Error::misc(format!( - "Invalid attribute: {}. All caps attributes are reserved for internal use.", - s + "Invalid attribute: {s}. All caps attributes are reserved for internal use." ))); } Ok(SetAttribute::Unknown(s.into())) @@ -275,7 +274,7 @@ impl std::fmt::Display for Attribute { Attribute::Bool(b) => write!(f, "{}", b.as_ref()), Attribute::Num(n) => write!(f, "{}", n.as_ref()), Attribute::Internal(i) => write!(f, "{}", i.as_ref()), - Attribute::Unknown(s) => write!(f, "{}", s), + Attribute::Unknown(s) => write!(f, "{s}"), } } } @@ -303,8 +302,7 @@ impl FromStr for Attribute { // Reject attributes that all caps since those are reserved for internal attributes if s.to_uppercase() == s { return Err(Error::misc(format!( - "Invalid attribute: {}. All caps attributes are reserved for internal use.", - s + "Invalid attribute: {s}. All caps attributes are reserved for internal use." ))); } Ok(Attribute::Unknown(s.into())) diff --git a/calyx/frontend/src/attributes.rs b/calyx/frontend/src/attributes.rs index b96932d4f8..b27db74a43 100644 --- a/calyx/frontend/src/attributes.rs +++ b/calyx/frontend/src/attributes.rs @@ -55,8 +55,7 @@ impl TryFrom> for Attributes { ParseAttributeWrapper::Attribute(k, v) => { if attrs.has(k) { return Err(Self::Error::malformed_structure(format!( - "Multiple entries for attribute: {}", - k + "Multiple entries for attribute: {k}" ))); } attrs.insert(k, v); @@ -64,8 +63,7 @@ impl TryFrom> for Attributes { ParseAttributeWrapper::Set(set_attr, vec) => { if attrs.hinfo.set_attrs.contains_key(&set_attr) { return Err(Self::Error::malformed_structure(format!( - "Multiple entries for attribute: {}", - set_attr + "Multiple entries for attribute: {set_attr}" ))); } diff --git a/calyx/frontend/src/common.rs b/calyx/frontend/src/common.rs index 5d2354654d..9920bbad65 100644 --- a/calyx/frontend/src/common.rs +++ b/calyx/frontend/src/common.rs @@ -143,8 +143,8 @@ pub enum Width { impl std::fmt::Display for Width { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - Width::Const { value } => write!(f, "{}", value), - Width::Param { value } => write!(f, "{}", value), + Width::Const { value } => write!(f, "{value}"), + Width::Param { value } => write!(f, "{value}"), } } } diff --git a/calyx/frontend/src/lib_sig.rs b/calyx/frontend/src/lib_sig.rs index 42efa9aa57..668e162878 100644 --- a/calyx/frontend/src/lib_sig.rs +++ b/calyx/frontend/src/lib_sig.rs @@ -76,7 +76,7 @@ impl LibrarySignatures { ); let name = primitive.name; if self.find_primitive(name).is_some() { - panic!("Primitive `{}` is already defined in the context.", name); + panic!("Primitive `{name}` is already defined in the context."); } let prim = PrimitiveInfo::inline(primitive); self.prims.push(prim); @@ -97,7 +97,7 @@ impl LibrarySignatures { ); let name = primitive.name; if self.find_primitive(name).is_some() { - panic!("Primitive `{}` is already defined in the context.", name); + panic!("Primitive `{name}` is already defined in the context."); } let definined_ext = self.prims.iter_mut().find(|prim| match prim { PrimitiveInfo::Extern { path, .. } => path == &file, @@ -161,7 +161,7 @@ impl LibrarySignatures { { let key = name.into(); self.find_primitive(key).unwrap_or_else(|| { - panic!("Primitive `{}` is not defined in the context.", key) + panic!("Primitive `{key}` is not defined in the context.") }) } @@ -173,7 +173,7 @@ impl LibrarySignatures { PrimitiveInfo::Inline { primitive, .. } => primitive.name == name, PrimitiveInfo::Extern { .. } => false, }) else { - panic!("Primitive `{}` is not defined in the context.", name); + panic!("Primitive `{name}` is not defined in the context."); }; inlined.set_source() } diff --git a/calyx/frontend/src/parser.rs b/calyx/frontend/src/parser.rs index 6fd3c7e8aa..df0be2179f 100644 --- a/calyx/frontend/src/parser.rs +++ b/calyx/frontend/src/parser.rs @@ -403,9 +403,9 @@ impl CalyxParser { fn attribute(input: Node) -> ParseResult { match_nodes!( input.clone().into_children(); - [string_lit(key), bitwidth(num)] => Attribute::from_str(key.as_ref()).map(|attr| (attr, num).into()).map_err(|e| input.error(format!("{:?}", e))), + [string_lit(key), bitwidth(num)] => Attribute::from_str(key.as_ref()).map(|attr| (attr, num).into()).map_err(|e| input.error(format!("{e:?}"))), [string_lit(key), attr_set(nums)] => { - let attr = SetAttribute::from_str(key.as_ref()).map_err(|e| input.error(format!("{:?}", e)))?; + let attr = SetAttribute::from_str(key.as_ref()).map_err(|e| input.error(format!("{e:?}")))?; Ok((attr, nums).into()) } ) @@ -413,7 +413,7 @@ impl CalyxParser { fn attributes(input: Node) -> ParseResult { match_nodes!( input.clone().into_children(); - [attribute(kvs)..] => kvs.collect::>().try_into().map_err(|e| input.error(format!("{:?}", e))) + [attribute(kvs)..] => kvs.collect::>().try_into().map_err(|e| input.error(format!("{e:?}"))) ) } fn name_with_attribute(input: Node) -> ParseResult<(Id, Attributes)> { @@ -464,19 +464,19 @@ impl CalyxParser { fn at_attribute(input: Node) -> ParseResult { match_nodes!( input.clone().into_children(); - [identifier(key), attr_val(num)] => Attribute::from_str(key.as_ref()).map_err(|e| input.error(format!("{:?}", e))).map(|attr| (attr, num).into()), + [identifier(key), attr_val(num)] => Attribute::from_str(key.as_ref()).map_err(|e| input.error(format!("{e:?}"))).map(|attr| (attr, num).into()), [identifier(key), attr_set(nums)] => { - let attr = SetAttribute::from_str(key.as_ref()).map_err(|e| input.error(format!("{:?}", e)))?; + let attr = SetAttribute::from_str(key.as_ref()).map_err(|e| input.error(format!("{e:?}")))?; Ok((attr, nums).into()) }, - [identifier(key)] => Attribute::from_str(key.as_ref()).map_err(|e| input.error(format!("{:?}", e))).map(|attr| (attr, 1).into()), + [identifier(key)] => Attribute::from_str(key.as_ref()).map_err(|e| input.error(format!("{e:?}"))).map(|attr| (attr, 1).into()), ) } fn at_attributes(input: Node) -> ParseResult { match_nodes!( input.clone().into_children(); - [at_attribute(kvs)..] => kvs.collect::>().try_into().map_err(|e| input.error(format!("{:?}", e))) + [at_attribute(kvs)..] => kvs.collect::>().try_into().map_err(|e| input.error(format!("{e:?}"))) ) } diff --git a/calyx/ir/src/builder.rs b/calyx/ir/src/builder.rs index 4ad4f93cbd..ee505b2f4d 100644 --- a/calyx/ir/src/builder.rs +++ b/calyx/ir/src/builder.rs @@ -203,9 +203,7 @@ impl<'a> Builder<'a> { // constant. Note that this will not work for constants that require // more than 64 bits as those currently cannot be parsed (64 - val.leading_zeros()) as u64 <= width, - "Constant value {} cannot fit in {} bits", - val, - width + "Constant value {val} cannot fit in {width} bits" ); let name = ir::Cell::constant_name(val, width); // If this constant has already been instantiated, return the relevant diff --git a/calyx/ir/src/from_ast.rs b/calyx/ir/src/from_ast.rs index 93a8bb0201..f27726531a 100644 --- a/calyx/ir/src/from_ast.rs +++ b/calyx/ir/src/from_ast.rs @@ -152,8 +152,7 @@ fn check_valid_port( }; if !sig_ports.contains(port_name) { return Err(Error::malformed_structure(format!( - "cell `{}` (which is an instance of {}) does not have port named `{}`", - cell_name, comp_name, port_name + "cell `{cell_name}` (which is an instance of {comp_name}) does not have port named `{port_name}`" )) .with_pos(attrs)); }; @@ -512,7 +511,7 @@ fn get_port_ref(port: ast::Port, comp: &Component) -> CalyxResult> { .find(port) .ok_or_else(|| { Error::undefined( - Id::new(format!("{}.{}", component, port)), + Id::new(format!("{component}.{port}")), "port".to_string(), ) }), @@ -939,8 +938,7 @@ fn build_static_control( v } else { return Err(Error::malformed_control(format!( - "component {} is statically invoked, but is neither static nor does it have @interval attribute its @go port", - comp_name + "component {comp_name} is statically invoked, but is neither static nor does it have @interval attribute its @go port" )) .with_pos(&attributes)); }; @@ -1130,8 +1128,7 @@ fn build_control( v } else { return Err(Error::malformed_control(format!( - "component {} is statically invoked, but is neither static nor does it have @interval attribute its @go port", - comp_name + "component {comp_name} is statically invoked, but is neither static nor does it have @interval attribute its @go port" )) .with_pos(&attributes)); }; @@ -1223,8 +1220,7 @@ fn build_control( .is_some() { return Err(Error::malformed_control(format!( - "static component {} is dynamically invoked", - comp_name + "static component {comp_name} is dynamically invoked" )) .with_pos(&attributes)); } diff --git a/calyx/ir/src/printer.rs b/calyx/ir/src/printer.rs index 8aa2e66b43..3e136ccbfe 100644 --- a/calyx/ir/src/printer.rs +++ b/calyx/ir/src/printer.rs @@ -20,9 +20,9 @@ impl Printer { " ", |name, val| { if val == 1 { - format!("@{}", name) + format!("@{name}") } else { - format!("@{}({val})", name) + format!("@{name}({val})") } }, |name, vals| format!("@{}{{{}}}", name, vals.iter().join(", ")), @@ -43,7 +43,7 @@ impl Printer { "<{}>", attrs.to_string_with( ", ", - |name, val| { format!("\"{}\"={}", name, val) }, + |name, val| { format!("\"{name}\"={val}") }, |name, vals| { format!("\"{}\"={{{}}}", name, vals.iter().join(", ")) }, @@ -146,7 +146,7 @@ impl Printer { write!(f, "comb ")?; } if let Some(latency_val) = prim.latency { - write!(f, "static<{}> ", latency_val)?; + write!(f, "static<{latency_val}> ")?; } write!( f, @@ -482,7 +482,7 @@ impl Printer { { // WRITE ASSIGNMENTS write!(f, "{}", " ".repeat(indent_level + 2))?; - write!(f, "{} : ", i)?; + write!(f, "{i} : ")?; match assigns.is_empty() { true => { // skip directly to transitions section @@ -504,14 +504,14 @@ impl Printer { // WRITE TRANSITIONS match trans { ir::Transition::Unconditional(s) => { - writeln!(f, "{},", s)?; + writeln!(f, "{s},")?; } ir::Transition::Conditional(cond_dsts) => { writeln!(f, "{{")?; for (i, (g, dst)) in cond_dsts.iter().enumerate() { write!(f, "{}", " ".repeat(indent_level + 4))?; if i == cond_dsts.len() - 1 { - writeln!(f, "default -> {},", dst)?; + writeln!(f, "default -> {dst},")?; } else { writeln!(f, "{} -> {},", Self::guard_str(g), dst)?; } @@ -546,7 +546,7 @@ impl Printer { .. }) => { write!(f, "{}", Self::format_at_attributes(attributes))?; - write!(f, "static repeat {} ", num_repeats)?; + write!(f, "static repeat {num_repeats} ")?; writeln!(f, "{{")?; Self::write_static_control(body, indent_level + 2, f)?; writeln!(f, "{}}}", " ".repeat(indent_level)) @@ -557,7 +557,7 @@ impl Printer { latency, }) => { write!(f, "{}", Self::format_at_attributes(attributes))?; - writeln!(f, "static<{}> seq {{", latency)?; + writeln!(f, "static<{latency}> seq {{")?; for stmt in stmts { Self::write_static_control(stmt, indent_level + 2, f)?; } @@ -569,7 +569,7 @@ impl Printer { latency, }) => { write!(f, "{}", Self::format_at_attributes(attributes))?; - writeln!(f, "static<{}> par {{", latency)?; + writeln!(f, "static<{latency}> par {{")?; for stmt in stmts { Self::write_static_control(stmt, indent_level + 2, f)?; } @@ -771,7 +771,7 @@ impl Printer { .. }) => { write!(f, "{}", Self::format_at_attributes(attributes))?; - write!(f, "repeat {} ", num_repeats)?; + write!(f, "repeat {num_repeats} ")?; writeln!(f, "{{")?; Self::write_control(body, indent_level + 2, f)?; writeln!(f, "{}}}", " ".repeat(indent_level)) @@ -868,7 +868,7 @@ impl Printer { } else { Self::guard_str(g) }; - format!("!{}", s) + format!("!{s}") } ir::Guard::Port(port_ref) => Self::port_to_str(&port_ref.borrow()), ir::Guard::True => "1'b1".to_string(), @@ -890,7 +890,7 @@ impl Printer { let cell = cell_ref.borrow(); match cell.prototype { ir::CellType::Constant { val, width } => { - format!("{}'d{}", width, val) + format!("{width}'d{val}") } ir::CellType::ThisComponent => port.name.to_string(), _ => format!("{}.{}", cell.name().id, port.name.id), @@ -902,8 +902,7 @@ impl Printer { .internal .upgrade() .unwrap_or_else(|| panic!( - "Malformed AST: No reference to Group for port `{:#?}'", - port + "Malformed AST: No reference to Group for port `{port:#?}'" )) .borrow() .name() @@ -916,8 +915,7 @@ impl Printer { .internal .upgrade() .unwrap_or_else(|| panic!( - "Malformed AST: No reference to FSM for port `{:#?}'", - port + "Malformed AST: No reference to FSM for port `{port:#?}'" )) .borrow() .name() @@ -930,8 +928,7 @@ impl Printer { .internal .upgrade() .unwrap_or_else(|| panic!( - "Malformed AST: No reference to Group for port `{:#?}'", - port + "Malformed AST: No reference to Group for port `{port:#?}'" )) .borrow() .name() @@ -944,7 +941,7 @@ impl Printer { /// Formats the top-level metadata if present pub fn format_metadata(metadata: &Option) -> String { if let Some(metadata_str) = metadata { - format!("metadata #{{\n{}\n}}#\n", metadata_str) + format!("metadata #{{\n{metadata_str}\n}}#\n") } else { String::new() } diff --git a/calyx/ir/src/structure.rs b/calyx/ir/src/structure.rs index d11213fe26..fe654cfe61 100644 --- a/calyx/ir/src/structure.rs +++ b/calyx/ir/src/structure.rs @@ -453,7 +453,7 @@ impl Cell { /// Return the canonical name for the cell generated to represent this /// (val, width) constant. pub fn constant_name(val: u64, width: u64) -> Id { - format!("_{}_{}", val, width).into() + format!("_{val}_{width}").into() } /// Return the value associated with this attribute key. diff --git a/calyx/ir/src/utils.rs b/calyx/ir/src/utils.rs index 0b64bf5b69..235612d2b2 100644 --- a/calyx/ir/src/utils.rs +++ b/calyx/ir/src/utils.rs @@ -78,7 +78,7 @@ impl GetMemInfo for Vec> { else if dimensions > 1 && dimensions <= 4{ for i in 0..dimensions { dimension_sizes.push(mem.get_parameter(dimension_params[i as usize]).unwrap()); - idx_sizes.push(mem.get_parameter(format!("D{}_IDX_SIZE",i)).unwrap()); + idx_sizes.push(mem.get_parameter(format!("D{i}_IDX_SIZE")).unwrap()); } } else{ @@ -118,8 +118,7 @@ fn dimension_count(mem_id: Id) -> u64 { 4 } else { panic!( - "Cell {} does not seem to be a memory primitive. Memory primitives are expected to have 1-4 dimensions inclusive.", - mem_name + "Cell {mem_name} does not seem to be a memory primitive. Memory primitives are expected to have 1-4 dimensions inclusive." ); } } diff --git a/calyx/opt/src/analysis/control_order.rs b/calyx/opt/src/analysis/control_order.rs index fab2b612f3..6335b494ef 100644 --- a/calyx/opt/src/analysis/control_order.rs +++ b/calyx/opt/src/analysis/control_order.rs @@ -53,7 +53,7 @@ impl ControlOrder { ir::CellType::Constant { .. } => None, ir::CellType::Component { .. } | ir::CellType::Primitive { .. } - | ir::CellType::ThisComponent { .. } => { + | ir::CellType::ThisComponent => { Some(cell.borrow().name()) } }) @@ -141,8 +141,7 @@ impl ControlOrder { .join("\n"); } Err(Error::misc(format!( - "No possible sequential ordering. Control programs exhibit data race:\n{}", - msg + "No possible sequential ordering. Control programs exhibit data race:\n{msg}" ))) } } diff --git a/calyx/opt/src/analysis/dataflow_order.rs b/calyx/opt/src/analysis/dataflow_order.rs index 952acbabe1..5b5235aa7c 100644 --- a/calyx/opt/src/analysis/dataflow_order.rs +++ b/calyx/opt/src/analysis/dataflow_order.rs @@ -141,7 +141,7 @@ impl DataflowOrder { .write_map .get(&comp) .unwrap_or_else(|| { - panic!("Component `{}` write map is not defined", comp) + panic!("Component `{comp}` write map is not defined") }) .get(&port) .unwrap_or_else(|| { @@ -193,7 +193,7 @@ impl DataflowOrder { ir::Printer::assignment_to_str(gr[*idx].as_ref().unwrap()) }) .join("\n"); - Err(Error::misc(format!("Found combinational cycle:\n{}", msg))) + Err(Error::misc(format!("Found combinational cycle:\n{msg}"))) } } } diff --git a/calyx/opt/src/analysis/domination_analysis/dominator_map.rs b/calyx/opt/src/analysis/domination_analysis/dominator_map.rs index 8e9c6975f0..7f544a28dc 100644 --- a/calyx/opt/src/analysis/domination_analysis/dominator_map.rs +++ b/calyx/opt/src/analysis/domination_analysis/dominator_map.rs @@ -124,10 +124,10 @@ impl Debug for DominatorMap { let mut vec1: Vec<(u64, HashSet)> = map.into_iter().collect(); vec1.sort_by(|(k1, _), (k2, _)| k1.cmp(k2)); for (k, hs) in vec1.into_iter() { - write!(f, "Node: {:?} --", k)?; + write!(f, "Node: {k:?} --")?; let mut vec = hs.into_iter().collect::>(); vec.sort_unstable(); - writeln!(f, " Dominators: {:?}", vec)?; + writeln!(f, " Dominators: {vec:?}")?; } write!(f, "}}") } diff --git a/calyx/opt/src/analysis/domination_analysis/static_par_domination.rs b/calyx/opt/src/analysis/domination_analysis/static_par_domination.rs index c056018a92..f7d52e8262 100644 --- a/calyx/opt/src/analysis/domination_analysis/static_par_domination.rs +++ b/calyx/opt/src/analysis/domination_analysis/static_par_domination.rs @@ -40,7 +40,7 @@ impl Debug for StaticParDomination { par_ids.sort(); for par_id in par_ids.into_iter() { write!(f, "========")?; - write!(f, "Par Node ID: {:?}", par_id)?; + write!(f, "Par Node ID: {par_id:?}")?; writeln!(f, "========")?; write!(f, "====")?; write!(f, "MUST EXECUTE")?; @@ -54,8 +54,8 @@ impl Debug for StaticParDomination { vec1.sort_by(|(k1, _), (k2, _)| k1.cmp(k2)); for (enable_id, interval) in vec1 { // print enable id -- (interval) - write!(f, "{:?} -- ", enable_id)?; - writeln!(f, "{:?}", interval)?; + write!(f, "{enable_id:?} -- ")?; + writeln!(f, "{interval:?}")?; } } } @@ -71,8 +71,8 @@ impl Debug for StaticParDomination { vec1.sort_by(|(k1, _), (k2, _)| k1.cmp(k2)); for (enable_id, interval) in vec1 { // print enable id -- (interval) - write!(f, "{:?} -- ", enable_id)?; - writeln!(f, "{:?}", interval)?; + write!(f, "{enable_id:?} -- ")?; + writeln!(f, "{interval:?}")?; } } } diff --git a/calyx/opt/src/analysis/inference_analysis.rs b/calyx/opt/src/analysis/inference_analysis.rs index 6a7e4b4e8a..ef3ba539ca 100644 --- a/calyx/opt/src/analysis/inference_analysis.rs +++ b/calyx/opt/src/analysis/inference_analysis.rs @@ -477,7 +477,7 @@ impl InferenceAnalysis { } } - log::debug!("SUCCESS: Latency = {}", latency_sum); + log::debug!("SUCCESS: Latency = {latency_sum}"); Some(latency_sum) } diff --git a/calyx/opt/src/analysis/live_range_analysis.rs b/calyx/opt/src/analysis/live_range_analysis.rs index d999f6ed4c..7d6525b543 100644 --- a/calyx/opt/src/analysis/live_range_analysis.rs +++ b/calyx/opt/src/analysis/live_range_analysis.rs @@ -93,7 +93,7 @@ impl Debug for Prop { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "{{")?; let names = self.map.iter().flat_map(|(_, ids)| ids).join(", "); - write!(f, "{}", names)?; + write!(f, "{names}")?; write!(f, "}}") } } @@ -338,7 +338,7 @@ impl Debug for LiveRangeAnalysis { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { writeln!(f, "Live variables {{")?; for (k, v) in self.live.iter() { - writeln!(f, " {}: {:?}", k, v)?; + writeln!(f, " {k}: {v:?}")?; } write!(f, "}}") } @@ -679,7 +679,7 @@ impl LiveRangeAnalysis { &self .live .get(node) - .unwrap_or_else(|| panic!("Live set missing for {}", node)) + .unwrap_or_else(|| panic!("Live set missing for {node}")) .map } diff --git a/calyx/opt/src/analysis/promotion_analysis.rs b/calyx/opt/src/analysis/promotion_analysis.rs index c6f56e6ec6..9b2b89f3a0 100644 --- a/calyx/opt/src/analysis/promotion_analysis.rs +++ b/calyx/opt/src/analysis/promotion_analysis.rs @@ -12,8 +12,7 @@ impl PromotionAnalysis { fn check_latencies_match(actual: u64, inferred: u64) { assert_eq!( actual, inferred, - "Inferred and Annotated Latencies do not match. Latency: {}. Inferred: {}", - actual, inferred + "Inferred and Annotated Latencies do not match. Latency: {actual}. Inferred: {inferred}" ); } diff --git a/calyx/opt/src/analysis/reaching_defns.rs b/calyx/opt/src/analysis/reaching_defns.rs index 3ff9283829..93e5eadba7 100644 --- a/calyx/opt/src/analysis/reaching_defns.rs +++ b/calyx/opt/src/analysis/reaching_defns.rs @@ -495,7 +495,7 @@ fn build_reaching_def_static( .unwrap_or_else(|| ir::Id::from("")) == "std_reg" { - let name = format!("{}{}", INVOKE_PREFIX, counter); + let name = format!("{INVOKE_PREFIX}{counter}"); rd.meta.attach_label_static( invoke, ir::Id::from(name.clone()), @@ -647,7 +647,7 @@ fn build_reaching_def( .unwrap_or_else(|| ir::Id::from("")) == "std_reg" { - let name = format!("{}{}", INVOKE_PREFIX, counter); + let name = format!("{INVOKE_PREFIX}{counter}"); rd.meta.attach_label( invoke, ir::Id::from(name.clone()), diff --git a/calyx/opt/src/analysis/static_fsm.rs b/calyx/opt/src/analysis/static_fsm.rs index 30e9bd3ac2..353482b529 100644 --- a/calyx/opt/src/analysis/static_fsm.rs +++ b/calyx/opt/src/analysis/static_fsm.rs @@ -210,7 +210,7 @@ impl StaticFSM { builder: &mut ir::Builder, ) -> ir::RRC { // The wire that holds the query - let formatted_name = format!("bw_{}_{}", lb, ub); + let formatted_name = format!("bw_{lb}_{ub}"); let wire: ir::RRC = builder.add_primitive(formatted_name, "std_wire", &[1]); let wire_out = wire.borrow().get("out"); diff --git a/calyx/opt/src/analysis/static_par_timing.rs b/calyx/opt/src/analysis/static_par_timing.rs index 8e555fdf9e..04860ebdda 100644 --- a/calyx/opt/src/analysis/static_par_timing.rs +++ b/calyx/opt/src/analysis/static_par_timing.rs @@ -40,21 +40,21 @@ impl Debug for StaticParTiming { vec.sort_by(|(k1, _), (k2, _)| k1.cmp(k2)); for (par_id, thread_timing_map) in vec.into_iter() { write!(f, "========")?; - write!(f, "Par Node ID: {:?}", par_id)?; + write!(f, "Par Node ID: {par_id:?}")?; writeln!(f, " ========")?; let mut vec1: Vec<(u64, CellTimingMap)> = thread_timing_map.into_iter().collect::>(); vec1.sort_by(|(k1, _), (k2, _)| k1.cmp(k2)); for (thread_id, cell_timing_map) in vec1 { write!(f, "====")?; - write!(f, "Child/Thread ID: {:?}", thread_id)?; + write!(f, "Child/Thread ID: {thread_id:?}")?; writeln!(f, " ====")?; let mut vec2: Vec<(ir::Id, Vec<(u64, u64)>)> = cell_timing_map.into_iter().collect::>(); vec2.sort_by(|(k1, _), (k2, _)| k1.cmp(k2)); for (cell_name, clock_intervals) in vec2 { - write!(f, "{:?} -- ", cell_name)?; - writeln!(f, "{:?}", clock_intervals)?; + write!(f, "{cell_name:?} -- ")?; + writeln!(f, "{clock_intervals:?}")?; } } writeln!(f)? diff --git a/calyx/opt/src/pass_manager.rs b/calyx/opt/src/pass_manager.rs index f515970dc2..acd5ba81d9 100644 --- a/calyx/opt/src/pass_manager.rs +++ b/calyx/opt/src/pass_manager.rs @@ -81,8 +81,7 @@ impl PassManager { let name = Pass::name().to_string(); if self.passes.contains_key(&name) { return Err(Error::misc(format!( - "Pass with name '{}' is already registered.", - name + "Pass with name '{name}' is already registered." )) .into()); } @@ -112,8 +111,7 @@ impl PassManager { ) -> PassResult<()> { if self.aliases.contains_key(&name) { return Err(Error::misc(format!( - "Alias with name '{}' already registered.", - name + "Alias with name '{name}' already registered." )) .into()); } @@ -126,7 +124,7 @@ impl PassManager { } else if self.passes.contains_key(&pass) { vec![pass] } else { - panic!("No pass or alias named: {}", pass) + panic!("No pass or alias named: {pass}") } }) .collect(); @@ -143,7 +141,7 @@ impl PassManager { .map(|p| format!("- {p}")) .collect::>() .join("\n"); - format!("`{pass}' is an alias for pass pipeline:\n{}", pass_str) + format!("`{pass}' is an alias for pass pipeline:\n{pass_str}") }) }) } @@ -171,7 +169,7 @@ impl PassManager { .map(|p| p.to_string()) .collect::>() .join(", "); - writeln!(ret, "- {}: {}", alias, pass_str).unwrap(); + writeln!(ret, "- {alias}: {pass_str}").unwrap(); }); ret } diff --git a/calyx/opt/src/passes/cell_share.rs b/calyx/opt/src/passes/cell_share.rs index 240fbfbbce..f7314568ee 100644 --- a/calyx/opt/src/passes/cell_share.rs +++ b/calyx/opt/src/passes/cell_share.rs @@ -302,7 +302,7 @@ impl CellShare { }) .collect(); let json_share_freqs: Value = json!(printable_share_freqs); - write!(file.get_write(), "{}", json_share_freqs).unwrap() + write!(file.get_write(), "{json_share_freqs}").unwrap() } } } diff --git a/calyx/opt/src/passes/compile_static.rs b/calyx/opt/src/passes/compile_static.rs index 5abb9ca707..72197707a0 100644 --- a/calyx/opt/src/passes/compile_static.rs +++ b/calyx/opt/src/passes/compile_static.rs @@ -204,7 +204,7 @@ impl CompileStatic { }); let wrapper_group = - builder.add_group(format!("while_wrapper_{}", group_name)); + builder.add_group(format!("while_wrapper_{group_name}")); structure!( builder; @@ -241,15 +241,14 @@ impl CompileStatic { let sgroup_name = sgroup.name(); // get the "early reset group". It should exist, since we made an // early_reset group for every static group in the component - let early_reset_name = - self.reset_early_map.get(&sgroup_name).unwrap_or_else(|| { + + + (self.reset_early_map.get(&sgroup_name).unwrap_or_else(|| { unreachable!( "group {} not in self.reset_early_map", sgroup_name ) - }); - - early_reset_name + })) as _ } } diff --git a/calyx/opt/src/passes/group_to_invoke.rs b/calyx/opt/src/passes/group_to_invoke.rs index fe3b22afcc..70d414afb5 100644 --- a/calyx/opt/src/passes/group_to_invoke.rs +++ b/calyx/opt/src/passes/group_to_invoke.rs @@ -125,7 +125,7 @@ fn construct_invoke( // Need to create a new wire let width = assign.dst.borrow().width; let wire = builder.add_primitive( - format!("{}_guarded_wire", name), + format!("{name}_guarded_wire"), "std_wire", &[width], ); @@ -286,8 +286,7 @@ impl GroupToInvoke { if assign.dst == go_port { if go_wr_cnt > 0 { log::info!( - "Cannot transform `{}` due to multiple writes to @go port", - group_name, + "Cannot transform `{group_name}` due to multiple writes to @go port", ); return; } else if !assign.guard.is_true() { @@ -310,8 +309,7 @@ impl GroupToInvoke { if assign.src == done_port { if done_wr_cnt > 0 { log::info!( - "Cannot transform `{}` due to multiple writes to @done port", - group_name, + "Cannot transform `{group_name}` due to multiple writes to @done port", ); return; } else if !assign.guard.is_true() { @@ -334,14 +332,12 @@ impl GroupToInvoke { if go_wr_cnt != 1 { log::info!( - "Cannot transform `{}` because there are no writes to @go port", - group_name + "Cannot transform `{group_name}` because there are no writes to @go port" ); return; } else if done_wr_cnt != 1 { log::info!( - "Cannot transform `{}` because there are no writes to @done port", - group_name + "Cannot transform `{group_name}` because there are no writes to @done port" ); return; } diff --git a/calyx/opt/src/passes/lower_guards.rs b/calyx/opt/src/passes/lower_guards.rs index 3748cbec9f..5a4bddea29 100644 --- a/calyx/opt/src/passes/lower_guards.rs +++ b/calyx/opt/src/passes/lower_guards.rs @@ -51,7 +51,7 @@ fn lower_guard( let r_low = lower_guard(*r, assigns, builder); let prim = maybe_prim.unwrap(); - let prim_name = format!("std_{}", prim); + let prim_name = format!("std_{prim}"); let prim_cell = builder.add_primitive(prim, prim_name, &[l_low.borrow().width]); let prim = prim_cell.borrow(); @@ -71,7 +71,7 @@ fn lower_guard( ir::Guard::CompOp(_, l, r) => { let prim = maybe_prim.unwrap(); - let prim_name = format!("std_{}", prim); + let prim_name = format!("std_{prim}"); let prim_cell = builder.add_primitive(prim, prim_name, &[l.borrow().width]); let prim = prim_cell.borrow(); diff --git a/calyx/opt/src/passes/papercut.rs b/calyx/opt/src/passes/papercut.rs index 16f59d0c52..6e118f5e91 100644 --- a/calyx/opt/src/passes/papercut.rs +++ b/calyx/opt/src/passes/papercut.rs @@ -53,7 +53,7 @@ impl Papercut { .join(", ") }) .join("; "); - format!("{}: [{}]", prim, writes) + format!("{prim}: [{writes}]") }) .join("\n") } @@ -278,9 +278,8 @@ impl Papercut { .join(", "); let msg = format!( "Required signal not driven inside the group.\ - \nWhen reading the port `{}.{}', the ports [{}] must be written to.\ - \nThe primitive type `{}' requires this invariant.", - inst, read, missing, comp_type + \nWhen reading the port `{inst}.{read}', the ports [{missing}] must be written to.\ + \nThe primitive type `{comp_type}' requires this invariant." ); self.diag.err(Error::papercut(msg).with_pos(pos)); } @@ -307,13 +306,12 @@ impl Papercut { let missing = diff .drain() .sorted() - .map(|port| format!("{}.{}", inst, port)) + .map(|port| format!("{inst}.{port}")) .join(", "); let msg = format!( "Required signal not driven inside the group. \ - When writing to the port `{}.{}', the ports [{}] must also be written to. \ - The primitive type `{}' specifies this using a @write_together spec.", - inst, first, missing, comp_type + When writing to the port `{inst}.{first}', the ports [{missing}] must also be written to. \ + The primitive type `{comp_type}' specifies this using a @write_together spec." ); self.diag.err(Error::papercut(msg).with_pos(pos)); } diff --git a/calyx/opt/src/passes/profiler_instrumentation.rs b/calyx/opt/src/passes/profiler_instrumentation.rs index f0be4402cb..0d0cbbfd35 100644 --- a/calyx/opt/src/passes/profiler_instrumentation.rs +++ b/calyx/opt/src/passes/profiler_instrumentation.rs @@ -381,7 +381,7 @@ fn create_assignments( for group_name in group_names.iter() { // store group and component name (differentiate between groups of the same name under different components) let name = - format!("{}{}{}_group_probe", group_name, delimiter, comp_name); + format!("{group_name}{delimiter}{comp_name}_group_probe"); let probe_cell = builder.add_primitive(name, "std_wire", &[1]); let probe_asgn: ir::Assignment = builder.build_assignment( probe_cell.borrow().get("in"), @@ -401,12 +401,7 @@ fn create_assignments( for (invoked_group_name, parent_groups) in sem.iter() { for (parent_group, guard) in parent_groups.iter() { let probe_cell_name = format!( - "{}{}{}{}{}_se_probe", - invoked_group_name, - delimiter, - parent_group, - delimiter, - comp_name + "{invoked_group_name}{delimiter}{parent_group}{delimiter}{comp_name}_se_probe" ); let probe_cell = builder.add_primitive(probe_cell_name, "std_wire", &[1]); @@ -433,12 +428,7 @@ fn create_assignments( for (invoker_group, invoked_cells) in cell_invoke_map.iter() { for (invoked_cell, guard) in invoked_cells { let probe_cell_name = format!( - "{}{}{}{}{}_cell_probe", - invoked_cell, - delimiter, - invoker_group, - delimiter, - comp_name + "{invoked_cell}{delimiter}{invoker_group}{delimiter}{comp_name}_cell_probe" ); let probe_cell = builder.add_primitive(probe_cell_name, "std_wire", &[1]); @@ -466,8 +456,7 @@ fn create_assignments( for (group, primitive_invs) in primitive_invoke_map.iter() { for (primitive_cell_name, guard) in primitive_invs.iter() { let probe_cell_name = format!( - "{}{}{}{}{}_primitive_probe", - primitive_cell_name, delimiter, group, delimiter, comp_name + "{primitive_cell_name}{delimiter}{group}{delimiter}{comp_name}_primitive_probe" ); let probe_cell = builder.add_primitive(probe_cell_name, "std_wire", &[1]); diff --git a/calyx/opt/src/passes/simplify_with_control.rs b/calyx/opt/src/passes/simplify_with_control.rs index 1be27c8a2a..d9c16b0878 100644 --- a/calyx/opt/src/passes/simplify_with_control.rs +++ b/calyx/opt/src/passes/simplify_with_control.rs @@ -106,8 +106,7 @@ impl Visitor for SimplifyWithControl { // Register the ports read by the combinational group's usages. let used_ports = used_ports.remove(&name).ok_or_else(|| { Error::malformed_structure(format!( - "values from combinational group `{}` never used", - name + "values from combinational group `{name}` never used" )) })?; diff --git a/calyx/opt/src/passes/top_down_compile_control.rs b/calyx/opt/src/passes/top_down_compile_control.rs index a6120f8023..fb75fca3c9 100644 --- a/calyx/opt/src/passes/top_down_compile_control.rs +++ b/calyx/opt/src/passes/top_down_compile_control.rs @@ -405,12 +405,12 @@ impl Schedule<'_, '_> { /// Print out the current schedule fn display(&self, group: String) { let out = &mut std::io::stdout(); - writeln!(out, "======== {} =========", group).unwrap(); + writeln!(out, "======== {group} =========").unwrap(); self.enables .iter() .sorted_by(|(k1, _), (k2, _)| k1.cmp(k2)) .for_each(|(state, assigns)| { - writeln!(out, "{}:", state).unwrap(); + writeln!(out, "{state}:").unwrap(); assigns.iter().for_each(|assign| { Printer::write_assignment(assign, 2, out).unwrap(); writeln!(out).unwrap(); @@ -521,7 +521,7 @@ impl Schedule<'_, '_> { let fsm_name = if num_regs == 1 { "fsm".to_string() } else { - format!("fsm{}", n) + format!("fsm{n}") }; builder.add_primitive( fsm_name.as_str(), diff --git a/calyx/opt/src/passes/uniquefy_enables.rs b/calyx/opt/src/passes/uniquefy_enables.rs index 8bb15b7476..a43de76495 100644 --- a/calyx/opt/src/passes/uniquefy_enables.rs +++ b/calyx/opt/src/passes/uniquefy_enables.rs @@ -211,7 +211,7 @@ fn compute_path_descriptors_static( ) { match control { ir::StaticControl::Repeat(ir::StaticRepeat { body, .. }) => { - let body_id = format!("{}-b", current_id); + let body_id = format!("{current_id}-b"); compute_path_descriptors_static( body, body_id, @@ -222,7 +222,7 @@ fn compute_path_descriptors_static( ir::StaticControl::Enable(ir::StaticEnable { group, .. }) => { let group_id = if parent_is_component { // edge case: the entire control is just one static enable - format!("{}0", current_id) + format!("{current_id}0") } else { current_id }; @@ -232,9 +232,9 @@ fn compute_path_descriptors_static( .insert(group_name.to_string(), group_id); } ir::StaticControl::Par(ir::StaticPar { stmts, .. }) => { - let par_id = format!("{}-", current_id); + let par_id = format!("{current_id}-"); for (acc, stmt) in stmts.iter().enumerate() { - let stmt_id = format!("{}{}", par_id, acc); + let stmt_id = format!("{par_id}{acc}"); compute_path_descriptors_static( stmt, stmt_id, @@ -246,7 +246,7 @@ fn compute_path_descriptors_static( } ir::StaticControl::Seq(ir::StaticSeq { stmts, .. }) => { for (acc, stmt) in stmts.iter().enumerate() { - let stmt_id = format!("{}-{}", current_id, acc); + let stmt_id = format!("{current_id}-{acc}"); compute_path_descriptors_static( stmt, stmt_id, @@ -259,7 +259,7 @@ fn compute_path_descriptors_static( tbranch, fbranch, .. }) => { // process true branch - let true_id = format!("{}-t", current_id); + let true_id = format!("{current_id}-t"); compute_path_descriptors_static( tbranch, true_id, @@ -267,7 +267,7 @@ fn compute_path_descriptors_static( false, ); // process false branch - let false_id = format!("{}-f", current_id); + let false_id = format!("{current_id}-f"); compute_path_descriptors_static( fbranch, false_id, @@ -291,7 +291,7 @@ fn compute_path_descriptors( match control { ir::Control::Seq(ir::Seq { stmts, .. }) => { for (acc, stmt) in stmts.iter().enumerate() { - let stmt_id = format!("{}-{}", current_id, acc); + let stmt_id = format!("{current_id}-{acc}"); compute_path_descriptors( stmt, stmt_id, @@ -301,9 +301,9 @@ fn compute_path_descriptors( } } ir::Control::Par(ir::Par { stmts, .. }) => { - let par_id = format!("{}-", current_id); + let par_id = format!("{current_id}-"); for (acc, stmt) in stmts.iter().enumerate() { - let stmt_id = format!("{}{}", par_id, acc); + let stmt_id = format!("{par_id}{acc}"); compute_path_descriptors( stmt, stmt_id, @@ -317,7 +317,7 @@ fn compute_path_descriptors( tbranch, fbranch, .. }) => { // process true branch - let true_id = format!("{}-t", current_id); + let true_id = format!("{current_id}-t"); compute_path_descriptors( tbranch, true_id, @@ -325,7 +325,7 @@ fn compute_path_descriptors( false, ); // process false branch - let false_id = format!("{}-f", current_id); + let false_id = format!("{current_id}-f"); compute_path_descriptors( fbranch, false_id, @@ -334,7 +334,7 @@ fn compute_path_descriptors( ); } ir::Control::While(ir::While { body, .. }) => { - let body_id = format!("{}-b", current_id); + let body_id = format!("{current_id}-b"); compute_path_descriptors( body, body_id, @@ -345,7 +345,7 @@ fn compute_path_descriptors( ir::Control::Enable(ir::Enable { group, .. }) => { let group_id = if parent_is_component { // edge case: the entire control is just one enable - format!("{}0", current_id) + format!("{current_id}0") } else { current_id }; @@ -355,7 +355,7 @@ fn compute_path_descriptors( .insert(group_name.to_string(), group_id); } ir::Control::Repeat(ir::Repeat { body, .. }) => { - let body_id = format!("{}-b", current_id); + let body_id = format!("{current_id}-b"); compute_path_descriptors( body, body_id, @@ -389,7 +389,7 @@ impl Visitor for UniquefyEnables { ) -> VisResult { let group_name = s.group.borrow().name(); // UG stands for "unique group". This is to separate these names from the original group names - let unique_group_name: String = format!("{}UG", group_name); + let unique_group_name: String = format!("{group_name}UG"); // create an unique-ified version of the group let mut builder = ir::Builder::new(comp, sigs); let unique_group = builder.add_group(unique_group_name); @@ -429,7 +429,7 @@ impl Visitor for UniquefyEnables { ) -> VisResult { let group_name = s.group.borrow().name(); // UG stands for "unique group". This is to separate these names from the original group names - let unique_group_name = format!("{}UG", group_name); + let unique_group_name = format!("{group_name}UG"); // create an unique-ified version of the group let mut builder = ir::Builder::new(comp, sigs); let unique_group = builder.add_static_group( diff --git a/calyx/opt/src/passes/well_formed.rs b/calyx/opt/src/passes/well_formed.rs index f5ed9cf1dd..9d58831f3b 100644 --- a/calyx/opt/src/passes/well_formed.rs +++ b/calyx/opt/src/passes/well_formed.rs @@ -31,13 +31,13 @@ fn port_is_static_prim(port: &ir::Port) -> bool { // if component, then we have to go throuch `comps` to see whether its static // for some reason, need to store result in variable, otherwise it gives a // lifetime error - let res = match parent_cell.borrow().prototype { + + match parent_cell.borrow().prototype { ir::CellType::Primitive { latency, .. } => latency.is_some(), ir::CellType::Component { .. } | ir::CellType::ThisComponent | ir::CellType::Constant { .. } => false, - }; - res + } } #[derive(Default)] @@ -145,16 +145,14 @@ fn require_subtype( } } else { return Err(Error::malformed_control(format!( - "{} does not have ref cell named {}", - id, outcell + "{id} does not have ref cell named {outcell}" ))); } } for id in cell_map.keys() { if !mentioned_cells.contains(id) { return Err(Error::malformed_control(format!( - "unmentioned ref cell: {}", - id + "unmentioned ref cell: {id}" )) .with_pos(invoke.get_attributes())); } @@ -492,8 +490,7 @@ impl Visitor for WellFormed { if has_done { self.diag.err( Error::malformed_structure(format!( - "Group `{}` has multiple done conditions", - gname + "Group `{gname}` has multiple done conditions" )) .with_pos(&assign.attributes), ); @@ -540,15 +537,12 @@ impl Visitor for WellFormed { >= static_timing.get_interval().1 { Err(Error::malformed_structure(format!( - "Static Timing Guard has improper interval: `{}`", - static_timing + "Static Timing Guard has improper interval: `{static_timing}`" )) .with_pos(&assign.attributes)) } else if static_timing.get_interval().1 > group_latency { Err(Error::malformed_structure(format!( - "Static Timing Guard has interval `{}`, which is out of bounds since its static group has latency {}", - static_timing, - group_latency + "Static Timing Guard has interval `{static_timing}`, which is out of bounds since its static group has latency {group_latency}" )) .with_pos(&assign.attributes)) } else { diff --git a/calyx/opt/src/passes/wire_inliner.rs b/calyx/opt/src/passes/wire_inliner.rs index 813c59d9ce..dd907fbbc9 100644 --- a/calyx/opt/src/passes/wire_inliner.rs +++ b/calyx/opt/src/passes/wire_inliner.rs @@ -154,12 +154,12 @@ impl Visitor for WireInliner { .map(|gr| { let name = gr.borrow().name(); let go = builder.add_primitive( - format!("{}_go", name), + format!("{name}_go"), "std_wire", &[1], ); let done = builder.add_primitive( - format!("{}_done", name), + format!("{name}_done"), "std_wire", &[1], ); @@ -174,12 +174,12 @@ impl Visitor for WireInliner { .map(|fsm| { let name = fsm.borrow().name(); let start = builder.add_primitive( - format!("{}_start", name), + format!("{name}_start"), "std_wire", &[1], ); let done = builder.add_primitive( - format!("{}_done", name), + format!("{name}_done"), "std_wire", &[1], ); diff --git a/calyx/opt/src/passes_experimental/discover_external.rs b/calyx/opt/src/passes_experimental/discover_external.rs index 3990cc8c56..9aa542393a 100644 --- a/calyx/opt/src/passes_experimental/discover_external.rs +++ b/calyx/opt/src/passes_experimental/discover_external.rs @@ -55,12 +55,11 @@ impl ConstructVisitor for DiscoverExternal { let Some(val) = splits.next().and_then(|v| v.parse().ok()) else { log::warn!( - "Failed to parse default value. Please specify using -x {}:default=", - n + "Failed to parse default value. Please specify using -x {n}:default=" ); continue; }; - log::info!("Setting default value to {}", val); + log::info!("Setting default value to {val}"); default = Some(val); } @@ -68,12 +67,11 @@ impl ConstructVisitor for DiscoverExternal { else if spl == Some("strip-suffix") { let Some(suff) = splits.next() else { log::warn!( - "Failed to parse suffix. Please specify using -x {}:strip-suffix=", - n + "Failed to parse suffix. Please specify using -x {n}:strip-suffix=" ); continue; }; - log::info!("Setting suffix to {}", suff); + log::info!("Setting suffix to {suff}"); suffix = Some(suff.to_string()); } @@ -171,7 +169,7 @@ impl Visitor for DiscoverExternal { // Add external cells for all matching prefixes let mut pre_to_cells = LinkedHashMap::new(); for (pre, &prim) in &pre_to_prim { - log::info!("Prefix {} matches primitive {}", pre, prim); + log::info!("Prefix {pre} matches primitive {prim}"); // Attempt to infer the parameters for the external cell let prim_sig = sigs.get_primitive(prim); let ports = &port_map[pre]; diff --git a/calyx/opt/src/passes_experimental/register_unsharing.rs b/calyx/opt/src/passes_experimental/register_unsharing.rs index a07f2c5d51..d1de877039 100644 --- a/calyx/opt/src/passes_experimental/register_unsharing.rs +++ b/calyx/opt/src/passes_experimental/register_unsharing.rs @@ -116,7 +116,7 @@ impl Bookkeeper { for defs in &sets[1..] { let new_name = builder .add_primitive( - format!("unshr_{}", name), + format!("unshr_{name}"), "std_reg", &[*self.widths.get(name).unwrap()], ) diff --git a/calyx/opt/src/passes_experimental/sync/compile_sync.rs b/calyx/opt/src/passes_experimental/sync/compile_sync.rs index 2bb8a4e551..c713367b90 100644 --- a/calyx/opt/src/passes_experimental/sync/compile_sync.rs +++ b/calyx/opt/src/passes_experimental/sync/compile_sync.rs @@ -13,6 +13,7 @@ use std::rc::Rc; /// 2. add all cells and groups needed /// 3. loop through all control statements, find the statements with @sync /// attribute and replace them with +/// ```ignore /// seq { /// ; /// incr_barrier_0_*; @@ -28,6 +29,7 @@ use std::rc::Rc; /// wait_*; /// wait_restore_*; /// } +/// ``` pub struct CompileSync { barriers: BarrierMap, } diff --git a/calyx/opt/src/passes_experimental/sync/compile_sync_without_sync_reg.rs b/calyx/opt/src/passes_experimental/sync/compile_sync_without_sync_reg.rs index d99ed5ac7c..b31487511e 100644 --- a/calyx/opt/src/passes_experimental/sync/compile_sync_without_sync_reg.rs +++ b/calyx/opt/src/passes_experimental/sync/compile_sync_without_sync_reg.rs @@ -156,7 +156,7 @@ fn insert_barrier( let con_ref = barrier_con.entry(*n).or_insert_with(|| { build_barrier_group(builder, n, barrier_reg) }); - std::mem::swap(con, &mut ir::Cloner::control(con_ref)); + *con = ir::Cloner::control(con_ref); } Ok(()) } diff --git a/calyx/opt/src/traversal/construct.rs b/calyx/opt/src/traversal/construct.rs index ef4a3be4c0..1e07d1badf 100644 --- a/calyx/opt/src/traversal/construct.rs +++ b/calyx/opt/src/traversal/construct.rs @@ -3,7 +3,6 @@ use calyx_ir as ir; use calyx_utils::{CalyxResult, OutputFile}; use itertools::Itertools; use linked_hash_map::LinkedHashMap; -use std::iter; #[derive(Clone)] /// The value returned from parsing an option. @@ -66,7 +65,7 @@ impl ParseVal { } list.into_iter() .map(Some) - .chain(iter::repeat(None).take(N - len)) + .chain(std::iter::repeat_n(None, N - len)) .collect::>() .try_into() .unwrap() @@ -102,7 +101,7 @@ impl std::fmt::Display for ParseVal { } write!(f, "]") } - ParseVal::OutStream(o) => write!(f, "{}", o), + ParseVal::OutStream(o) => write!(f, "{o}"), } } } diff --git a/calyx/utils/src/errors.rs b/calyx/utils/src/errors.rs index b087d017aa..5c9934a066 100644 --- a/calyx/utils/src/errors.rs +++ b/calyx/utils/src/errors.rs @@ -37,7 +37,7 @@ impl std::fmt::Debug for Error { } } if let Some(post) = &self.post_msg { - write!(f, "\n{}", post)?; + write!(f, "\n{post}")?; } Ok(()) } @@ -237,7 +237,7 @@ impl std::fmt::Display for ErrorKind { use ErrorKind::*; match self { Papercut(msg) => { - write!(f, "[Papercut] {}", msg) + write!(f, "[Papercut] {msg}") } Unused(name, typ) => { write!(f, "Unused {typ} `{name}'") @@ -278,13 +278,13 @@ impl From for Error { impl From for Error { fn from(e: std::io::Error) -> Self { - Error::write_error(format!("IO Error: {}", e)) + Error::write_error(format!("IO Error: {e}")) } } impl From for Error { fn from(e: serde_json::Error) -> Self { - Error::write_error(format!("serde_json Error: {}", e)) + Error::write_error(format!("serde_json Error: {e}")) } } diff --git a/calyx/utils/src/float.rs b/calyx/utils/src/float.rs index 675fb03f17..17bb93f086 100644 --- a/calyx/utils/src/float.rs +++ b/calyx/utils/src/float.rs @@ -40,11 +40,11 @@ pub fn emit(bits: u64, width: u64) -> CalyxResult { match width { 32 => { let fl = f32::from_bits(bits as u32); - Ok(format!("{}", fl)) + Ok(format!("{fl}")) } 64 => { let fl = f64::from_bits(bits); - Ok(format!("{}", fl)) + Ok(format!("{fl}")) } r => Err(Error::misc(format!( "Unsupported floating point width: {r}. Supported values: 32, 64" diff --git a/calyx/utils/src/position.rs b/calyx/utils/src/position.rs index 8692710061..f82b680d72 100644 --- a/calyx/utils/src/position.rs +++ b/calyx/utils/src/position.rs @@ -199,14 +199,14 @@ impl GPosIdx { let mut buf = String::new(); let l = lines[0]; - let linum_text = format!("{} ", linum); + let linum_text = format!("{linum} "); let linum_space: String = " ".repeat(linum_text.len()); let mark: String = "^".repeat(cmp::min( pos_d.end - pos_d.start, l.len() - (pos_d.start - pos), )); let space: String = " ".repeat(pos_d.start - pos); - writeln!(buf, "{}|{}", linum_text, l).unwrap(); + writeln!(buf, "{linum_text}|{l}").unwrap(); write!( buf, "{}|{}{} {}", @@ -240,8 +240,8 @@ impl GPosIdx { pub fn show(&self) -> String { let (lines, _, linum) = self.get_lines(); let l = lines[0]; - let linum_text = format!("{} ", linum); - format!("{}|{}\n", linum_text, l) + let linum_text = format!("{linum} "); + format!("{linum_text}|{l}\n") } } diff --git a/calyx/utils/src/weight_graph.rs b/calyx/utils/src/weight_graph.rs index 54fbd24958..989634feaf 100644 --- a/calyx/utils/src/weight_graph.rs +++ b/calyx/utils/src/weight_graph.rs @@ -154,6 +154,6 @@ impl Display for WeightGraph { }) .collect::>() .join("\n"); - write!(f, "graph {{ \n{}\n{}\n }}", nodes, edges) + write!(f, "graph {{ \n{nodes}\n{edges}\n }}") } } diff --git a/cider/dap/src/error.rs b/cider/dap/src/error.rs index 2aff9b76ee..be47a85032 100644 --- a/cider/dap/src/error.rs +++ b/cider/dap/src/error.rs @@ -6,7 +6,7 @@ use dap::requests::Command; pub enum MyAdapterError { /// Represents an unhandled command error. #[error("Unhandled command: {0:?}")] - UnhandledCommandError(Command), + UnhandledCommandError(Box), /// Represents an error when unable to parse the file. #[error("Unable to parse the file: {0}")] diff --git a/cider/dap/src/main.rs b/cider/dap/src/main.rs index e980787f23..e5de3731c1 100644 --- a/cider/dap/src/main.rs +++ b/cider/dap/src/main.rs @@ -115,9 +115,9 @@ where } unknown_command => { - return Err(MyAdapterError::UnhandledCommandError( + return Err(MyAdapterError::UnhandledCommandError(Box::new( unknown_command.clone(), - )); + ))); } } @@ -351,9 +351,9 @@ fn run_server( } unknown_command => { - return Err(MyAdapterError::UnhandledCommandError( + return Err(MyAdapterError::UnhandledCommandError(Box::new( unknown_command.clone(), - )); + ))); } } } diff --git a/cider/src/configuration.rs b/cider/src/configuration.rs index 91f77bacc1..d94721ef0a 100644 --- a/cider/src/configuration.rs +++ b/cider/src/configuration.rs @@ -103,8 +103,7 @@ impl FromArgValue for ColorConfig { "false" | "0" | "off" => Ok(ColorConfig::Off), "infer" | "auto " => Ok(ColorConfig::Auto), _ => Err(format!( - "Invalid color configuration: '{}'. Expected 'on', 'off', or 'auto'.", - value + "Invalid color configuration: '{value}'. Expected 'on', 'off', or 'auto'." )), } } diff --git a/cider/src/debugger/commands/core.rs b/cider/src/debugger/commands/core.rs index d9aadfd348..14fa026a60 100644 --- a/cider/src/debugger/commands/core.rs +++ b/cider/src/debugger/commands/core.rs @@ -336,7 +336,7 @@ impl PrintTuple { string, " {}", match &self.1 { - Some(s) => format!("{}", s), + Some(s) => format!("{s}"), None => "".to_string(), } ) diff --git a/cider/src/debugger/debugger_core.rs b/cider/src/debugger/debugger_core.rs index 5963df7551..8c0f0fff8d 100644 --- a/cider/src/debugger/debugger_core.rs +++ b/cider/src/debugger/debugger_core.rs @@ -741,7 +741,7 @@ impl + Clone> Debugger { code, name_override.as_deref(), ) { - println!("{}", state); + println!("{state}"); return Ok(()); } else { println!("{}","Target cell has no internal state, printing port information instead".stylize_warning()); diff --git a/cider/src/debugger/debugging_context/context.rs b/cider/src/debugger/debugging_context/context.rs index 1712915c1d..9347c7225e 100644 --- a/cider/src/debugger/debugging_context/context.rs +++ b/cider/src/debugger/debugging_context/context.rs @@ -528,7 +528,7 @@ impl + Clone> DebuggingContext { } } else if matches!(target, BreakpointID::Name(_)) { let name = target.as_name().unwrap(); - let name = format!("{:?}", name); + let name = format!("{name:?}"); println!( "Error: There is no breakpoint named '{}'", name.stylize_debugger_missing() @@ -713,7 +713,7 @@ impl + Clone> DebuggingContext { } pub fn print_breakpoints(&self, ctx: &Context) { - println!("{}Current breakpoints:", SPACING); + println!("{SPACING}Current breakpoints:"); for (breakpoint_idx, breakpoint) in self .breakpoints .iter() @@ -724,7 +724,7 @@ impl + Clone> DebuggingContext { } pub fn print_watchpoints(&self, env: &Environment) { - println!("{}Current watchpoints:", SPACING); + println!("{SPACING}Current watchpoints:"); let inner_spacing = SPACING.to_string() + " "; let outer_spacing = SPACING.to_string() + " "; @@ -800,7 +800,7 @@ pub fn format_control_node(ctx: &Context, control_idx: ControlIdx) -> String { } _ => { let string_path = ctx.string_path(control_idx, name); - format!("{parent_name}: {}", string_path) + format!("{parent_name}: {string_path}") } } } diff --git a/cider/src/flatten/flat_ir/identifier.rs b/cider/src/flatten/flat_ir/identifier.rs index ac9e6533dd..94a528f32f 100644 --- a/cider/src/flatten/flat_ir/identifier.rs +++ b/cider/src/flatten/flat_ir/identifier.rs @@ -101,8 +101,8 @@ impl CanonicalIdentifier { let port = resolver.lookup_string(name).unwrap(); match name_type { NameType::Interface => port.to_string(), - NameType::Group => format!("{}[{}]", parent, port), - NameType::Cell => format!("{}.{}", parent, port), + NameType::Group => format!("{parent}[{port}]"), + NameType::Cell => format!("{parent}.{port}"), } } CanonicalIdentifier::Literal { width, val } => { diff --git a/cider/src/flatten/flat_ir/indexes.rs b/cider/src/flatten/flat_ir/indexes.rs index 33d4073d0c..e40eba6f6b 100644 --- a/cider/src/flatten/flat_ir/indexes.rs +++ b/cider/src/flatten/flat_ir/indexes.rs @@ -468,7 +468,7 @@ impl std::fmt::Debug for AssignedValue { impl std::fmt::Display for AssignedValue { // TODO: replace with something more reasonable fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self) + write!(f, "{self:?}") } } diff --git a/cider/src/flatten/structures/context.rs b/cider/src/flatten/structures/context.rs index 35feed8f43..02ad8401aa 100644 --- a/cider/src/flatten/structures/context.rs +++ b/cider/src/flatten/structures/context.rs @@ -442,7 +442,7 @@ impl Context { self.secondary[comp].definitions.groups().iter().find(|x| { let grp_info = &self.primary[*x]; grp_info.done == l || grp_info.go == l - }).unwrap_or_else(|| panic!("Port {:?} does not belong to any normal cell in the given component", l)).into() + }).unwrap_or_else(|| panic!("Port {l:?} does not belong to any normal cell in the given component")).into() } diff --git a/cider/src/flatten/structures/environment/env.rs b/cider/src/flatten/structures/environment/env.rs index fec50c071e..abf7bf73d7 100644 --- a/cider/src/flatten/structures/environment/env.rs +++ b/cider/src/flatten/structures/environment/env.rs @@ -399,11 +399,10 @@ impl + Clone> Environment { &self, ) -> impl Iterator)> { let env = self; - let cell_names = self.cells.iter().map(|(idx, _ledger)| { - (idx.get_full_name(env), self.ports_helper(idx)) - }); - cell_names + self.cells.iter().map(|(idx, _ledger)| { + (idx.get_full_name(env), self.ports_helper(idx)) + }) // get parent from cell, if not exist then lookup component ledger get base idxs, go to context and get signature to get ports // for cells, same thing but in the cell ledger, subtract child offset from parent offset to get local offset, lookup in cell offset in component info } @@ -414,27 +413,27 @@ impl + Clone> Environment { match parent { None => { let ports = self.get_ports_from_cell(cell); - let info = ports + + ports .map(|(name, id)| { ( (name.lookup_name(self.ctx())).clone(), self.ports[id].clone(), ) }) - .collect_vec(); - info + .collect_vec() } Some(parent_cell) => { let ports = self.get_ports_from_cell(parent_cell); - let info = ports + + ports .map(|(name, id)| { ( (name.lookup_name(self.ctx())).clone(), self.ports[id].clone(), ) }) - .collect_vec(); - info + .collect_vec() } } } @@ -2567,10 +2566,10 @@ impl + Clone> BaseSimulator { /// /// 1. For successful assignments, check reads from the source port if applicable /// 2. For non-continuous/combinational contexts, check all reads performed - /// by the guard regardless of whether the assignment fired or not + /// by the guard regardless of whether the assignment fired or not /// 3. For continuous/combinational contexts, update the transitive reads of - /// the value in the destination with the reads done by the guard, - /// regardless of success + /// the value in the destination with the reads done by the guard, + /// regardless of success fn handle_reads( &mut self, assigns_bundle: &[ScheduledAssignments], diff --git a/cider/src/flatten/structures/printer.rs b/cider/src/flatten/structures/printer.rs index be38d1d189..ca1be094b8 100644 --- a/cider/src/flatten/structures/printer.rs +++ b/cider/src/flatten/structures/printer.rs @@ -258,7 +258,7 @@ impl<'a> Printer<'a> { out += &text_utils::indent("}", indent); if !f_branch.is_empty() { - out += &format!(" else {{\n{}\n", f_branch); + out += &format!(" else {{\n{f_branch}\n"); out += &(text_utils::indent("}\n", indent)); } @@ -292,7 +292,7 @@ impl<'a> Printer<'a> { if !i.ref_cells.is_empty() { let ref_cells = self.format_invoke_ref_cell_list(i, parent); - out += &format!("[{}]", ref_cells); + out += &format!("[{ref_cells}]"); } let inputs = self.format_invoke_port_lists(&i.signature.inputs, parent); @@ -388,16 +388,16 @@ impl<'a> Printer<'a> { Guard::Or(l, r) => { let l = self.format_guard(parent, *l); let r = self.format_guard(parent, *r); - format!("({} | {})", l, r) + format!("({l} | {r})") } Guard::And(l, r) => { let l = self.format_guard(parent, *l); let r = self.format_guard(parent, *r); - format!("({} & {})", l, r) + format!("({l} & {r})") } Guard::Not(n) => { let n = self.format_guard(parent, *n); - format!("!{}", n) + format!("!{n}") } Guard::Comp(op, l, r) => { let l = self.lookup_id_from_port(parent, *l); @@ -428,7 +428,7 @@ impl<'a> Printer<'a> { let guard = if guard.is_empty() { guard } else { - format!("{} ? ", guard) + format!("{guard} ? ") }; format!( diff --git a/cider/src/serialization/formatting.rs b/cider/src/serialization/formatting.rs index 346f954746..208e36e0d7 100644 --- a/cider/src/serialization/formatting.rs +++ b/cider/src/serialization/formatting.rs @@ -36,11 +36,11 @@ impl Shape { pub fn as_string(&self) -> String { match self { - Shape::D1(d0) => format!("({})", d0), - Shape::D2(d0, d1) => format!("({}, {})", d0, d1), - Shape::D3(d0, d1, d2) => format!("({}, {}, {})", d0, d1, d2), + Shape::D1(d0) => format!("({d0})"), + Shape::D2(d0, d1) => format!("({d0}, {d1})"), + Shape::D3(d0, d1, d2) => format!("({d0}, {d1}, {d2})"), Shape::D4(d0, d1, d2, d3) => { - format!("({}, {}, {}, {})", d0, d1, d2, d3) + format!("({d0}, {d1}, {d2}, {d3})") } } } @@ -159,9 +159,9 @@ impl Entry { impl Display for Entry { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - Entry::U(v) => write!(f, "{}", v), - Entry::I(v) => write!(f, "{}", v), - Entry::Frac(v) => write!(f, "{}", v), + Entry::U(v) => write!(f, "{v}"), + Entry::I(v) => write!(f, "{v}"), + Entry::Frac(v) => write!(f, "{v}"), Entry::Value(v) => write!(f, "{}", v.to_bit_str()), } } @@ -169,7 +169,7 @@ impl Display for Entry { impl Debug for Entry { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", self) + write!(f, "{self}") } } @@ -198,9 +198,9 @@ impl Display for PrintCode { PrintCode::Unsigned => "\\u".stylize_print_code().to_string(), PrintCode::Signed => "\\s".stylize_print_code().to_string(), PrintCode::UFixed(n) => - format!("\\u.{}", n).stylize_print_code().to_string(), + format!("\\u.{n}").stylize_print_code().to_string(), PrintCode::SFixed(n) => - format!("\\s.{}", n).stylize_print_code().to_string(), + format!("\\s.{n}").stylize_print_code().to_string(), } ) } @@ -223,7 +223,7 @@ impl Display for Serializable { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { Serializable::Empty => write!(f, ""), - Serializable::Val(v) => write!(f, "{}", v), + Serializable::Val(v) => write!(f, "{v}"), Serializable::Array(arr, shape) => { write!(f, "{}", format_array(arr, shape)) } @@ -310,7 +310,7 @@ fn format_array(arr: &[Entry], shape: &Shape) -> String { .into_iter() .map(|x| x.into_iter().collect::>()) .collect::>(); - format!("{:?}", mem) + format!("{mem:?}") } Shape::D3(_d0, d1, d2) => { let mem = arr @@ -325,7 +325,7 @@ fn format_array(arr: &[Entry], shape: &Shape) -> String { .collect::>() }) .collect::>(); - format!("{:?}", mem) + format!("{mem:?}") } Shape::D4(_d0, d1, d2, d3) => { let mem = arr @@ -346,10 +346,10 @@ fn format_array(arr: &[Entry], shape: &Shape) -> String { .collect::>() }) .collect::>(); - format!("{:?}", mem) + format!("{mem:?}") } Shape::D1(_) => { - format!("{:?}", arr) + format!("{arr:?}") } } } diff --git a/cider/src/tests/values.rs b/cider/src/tests/values.rs index 77043a8878..b731e92a0e 100644 --- a/cider/src/tests/values.rs +++ b/cider/src/tests/values.rs @@ -4,13 +4,13 @@ mod val_test { #[test] fn basic_print_test() { let v1 = BitVecValue::from_u64(12, 5); - println!("12 with bit width 5: {:?}", v1); + println!("12 with bit width 5: {v1:?}"); assert_eq!(v1.to_u64().unwrap(), 12); } #[test] fn basic_print_test2() { let v1 = BitVecValue::from_u64(33, 6); - println!("33 with bit width 6: {:?}", v1); + println!("33 with bit width 6: {v1:?}"); assert_eq!(v1.to_u64().unwrap(), 33); } @@ -325,7 +325,7 @@ mod property_tests { let mul_big: BigInt = mul.into(); let target: BigInt = in_big * mul_big; let val = BitVecValue::from_big_int(&target, target.magnitude().bits() as WidthInt + 1); - println!("{:?}", val); + println!("{val:?}"); prop_assert_eq!(val.to_big_int(), target) } } diff --git a/fud2/fud-core/src/cli.rs b/fud2/fud-core/src/cli.rs index 725b3e84e6..8a2c586847 100644 --- a/fud2/fud-core/src/cli.rs +++ b/fud2/fud-core/src/cli.rs @@ -360,7 +360,7 @@ fn register_plugin( .canonicalize_utf8() .with_context(|| format!("Can not find `{}`", cmd.filename))?; - println!("Registering {}", full_path); + println!("Registering {full_path}"); let config_path = config::config_path(&driver.name); let contents = fs::read_to_string(&config_path)?; diff --git a/fud2/fud-core/src/exec/driver.rs b/fud2/fud-core/src/exec/driver.rs index 34a04bc311..5eb99112ad 100644 --- a/fud2/fud-core/src/exec/driver.rs +++ b/fud2/fud-core/src/exec/driver.rs @@ -255,7 +255,7 @@ impl Driver { for (_, state) in self.states.iter() { print!(" {}:", state.name); for ext in &state.extensions { - print!(" .{}", ext); + print!(" .{ext}"); } if let Some(src) = &state.source { print!(" ({src})") diff --git a/fud2/fud-core/src/exec/plan/egg_planner.rs b/fud2/fud-core/src/exec/plan/egg_planner.rs index d27fa847fa..731d2d2f48 100644 --- a/fud2/fud-core/src/exec/plan/egg_planner.rs +++ b/fud2/fud-core/src/exec/plan/egg_planner.rs @@ -170,7 +170,7 @@ fn rewrite_from_op( lhs.add(egg::ENodeOrVar::ENode(StateLanguage::C)) } else { lhs.add(egg::ENodeOrVar::Var( - format!("?s{}", i).parse().unwrap(), + format!("?s{i}").parse().unwrap(), )) } }) @@ -184,7 +184,7 @@ fn rewrite_from_op( .iter() .enumerate() .map(|(i, _o)| { - lhs.add(egg::ENodeOrVar::Var(format!("?o{}", i).parse().unwrap())) + lhs.add(egg::ENodeOrVar::Var(format!("?o{i}").parse().unwrap())) }) .collect::>(); let op_pattern = lhs.add(egg::ENodeOrVar::ENode(StateLanguage::Ops( @@ -212,7 +212,7 @@ fn rewrite_from_op( rhs.add(egg::ENodeOrVar::ENode(StateLanguage::X)) } else { rhs.add(egg::ENodeOrVar::Var( - format!("?s{}", i).parse().unwrap(), + format!("?s{i}").parse().unwrap(), )) } }) @@ -230,7 +230,7 @@ fn rewrite_from_op( rhs.add(egg::ENodeOrVar::ENode(StateLanguage::C)) } else { rhs.add(egg::ENodeOrVar::Var( - format!("?o{}", i).parse().unwrap(), + format!("?o{i}").parse().unwrap(), )) } }) diff --git a/fud2/fud-core/src/run.rs b/fud2/fud-core/src/run.rs index 56fb98b610..81418956dd 100644 --- a/fud2/fud-core/src/run.rs +++ b/fud2/fud-core/src/run.rs @@ -64,9 +64,9 @@ impl From for RunError { impl std::fmt::Display for RunError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match &self { - RunError::Io(e) => write!(f, "{}", e), + RunError::Io(e) => write!(f, "{e}"), RunError::MissingConfig(s) => { - write!(f, "missing required config key: {}", s) + write!(f, "missing required config key: {s}") } RunError::InvalidValue { key, @@ -82,10 +82,10 @@ impl std::fmt::Display for RunError { ) } RunError::NinjaFailed(c) => { - write!(f, "ninja exited with {}", c) + write!(f, "ninja exited with {c}") } RunError::RhaiError(eval_alt_result) => { - write!(f, "{}", eval_alt_result) + write!(f, "{eval_alt_result}") } RunError::TimingLog(log_parse_error) => { write!(f, "{log_parse_error}") @@ -165,9 +165,9 @@ pub struct RulesOp { /// `input`, returns a valid Ninja variable name. pub fn io_file_var_name(index: usize, input: bool) -> String { if input { - format!("i{}", index) + format!("i{index}") } else { - format!("o{}", index) + format!("o{index}") } } @@ -327,7 +327,7 @@ impl<'a> Run<'a> { // Show all states. for (state_ref, state) in self.driver.states.iter() { - print!(" {} [", state_ref); + print!(" {state_ref} ["); if let Some(filename) = states.get(&state_ref) { print!( "label=\"{}\n{}\" penwidth=3 fillcolor=gray style=filled", @@ -442,7 +442,7 @@ impl<'a> Run<'a> { .map_err(|e| if let std::io::ErrorKind::NotFound = e.kind() { std::io::Error::new( e.kind(), - format!("{}\nHint: Check ops actually generate all of their targets.", e) + format!("{e}\nHint: Check ops actually generate all of their targets.") ) } else { e @@ -633,13 +633,13 @@ impl Emitter { /// Emit a Ninja variable declaration. pub fn var(&mut self, name: &str, value: &str) -> std::io::Result<()> { - writeln!(self.out, "{} = {}", name, value) + writeln!(self.out, "{name} = {value}") } /// Emit a Ninja rule definition. pub fn rule(&mut self, name: &str, command: &str) -> std::io::Result<()> { - writeln!(self.out, "rule {}", name)?; - writeln!(self.out, " command = {}", command) + writeln!(self.out, "rule {name}")?; + writeln!(self.out, " command = {command}") } /// Emit a simple Ninja build command with one dependency. @@ -662,16 +662,16 @@ impl Emitter { ) -> std::io::Result<()> { write!(self.out, "build")?; for target in targets { - write!(self.out, " {}", target)?; + write!(self.out, " {target}")?; } - write!(self.out, ": {}", rule)?; + write!(self.out, ": {rule}")?; for dep in deps { - write!(self.out, " {}", dep)?; + write!(self.out, " {dep}")?; } if !implicit_deps.is_empty() { write!(self.out, " |")?; for dep in implicit_deps { - write!(self.out, " {}", dep)?; + write!(self.out, " {dep}")?; } } writeln!(self.out)?; @@ -700,7 +700,7 @@ impl Emitter { /// Emit a Ninja comment. pub fn comment(&mut self, text: &str) -> std::io::Result<()> { - writeln!(self.out, "# {}", text)?; + writeln!(self.out, "# {text}")?; Ok(()) } @@ -720,7 +720,7 @@ impl Emitter { /// Add a variable parameter to a rule or build command. pub fn arg(&mut self, name: &str, value: &str) -> std::io::Result<()> { - writeln!(self.out, " {} = {}", name, value)?; + writeln!(self.out, " {name} = {value}")?; Ok(()) } diff --git a/fud2/fud-core/src/script/plugin.rs b/fud2/fud-core/src/script/plugin.rs index 4b3dfde45e..72266601d7 100644 --- a/fud2/fud-core/src/script/plugin.rs +++ b/fud2/fud-core/src/script/plugin.rs @@ -336,7 +336,7 @@ impl ScriptContext { let mut c = c.clone(); if let Some(v) = c.last_mut() { let outputs = - outputs.iter().map(|v| format!("${}", v)); + outputs.iter().map(|v| format!("${v}")); v.gens.extend(outputs); } @@ -346,7 +346,7 @@ impl ScriptContext { .collect(); if let Some(v) = c.first_mut() { let inputs = - inputs.iter().map(|v| format!("${}", v)); + inputs.iter().map(|v| format!("${v}")); v.deps.extend(inputs); } c @@ -675,7 +675,7 @@ impl ScriptRunner { ctx.call_position(), crate::run::ConfigVar::Required(key.to_string()), )?; - Ok(format!("${{{}}}", key)) + Ok(format!("${{{key}}}")) }, ); } @@ -696,7 +696,7 @@ impl ScriptRunner { default.to_string(), ), )?; - Ok(format!("${{{}}}", key)) + Ok(format!("${{{key}}}")) }, ); } diff --git a/fud2/fud-core/tests/tests.rs b/fud2/fud-core/tests/tests.rs index 8878811d85..41ded207b9 100644 --- a/fud2/fud-core/tests/tests.rs +++ b/fud2/fud-core/tests/tests.rs @@ -21,7 +21,7 @@ const MULTI_PLANNERS: [&dyn FindPlan; 1] = [&EnumeratePlanner {}]; #[test] fn find_plan_simple_graph_test() { for path_finder in MULTI_PLANNERS { - println!("testing planner: {:?}", path_finder); + println!("testing planner: {path_finder:?}"); let mut bld = DriverBuilder::new("fud2"); let s1 = bld.state("s1", &[]); let s2 = bld.state("s2", &[]); @@ -53,7 +53,7 @@ fn find_plan_simple_graph_test() { #[test] fn find_plan_multi_op_graph() { for path_finder in MULTI_PLANNERS { - println!("testing planner: {:?}", path_finder); + println!("testing planner: {path_finder:?}"); let mut bld = DriverBuilder::new("fud2"); let s1 = bld.state("s1", &[]); let s2 = bld.state("s2", &[]); @@ -77,7 +77,7 @@ fn find_plan_multi_op_graph() { #[test] fn find_plan_multi_path_graph() { for path_finder in MULTI_PLANNERS { - println!("testing planner: {:?}", path_finder); + println!("testing planner: {path_finder:?}"); let mut bld = DriverBuilder::new("fud2"); let s1 = bld.state("s1", &[]); let s2 = bld.state("s2", &[]); @@ -139,7 +139,7 @@ fn find_plan_multi_path_graph() { #[test] fn find_plan_only_state_graph() { for path_finder in MULTI_PLANNERS { - println!("testing planner: {:?}", path_finder); + println!("testing planner: {path_finder:?}"); let mut bld = DriverBuilder::new("fud2"); let s1 = bld.state("s1", &[]); let driver = bld.build(); @@ -159,7 +159,7 @@ fn find_plan_only_state_graph() { #[test] fn find_plan_self_loop() { for path_finder in MULTI_PLANNERS { - println!("testing planner: {:?}", path_finder); + println!("testing planner: {path_finder:?}"); let mut bld = DriverBuilder::new("fud2"); let s1 = bld.state("s1", &[]); let t1 = bld.op("t1", &[], s1, s1, |_, _, _| Ok(())); @@ -180,7 +180,7 @@ fn find_plan_self_loop() { #[test] fn find_plan_cycle_graph() { for path_finder in MULTI_PLANNERS { - println!("testing planner: {:?}", path_finder); + println!("testing planner: {path_finder:?}"); let mut bld = DriverBuilder::new("fud2"); let s1 = bld.state("s1", &[]); let s2 = bld.state("s2", &[]); @@ -213,7 +213,7 @@ fn find_plan_cycle_graph() { #[test] fn find_plan_nontrivial_cycle() { for path_finder in MULTI_PLANNERS { - println!("testing planner: {:?}", path_finder); + println!("testing planner: {path_finder:?}"); let mut bld = DriverBuilder::new("fud2"); let s1 = bld.state("s1", &[]); let s2 = bld.state("s2", &[]); @@ -238,7 +238,7 @@ fn find_plan_nontrivial_cycle() { #[test] fn op_creating_two_states() { for path_finder in MULTI_PLANNERS { - println!("testing planner: {:?}", path_finder); + println!("testing planner: {path_finder:?}"); let mut bld = DriverBuilder::new("fud2"); let s0 = bld.state("s0", &[]); let s1 = bld.state("s1", &[]); @@ -262,7 +262,7 @@ fn op_creating_two_states() { #[test] fn op_compressing_two_states() { for path_finder in MULTI_PLANNERS { - println!("testing planner: {:?}", path_finder); + println!("testing planner: {path_finder:?}"); let mut bld = DriverBuilder::new("fud2"); let s0 = bld.state("s0", &[]); let s1 = bld.state("s1", &[]); @@ -286,7 +286,7 @@ fn op_compressing_two_states() { #[test] fn op_creating_two_states_not_initial_and_final() { for path_finder in MULTI_PLANNERS { - println!("testing planner: {:?}", path_finder); + println!("testing planner: {path_finder:?}"); let mut bld = DriverBuilder::new("fud2"); let s0 = bld.state("s0", &[]); let s1 = bld.state("s1", &[]); @@ -317,7 +317,7 @@ fn op_creating_two_states_not_initial_and_final() { #[test] fn op_compressing_two_states_not_initial_and_final() { for path_finder in MULTI_PLANNERS { - println!("testing planner: {:?}", path_finder); + println!("testing planner: {path_finder:?}"); let mut bld = DriverBuilder::new("fud2"); let s0 = bld.state("s0", &[]); let s1 = bld.state("s1", &[]); @@ -372,18 +372,12 @@ fn correctness_fuzzing() { | graph_gen::PlannerTestResult::NoPlanFound => (), graph_gen::PlannerTestResult::FoundInvalidPlan => panic!( "Invalid plan generated with test parameters: - layers: {} - states_per_layer: {} - ops_per_layer: {} - max_io_size: {} - max_required_ops: {} - random_seed: {}", - LAYERS, - STATES_PER_LAYER, - OPS_PER_LAYER, - MAX_IO_SIZE, - MAX_REQUIRED_OPS, - seed + layers: {LAYERS} + states_per_layer: {STATES_PER_LAYER} + ops_per_layer: {OPS_PER_LAYER} + max_io_size: {MAX_IO_SIZE} + max_required_ops: {MAX_REQUIRED_OPS} + random_seed: {seed}" ), } } diff --git a/fud2/tests/tests.rs b/fud2/tests/tests.rs index cf122f0440..a71cc7d5db 100644 --- a/fud2/tests/tests.rs +++ b/fud2/tests/tests.rs @@ -138,7 +138,7 @@ impl InstaTest for Request { .iter() .map(|&state| &driver.states[state].name) .join(" "); - let mut desc = format!("emit request: {} -> {}", start_str, end_str); + let mut desc = format!("emit request: {start_str} -> {end_str}"); if !self.through.is_empty() { desc.push_str(" through"); for op in &self.through { diff --git a/src/cmdline.rs b/src/cmdline.rs index 9405143596..62ac64fbaa 100644 --- a/src/cmdline.rs +++ b/src/cmdline.rs @@ -139,8 +139,7 @@ impl FromStr for CompileMode { "file" => Ok(CompileMode::File), "project" => Ok(CompileMode::Project), s => Err(format!( - "Unknown compilation mode: {}. Valid options are `file` or `project`", - s + "Unknown compilation mode: {s}. Valid options are `file` or `project`" )), } } diff --git a/src/main.rs b/src/main.rs index b8eff6b4f0..bad4a143ad 100644 --- a/src/main.rs +++ b/src/main.rs @@ -42,9 +42,9 @@ fn main() -> PassResult<()> { match name { Some(n) => { if let Some(help) = pm.specific_help(&n) { - println!("{}", help); + println!("{help}"); } else { - println!("Unknown pass or alias: {}", n); + println!("Unknown pass or alias: {n}"); } } None => println!("{}", pm.complete_help()), diff --git a/tools/calyx-pass-explorer/src/pass_explorer.rs b/tools/calyx-pass-explorer/src/pass_explorer.rs index 63434839bc..44c0ca94a8 100644 --- a/tools/calyx-pass-explorer/src/pass_explorer.rs +++ b/tools/calyx-pass-explorer/src/pass_explorer.rs @@ -87,7 +87,7 @@ impl PassExplorer { }) .collect(); - assert!(!passes.is_empty(), "Unknown pass alias '{}'", pass_alias); + assert!(!passes.is_empty(), "Unknown pass alias '{pass_alias}'"); let mut dest_path = PathBuf::from(work_dir.path()); dest_path.push(SOURCE_FILE_NAME); @@ -190,7 +190,7 @@ impl PassExplorer { ChangeTag::Insert => { format!("{}{}", "+ ".green(), change.to_string().green()) } - ChangeTag::Equal => format!("{}", change), + ChangeTag::Equal => format!("{change}"), }; output.push_str(&line); } @@ -299,7 +299,7 @@ impl PassExplorer { let mut brace_count = 0; for line in file_content.lines() { - if line.contains(&format!("component {}(", component)) { + if line.contains(&format!("component {component}(")) { in_component = true; } diff --git a/tools/calyx-pass-explorer/src/scrollback_buffer.rs b/tools/calyx-pass-explorer/src/scrollback_buffer.rs index 1707c36f5a..0bd1ecd4d4 100644 --- a/tools/calyx-pass-explorer/src/scrollback_buffer.rs +++ b/tools/calyx-pass-explorer/src/scrollback_buffer.rs @@ -88,7 +88,7 @@ impl<'a> ScrollbackBuffer<'a> { let fill = " ".repeat(self.cols); for i in 0..self.rows { self.output.queue(cursor::MoveTo(0, i as u16))?; - write!(self.output, "{}", fill)?; + write!(self.output, "{fill}")?; } let rows_to_print = self.visible_row_count(); diff --git a/tools/calyx-pass-explorer/src/tui.rs b/tools/calyx-pass-explorer/src/tui.rs index 77dd828c04..f95924b881 100644 --- a/tools/calyx-pass-explorer/src/tui.rs +++ b/tools/calyx-pass-explorer/src/tui.rs @@ -168,7 +168,7 @@ impl<'a> PassExplorerTUI<'a> { write!(self.scrollback_buffer, "Passes: ")?; let start_index = max(0, (incoming_pos as isize) - 3) as usize; if start_index > 0 { - write!(self.scrollback_buffer, "[{} more] ... ", start_index)?; + write!(self.scrollback_buffer, "[{start_index} more] ... ")?; } let length = min(5, current_pass_application.len() - start_index); @@ -182,11 +182,11 @@ impl<'a> PassExplorerTUI<'a> { PassApplicationStatus::Applied => name.green().bold(), PassApplicationStatus::Skipped => name.grey().dim(), PassApplicationStatus::Incoming => { - format!("[INCOMING] {}", name).yellow().bold() + format!("[INCOMING] {name}").yellow().bold() } PassApplicationStatus::Future => name.magenta().bold(), }; - write!(self.scrollback_buffer, "{}", colored_name)?; + write!(self.scrollback_buffer, "{colored_name}")?; } let remaining_count = @@ -194,8 +194,7 @@ impl<'a> PassExplorerTUI<'a> { if remaining_count > 0 { write!( self.scrollback_buffer, - " ... [{} more]", - remaining_count + " ... [{remaining_count} more]" )?; } @@ -210,7 +209,7 @@ impl<'a> PassExplorerTUI<'a> { "{}", "─".repeat(self.scrollback_buffer.cols()).dim() )?; - write!(self.scrollback_buffer, "{}", review)?; + write!(self.scrollback_buffer, "{review}")?; } Ok(()) diff --git a/tools/calyx-pass-explorer/src/util.rs b/tools/calyx-pass-explorer/src/util.rs index ae16650ef9..798938708e 100644 --- a/tools/calyx-pass-explorer/src/util.rs +++ b/tools/calyx-pass-explorer/src/util.rs @@ -10,8 +10,7 @@ pub fn capture_command_stdout( ) -> std::io::Result { let output = Command::new(cmd).args(args).output()?; if !output.status.success() && wants_zero { - Err(std::io::Error::new( - std::io::ErrorKind::Other, + Err(std::io::Error::other( format!( "Command `{} {}` did not execute successfully (code={}). Stderr: {}", cmd, @@ -25,6 +24,6 @@ pub fn capture_command_stdout( )) } else { String::from_utf8(output.stdout) - .map_err(|err| std::io::Error::new(std::io::ErrorKind::Other, err)) + .map_err(std::io::Error::other) } } diff --git a/tools/calyx-writer/lib.rs b/tools/calyx-writer/lib.rs index 34de6822ee..9b7082456f 100644 --- a/tools/calyx-writer/lib.rs +++ b/tools/calyx-writer/lib.rs @@ -110,7 +110,7 @@ impl Marker { location.as_ref().to_string().to_ascii_uppercase(), self.id .as_ref() - .map(|id| format!(": {}", id)) + .map(|id| format!(": {id}")) .unwrap_or_default() ) } @@ -283,7 +283,7 @@ impl AttributeProvider for Port { impl Display for Port { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { if let Some(parent) = &self.parent { - write!(f, "{}.", parent)?; + write!(f, "{parent}.")?; } write!(f, "{}", self.name) } @@ -293,7 +293,7 @@ impl CalyxWriter for Port { /// Behaves identically to [`Port::fmt`]. Please read [`CalyxWriter::write`] /// for documentation on this function. fn write(&self, f: &mut IndentFormatter<'_, '_>) -> fmt::Result { - write!(f, "{}", self) + write!(f, "{self}") } } @@ -479,11 +479,11 @@ impl CalyxWriter for Group { fn write(&self, f: &mut IndentFormatter<'_, '_>) -> fmt::Result { if let Some(description) = &self.description { for line in description.lines() { - writeln!(f, "// {}", line)?; + writeln!(f, "// {line}")?; } } if let Some(latency) = self.latency { - write!(f, "static<{}> ", latency)?; + write!(f, "static<{latency}> ")?; } if self.is_comb { write!(f, "comb ")?; diff --git a/tools/cider-data-converter/src/converter.rs b/tools/cider-data-converter/src/converter.rs index 01d52650ea..9411cb0d69 100644 --- a/tools/cider-data-converter/src/converter.rs +++ b/tools/cider-data-converter/src/converter.rs @@ -5,7 +5,7 @@ use num_bigint::{BigInt, BigUint, ToBigInt}; use num_rational::BigRational; use num_traits::{Num, ToPrimitive, sign::Signed}; use serde_json::Number; -use std::{collections::HashMap, iter::repeat, str::FromStr}; +use std::{collections::HashMap, str::FromStr}; fn msb(width: u32) -> u8 { let rem = width % 8; @@ -24,7 +24,7 @@ fn sign_extend_vec(mut vec: Vec, width: u32, signed: bool) -> Vec { match vec.len().cmp(&(byte_count)) { std::cmp::Ordering::Less => { vec.extend( - repeat(0b1111_1111).take(byte_count - vec.len() - 1), + std::iter::repeat_n(0b1111_1111, byte_count - vec.len() - 1), ); vec.push( 0b1111_1111 @@ -44,7 +44,7 @@ fn sign_extend_vec(mut vec: Vec, width: u32, signed: bool) -> Vec { assert_eq!(*vec.last().unwrap(), 0); vec.pop(); } else { - vec.extend(repeat(0u8).take(byte_count - vec.len())); + vec.extend(std::iter::repeat_n(0u8, byte_count - vec.len())); } vec @@ -133,7 +133,7 @@ fn unroll_bigint( /// to_f64 method results in some rounding behavior which creates very confusing /// errors (demanding more precision) so this is a workaround. fn float_to_rational(float: f64) -> BigRational { - let string = format!("{:.}", float); + let string = format!("{float:.}"); let string = string.split('.').collect_vec(); if string.len() == 1 { diff --git a/tools/cider-data-converter/src/json_data.rs b/tools/cider-data-converter/src/json_data.rs index 33d95abd88..60efb1ee55 100644 --- a/tools/cider-data-converter/src/json_data.rs +++ b/tools/cider-data-converter/src/json_data.rs @@ -620,7 +620,7 @@ mod tests { }"#; let json_data: JsonData = serde_json::from_str(data).unwrap(); - println!("{:?}", json_data); + println!("{json_data:?}"); println!("{}", serde_json::to_string_pretty(&json_data).unwrap()); } } diff --git a/tools/cider-data-converter/src/main.rs b/tools/cider-data-converter/src/main.rs index 5c65cae8d7..e135dfe1d7 100644 --- a/tools/cider-data-converter/src/main.rs +++ b/tools/cider-data-converter/src/main.rs @@ -7,7 +7,6 @@ use core::str; use std::{ fs::File, io::{self, BufRead, BufReader, BufWriter, Read, Write}, - iter::repeat, path::PathBuf, str::FromStr, }; @@ -49,7 +48,7 @@ enum CiderDataConverterError { impl std::fmt::Debug for CiderDataConverterError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", self) + write!(f, "{self}") } } @@ -194,7 +193,7 @@ fn main() -> Result<(), CiderDataConverterError> { - line_data.len(); data.extend(line_data.into_iter().rev()); - data.extend(repeat(0u8).take(padding)) + data.extend(std::iter::repeat_n(0u8, padding)) } } diff --git a/tools/data-conversion/src/main.rs b/tools/data-conversion/src/main.rs index f351ddb5da..d59bc76f37 100644 --- a/tools/data-conversion/src/main.rs +++ b/tools/data-conversion/src/main.rs @@ -171,26 +171,23 @@ fn convert( } } _ => panic!( - "Conversion from {} to {} is not supported", - convert_from, convert_to + "Conversion from {convert_from} to {convert_to} is not supported" ), } if let Some(filepath) = filepath_send { eprintln!( - "Successfully converted from {} to {} in {}", - convert_from, convert_to, filepath + "Successfully converted from {convert_from} to {convert_to} in {filepath}" ); } else { eprintln!( - "Successfully converted from {} to {}", - convert_from, convert_to, + "Successfully converted from {convert_from} to {convert_to}", ); } } /// Formats [to_format] properly for float values fn format_binary(to_format: u32) -> String { - let binary_str = format!("{:032b}", to_format); + let binary_str = format!("{to_format:032b}"); format!( "{} {} {}", &binary_str[0..1], // Sign bit @@ -200,7 +197,7 @@ fn format_binary(to_format: u32) -> String { } fn format_hex(to_format: u32) -> String { - format!("0x{:X}", to_format) + format!("0x{to_format:X}") } /// Converts a string representation of a floating-point number to its binary @@ -284,7 +281,7 @@ fn hex_to_binary( .expect("Failed to parse hex string"); // Format nicely - let formatted_binary_str = format!("{:b}", binary_of_hex); + let formatted_binary_str = format!("{binary_of_hex:b}"); // Write binary string to the file @@ -376,7 +373,7 @@ fn binary_to_float( // Interpret the integer as the binary representation of a floating-point number let float_value = f32::from_bits(binary_value); - let formated_float_str = format!("{:?}", float_value); + let formated_float_str = format!("{float_value:?}"); if let Some(file) = filepath_send.as_mut() { // Write binary string to the file @@ -438,7 +435,7 @@ fn fixed_to_binary( let multiplied_fixed_as_i32 = multiplied_fixed as i32; // Convert to a binary string with 32 bits - let binary_of_fixed = format!("{:032b}", multiplied_fixed_as_i32); + let binary_of_fixed = format!("{multiplied_fixed_as_i32:032b}"); if let Some(file) = filepath_send.as_mut() { // Write binary string to the file @@ -498,7 +495,7 @@ fn binary_to_fixed( // Exponent math let divided: f32 = int_of_binary / 2_f32.powf(-exponent); - let string_of_divided = format!("{:+.8e}", divided); + let string_of_divided = format!("{divided:+.8e}"); if let Some(file) = filepath_send.as_mut() { // Write binary string to the file @@ -533,7 +530,7 @@ fn binary_to_fixed_bit_slice( // Convert result to a fixed-point decimal representation let fixed_value = result as f32; - let string_of_fixed = format!("{:.8e}", fixed_value); + let string_of_fixed = format!("{fixed_value:.8e}"); if let Some(file) = filepath_send.as_mut() { // Write binary string to the file diff --git a/tools/data_gen/src/main.rs b/tools/data_gen/src/main.rs index 98fbe5d702..0fd731908c 100644 --- a/tools/data_gen/src/main.rs +++ b/tools/data_gen/src/main.rs @@ -93,7 +93,7 @@ fn main() -> CalyxResult<()> { } let json_map: Value = map.into(); - println!("{}", json_map); + println!("{json_map}"); Ok(()) } diff --git a/web/rust/src/lib.rs b/web/rust/src/lib.rs index b2e8b5aafc..339ceed7ea 100644 --- a/web/rust/src/lib.rs +++ b/web/rust/src/lib.rs @@ -53,6 +53,6 @@ pub fn run(passes: &JsValue, library: &str, namespace: &str) -> String { serde_wasm_bindgen::from_value(passes.clone()).unwrap(); match compile(&test, library, namespace) { Ok(s) => s, - Err(e) => format!("Error:\n{:?}", e), + Err(e) => format!("Error:\n{e:?}"), } } From 6d0e6dd9cd1b29fb413c77ebf5527568d8c5e631 Mon Sep 17 00:00:00 2001 From: Griffin Berlstein Date: Tue, 29 Jul 2025 14:19:24 -0400 Subject: [PATCH 5/5] formatting --- calyx/backend/src/resources.rs | 4 +-- calyx/backend/src/verilog.rs | 6 +---- calyx/backend/src/xilinx/toplevel.rs | 12 ++++----- calyx/opt/src/analysis/control_order.rs | 4 +-- calyx/opt/src/passes/compile_static.rs | 8 ++---- .../src/passes/profiler_instrumentation.rs | 3 +-- calyx/opt/src/passes/well_formed.rs | 2 +- fud2/fud-core/src/exec/plan/egg_planner.rs | 12 +++------ fud2/fud-core/src/script/plugin.rs | 3 +-- tools/calyx-pass-explorer/src/util.rs | 25 ++++++++----------- tools/cider-data-converter/src/converter.rs | 7 +++--- tools/cider-data-converter/src/main.rs | 4 ++- tools/data-conversion/src/main.rs | 4 +-- 13 files changed, 35 insertions(+), 59 deletions(-) diff --git a/calyx/backend/src/resources.rs b/calyx/backend/src/resources.rs index 932b9751e4..d71887652e 100644 --- a/calyx/backend/src/resources.rs +++ b/calyx/backend/src/resources.rs @@ -276,7 +276,5 @@ fn estimated_size(count_map: HashMap<(ir::Id, ir::Binding, bool), u32>) { } } eprintln!("Estimated size in bit(s): {estimated_size}"); - eprintln!( - "Estimated external size in bit(s): {estimated_external_size}" - ); + eprintln!("Estimated external size in bit(s): {estimated_external_size}"); } diff --git a/calyx/backend/src/verilog.rs b/calyx/backend/src/verilog.rs index ec9a9dd739..ebf88d8b33 100644 --- a/calyx/backend/src/verilog.rs +++ b/calyx/backend/src/verilog.rs @@ -451,11 +451,7 @@ impl Backend for VerilogBackend { let mut final_writer = file.get_write(); final_writer .write_all(temp_content.as_bytes()) - .map_err(|err| { - io::Error::other( - format!("Write failed: {err}"), - ) - })?; + .map_err(|err| io::Error::other(format!("Write failed: {err}")))?; Ok(()) } } diff --git a/calyx/backend/src/xilinx/toplevel.rs b/calyx/backend/src/xilinx/toplevel.rs index f79f3c3517..ca62c8fe51 100644 --- a/calyx/backend/src/xilinx/toplevel.rs +++ b/calyx/backend/src/xilinx/toplevel.rs @@ -211,8 +211,7 @@ fn top_level(toplevel: &ir::Component) -> v::Module { v::Expr::new_logical_or("reset", "memories_sent"), ); for port in base_master_axi_interface.ports() { - memory_instance - .connect_ref(&port, &format!("m{idx}_axi_{port}")); + memory_instance.connect_ref(&port, &format!("m{idx}_axi_{port}")); } memory_instance.connect_ref("BASE_ADDRESS", mem); memory_instance.connect_ref("COPY_FROM_HOST", &format!("{mem}_copy")); @@ -314,12 +313,11 @@ fn host_transfer_fsm(module: &mut v::Module, memories: &[String]) { let mut ifelse = v::SequentialIfElse::new(fsm.state_is("send")); ifelse.add_seq(v::Sequential::new_nonblk_assign( "memories_sent", - memories[1..].iter().fold( - format!("{}_send_done", memories[0]).into(), - |acc, elem| { + memories[1..] + .iter() + .fold(format!("{}_send_done", memories[0]).into(), |acc, elem| { v::Expr::new_bit_and(acc, format!("{elem}_send_done")) - }, - ), + }), )); ifelse.set_else(v::Sequential::new_nonblk_assign("memories_sent", 0)); diff --git a/calyx/opt/src/analysis/control_order.rs b/calyx/opt/src/analysis/control_order.rs index 6335b494ef..20308fd567 100644 --- a/calyx/opt/src/analysis/control_order.rs +++ b/calyx/opt/src/analysis/control_order.rs @@ -53,9 +53,7 @@ impl ControlOrder { ir::CellType::Constant { .. } => None, ir::CellType::Component { .. } | ir::CellType::Primitive { .. } - | ir::CellType::ThisComponent => { - Some(cell.borrow().name()) - } + | ir::CellType::ThisComponent => Some(cell.borrow().name()), }) .unique() } diff --git a/calyx/opt/src/passes/compile_static.rs b/calyx/opt/src/passes/compile_static.rs index 72197707a0..21a4eeee47 100644 --- a/calyx/opt/src/passes/compile_static.rs +++ b/calyx/opt/src/passes/compile_static.rs @@ -241,14 +241,10 @@ impl CompileStatic { let sgroup_name = sgroup.name(); // get the "early reset group". It should exist, since we made an // early_reset group for every static group in the component - (self.reset_early_map.get(&sgroup_name).unwrap_or_else(|| { - unreachable!( - "group {} not in self.reset_early_map", - sgroup_name - ) - })) as _ + unreachable!("group {} not in self.reset_early_map", sgroup_name) + })) as _ } } diff --git a/calyx/opt/src/passes/profiler_instrumentation.rs b/calyx/opt/src/passes/profiler_instrumentation.rs index 0d0cbbfd35..90d182c8e5 100644 --- a/calyx/opt/src/passes/profiler_instrumentation.rs +++ b/calyx/opt/src/passes/profiler_instrumentation.rs @@ -380,8 +380,7 @@ fn create_assignments( // probe and assignments for group enable (this group is currently active) for group_name in group_names.iter() { // store group and component name (differentiate between groups of the same name under different components) - let name = - format!("{group_name}{delimiter}{comp_name}_group_probe"); + let name = format!("{group_name}{delimiter}{comp_name}_group_probe"); let probe_cell = builder.add_primitive(name, "std_wire", &[1]); let probe_asgn: ir::Assignment = builder.build_assignment( probe_cell.borrow().get("in"), diff --git a/calyx/opt/src/passes/well_formed.rs b/calyx/opt/src/passes/well_formed.rs index 9d58831f3b..79550edef9 100644 --- a/calyx/opt/src/passes/well_formed.rs +++ b/calyx/opt/src/passes/well_formed.rs @@ -31,7 +31,7 @@ fn port_is_static_prim(port: &ir::Port) -> bool { // if component, then we have to go throuch `comps` to see whether its static // for some reason, need to store result in variable, otherwise it gives a // lifetime error - + match parent_cell.borrow().prototype { ir::CellType::Primitive { latency, .. } => latency.is_some(), ir::CellType::Component { .. } diff --git a/fud2/fud-core/src/exec/plan/egg_planner.rs b/fud2/fud-core/src/exec/plan/egg_planner.rs index 731d2d2f48..a9948f3553 100644 --- a/fud2/fud-core/src/exec/plan/egg_planner.rs +++ b/fud2/fud-core/src/exec/plan/egg_planner.rs @@ -169,9 +169,7 @@ fn rewrite_from_op( if op.input.contains(s) { lhs.add(egg::ENodeOrVar::ENode(StateLanguage::C)) } else { - lhs.add(egg::ENodeOrVar::Var( - format!("?s{i}").parse().unwrap(), - )) + lhs.add(egg::ENodeOrVar::Var(format!("?s{i}").parse().unwrap())) } }) .collect::>(); @@ -211,9 +209,7 @@ fn rewrite_from_op( } else if op.input.contains(s) { rhs.add(egg::ENodeOrVar::ENode(StateLanguage::X)) } else { - rhs.add(egg::ENodeOrVar::Var( - format!("?s{i}").parse().unwrap(), - )) + rhs.add(egg::ENodeOrVar::Var(format!("?s{i}").parse().unwrap())) } }) .collect::>(); @@ -229,9 +225,7 @@ fn rewrite_from_op( if through.contains(&op_ref) && o == op_ref { rhs.add(egg::ENodeOrVar::ENode(StateLanguage::C)) } else { - rhs.add(egg::ENodeOrVar::Var( - format!("?o{i}").parse().unwrap(), - )) + rhs.add(egg::ENodeOrVar::Var(format!("?o{i}").parse().unwrap())) } }) .collect::>(); diff --git a/fud2/fud-core/src/script/plugin.rs b/fud2/fud-core/src/script/plugin.rs index 72266601d7..398e2826ac 100644 --- a/fud2/fud-core/src/script/plugin.rs +++ b/fud2/fud-core/src/script/plugin.rs @@ -345,8 +345,7 @@ impl ScriptContext { .map(|i| crate::run::io_file_var_name(i, true)) .collect(); if let Some(v) = c.first_mut() { - let inputs = - inputs.iter().map(|v| format!("${v}")); + let inputs = inputs.iter().map(|v| format!("${v}")); v.deps.extend(inputs); } c diff --git a/tools/calyx-pass-explorer/src/util.rs b/tools/calyx-pass-explorer/src/util.rs index 798938708e..6bfb4e5106 100644 --- a/tools/calyx-pass-explorer/src/util.rs +++ b/tools/calyx-pass-explorer/src/util.rs @@ -10,20 +10,17 @@ pub fn capture_command_stdout( ) -> std::io::Result { let output = Command::new(cmd).args(args).output()?; if !output.status.success() && wants_zero { - Err(std::io::Error::other( - format!( - "Command `{} {}` did not execute successfully (code={}). Stderr: {}", - cmd, - args.iter() - .map(|str| str.to_string()) - .collect::>() - .join(" "), - output.status.code().unwrap(), - String::from_utf8(output.stderr).unwrap_or_default() - ), - )) + Err(std::io::Error::other(format!( + "Command `{} {}` did not execute successfully (code={}). Stderr: {}", + cmd, + args.iter() + .map(|str| str.to_string()) + .collect::>() + .join(" "), + output.status.code().unwrap(), + String::from_utf8(output.stderr).unwrap_or_default() + ))) } else { - String::from_utf8(output.stdout) - .map_err(std::io::Error::other) + String::from_utf8(output.stdout).map_err(std::io::Error::other) } } diff --git a/tools/cider-data-converter/src/converter.rs b/tools/cider-data-converter/src/converter.rs index 9411cb0d69..a5f1b5d331 100644 --- a/tools/cider-data-converter/src/converter.rs +++ b/tools/cider-data-converter/src/converter.rs @@ -23,9 +23,10 @@ fn sign_extend_vec(mut vec: Vec, width: u32, signed: bool) -> Vec { if signed && vec.last().unwrap() & msb != 0 { match vec.len().cmp(&(byte_count)) { std::cmp::Ordering::Less => { - vec.extend( - std::iter::repeat_n(0b1111_1111, byte_count - vec.len() - 1), - ); + vec.extend(std::iter::repeat_n( + 0b1111_1111, + byte_count - vec.len() - 1, + )); vec.push( 0b1111_1111 >> (if width % 8 == 0 { 0 } else { 8 - width % 8 }), diff --git a/tools/cider-data-converter/src/main.rs b/tools/cider-data-converter/src/main.rs index e135dfe1d7..7ad89f4244 100644 --- a/tools/cider-data-converter/src/main.rs +++ b/tools/cider-data-converter/src/main.rs @@ -193,7 +193,9 @@ fn main() -> Result<(), CiderDataConverterError> { - line_data.len(); data.extend(line_data.into_iter().rev()); - data.extend(std::iter::repeat_n(0u8, padding)) + data.extend(std::iter::repeat_n( + 0u8, padding, + )) } } diff --git a/tools/data-conversion/src/main.rs b/tools/data-conversion/src/main.rs index d59bc76f37..652356ee03 100644 --- a/tools/data-conversion/src/main.rs +++ b/tools/data-conversion/src/main.rs @@ -179,9 +179,7 @@ fn convert( "Successfully converted from {convert_from} to {convert_to} in {filepath}" ); } else { - eprintln!( - "Successfully converted from {convert_from} to {convert_to}", - ); + eprintln!("Successfully converted from {convert_from} to {convert_to}",); } }