diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 78ab36ff..d9799f35 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -24,10 +24,10 @@ jobs: strategy: matrix: include: - - os: windows-latest - target: x86_64-pc-windows-msvc - - os: windows-latest - target: i686-pc-windows-msvc + # - os: windows-latest + # target: x86_64-pc-windows-msvc + # - os: windows-latest + # target: i686-pc-windows-msvc # - os: windows-latest # target: aarch64-pc-windows-msvc # - os: ubuntu-22.04 diff --git a/plugins/http/Cargo.lock b/plugins/http/Cargo.lock index 1026e46d..d4e71fc6 100644 --- a/plugins/http/Cargo.lock +++ b/plugins/http/Cargo.lock @@ -167,11 +167,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] @@ -265,7 +266,7 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.3.0", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "slab", ] @@ -289,7 +290,7 @@ checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ "async-lock 3.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -322,10 +323,10 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "parking", "polling 3.7.4", - "rustix 0.38.43", + "rustix 0.38.44", "slab", "tracing", "windows-sys 0.59.0", @@ -370,7 +371,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" dependencies = [ "async-io 2.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -386,7 +387,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.48.0", ] @@ -404,8 +405,8 @@ dependencies = [ "blocking", "cfg-if", "event-listener 5.4.0", - "futures-lite 2.5.0", - "rustix 0.38.43", + "futures-lite 2.6.0", + "rustix 0.38.44", "tracing", ] @@ -421,7 +422,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -458,9 +459,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-lc-rs" -version = "1.12.0" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f409eb70b561706bf8abba8ca9c112729c481595893fd06a2dd9af8ed8441148" +checksum = "4c2b7ddaa2c56a367ad27a094ad8ef4faacf8a617c2575acb2ba88949df999ca" dependencies = [ "aws-lc-sys", "paste", @@ -470,9 +471,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.24.1" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923ded50f602b3007e5e63e3f094c479d9c8a9b42d7f4034e4afe456aa48bfd2" +checksum = "54ac4f13dad353b209b34cbec082338202cbc01c8f00336b55c750c13ac91f8f" dependencies = [ "bindgen", "cc", @@ -518,7 +519,7 @@ version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cexpr", "clang-sys", "itertools", @@ -531,7 +532,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.96", + "syn 2.0.98", "which", ] @@ -556,7 +557,7 @@ checksum = "a539389a13af092cd345a2b47ae7dec12deb306d660b2223d25cd3419b253ebe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -567,9 +568,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "blocking" @@ -580,15 +581,15 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "piper", ] [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytemuck" @@ -604,9 +605,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" [[package]] name = "cassowary" @@ -616,9 +617,9 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" [[package]] name = "cc" -version = "1.2.7" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "jobserver", "libc", @@ -709,19 +710,19 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.26" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" +checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff" dependencies = [ "clap_builder", - "clap_derive 4.5.24", + "clap_derive 4.5.28", ] [[package]] name = "clap_builder" -version = "4.5.26" +version = "4.5.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" +checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" dependencies = [ "anstream", "anstyle", @@ -744,14 +745,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -780,9 +781,9 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.52" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e" +checksum = "e24a03c8b52922d68a1589ad61032f2c1aa5a8158d2aa0d93c6e9534944bbad6" dependencies = [ "cc", ] @@ -827,7 +828,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -931,11 +932,11 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "crossterm_winapi", "mio", "parking_lot", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook", "signal-hook-mio", "winapi", @@ -952,9 +953,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "dap" @@ -981,7 +982,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1030,7 +1031,7 @@ dependencies = [ "chrono", "chumsky", "circular-queue", - "clap 4.5.26", + "clap 4.5.28", "color-backtrace", "core_extensions", "crossbeam", @@ -1038,7 +1039,7 @@ dependencies = [ "dap", "dotenvy", "env_logger 0.11.6", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "heck 0.5.0", "lazy_static", "log", @@ -1050,7 +1051,7 @@ dependencies = [ "puteketeke", "regex", "reqwest", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustyline", "sarzak", "serde", @@ -1209,7 +1210,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" dependencies = [ "cfg-if", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.52.0", ] @@ -1288,9 +1289,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.3.0", "futures-core", @@ -1358,10 +1359,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1392,7 +1405,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.2.0", - "indexmap 2.7.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -1482,14 +1495,14 @@ dependencies = [ "bincode", "crossbeam", "dwarf", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "heck 0.5.0", "http-body-util", "hyper", "hyper-util", "log", "reqwest", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "rustls-pemfile", "rustls-pki-types", @@ -1539,9 +1552,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "httpdate" @@ -1557,9 +1570,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -1767,7 +1780,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1803,9 +1816,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -1833,19 +1846,19 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi 0.4.0", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1880,9 +1893,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -1957,9 +1970,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "loom" @@ -2003,9 +2016,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] @@ -2018,7 +2031,7 @@ checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -2034,9 +2047,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" dependencies = [ "libc", "log", @@ -2064,7 +2077,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "cfg_aliases", "libc", @@ -2125,7 +2138,7 @@ version = "1.0.0" source = "git+https://github.com/uberFoo/nut#1f89d402a281ab4ea02478d26512e8480146d12a" dependencies = [ "anyhow", - "clap 4.5.26", + "clap 4.5.28", "diff", "heck 0.4.1", "log", @@ -2153,17 +2166,17 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "foreign-types", "libc", @@ -2180,20 +2193,20 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.104" +version = "0.9.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc" dependencies = [ "cc", "libc", @@ -2319,7 +2332,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.43", + "rustix 0.38.44", "tracing", "windows-sys 0.59.0", ] @@ -2345,12 +2358,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.27" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "483f8c21f64f3ea09fe0f30f5d48c3e8eefe5dac9129f0075f76593b4c1da705" +checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" dependencies = [ "proc-macro2", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2379,9 +2392,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -2404,7 +2417,7 @@ dependencies = [ "async-executor", "async-io 2.4.0", "crossbeam", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "once_cell", "parking_lot", "slab", @@ -2422,10 +2435,10 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "socket2 0.5.8", - "thiserror 2.0.10", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -2437,14 +2450,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom", + "getrandom 0.2.15", "rand", "ring", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.10", + "thiserror 2.0.11", "tinyvec", "tracing", "web-time", @@ -2510,7 +2523,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -2539,7 +2552,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -2653,7 +2666,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted 0.9.0", @@ -2674,9 +2687,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -2703,11 +2716,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.43" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -2716,9 +2729,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.21" +version = "0.23.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7" dependencies = [ "aws-lc-rs", "once_cell", @@ -2740,9 +2753,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -2771,7 +2784,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "clipboard-win", "fd-lock", @@ -2796,14 +2809,14 @@ checksum = "327e9d075f6df7e25fbf594f1be7ef55cf0d567a6cb5112eeccbbd51ceb48e0d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "same-file" @@ -2822,7 +2835,7 @@ dependencies = [ "ansi_term", "bincode", "cfg-if", - "clap 4.5.26", + "clap 4.5.28", "heck 0.4.1", "log", "nut", @@ -2862,7 +2875,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "core-foundation-sys", "libc", @@ -2881,9 +2894,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] name = "serde" @@ -2902,14 +2915,14 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa", "memchr", @@ -3038,7 +3051,7 @@ dependencies = [ "async-net 2.0.0", "async-process 2.3.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -3081,7 +3094,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3166,9 +3179,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -3192,7 +3205,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3201,7 +3214,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "system-configuration-sys", ] @@ -3218,15 +3231,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.15.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand 2.3.0", - "getrandom", + "getrandom 0.3.1", "once_cell", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.59.0", ] @@ -3252,13 +3265,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +checksum = "888d0c3c6db53c0fdab160d2ed5e12ba745383d3e85813f2ea0f2b1475ab553f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3278,11 +3291,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ac7f54ca534db81081ef1c1e7f6ea8a3ef428d2fc069097c079443d24124d3" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.10", + "thiserror-impl 2.0.11", ] [[package]] @@ -3293,18 +3306,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "thiserror-impl" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e9465d30713b56a37ede7185763c3492a91be2f5fa68d958c44e41ab9248beb" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3386,7 +3399,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3477,7 +3490,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3580,9 +3593,9 @@ checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-segmentation" @@ -3645,20 +3658,20 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" dependencies = [ - "getrandom", + "getrandom 0.3.1", "serde", "sha1_smol", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -3703,36 +3716,46 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -3743,9 +3766,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3753,28 +3776,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -3792,9 +3818,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.7" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] @@ -3808,7 +3834,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.43", + "rustix 0.38.44", ] [[package]] @@ -3882,7 +3908,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3893,7 +3919,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4074,6 +4100,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.8.0", +] + [[package]] name = "write16" version = "1.0.0" @@ -4112,7 +4147,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -4134,7 +4169,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4154,7 +4189,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -4183,5 +4218,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] diff --git a/plugins/lu_dog/Cargo.lock b/plugins/lu_dog/Cargo.lock index bf9bb750..dba2f5ee 100644 --- a/plugins/lu_dog/Cargo.lock +++ b/plugins/lu_dog/Cargo.lock @@ -167,11 +167,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] @@ -265,7 +266,7 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.3.0", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "slab", ] @@ -289,7 +290,7 @@ checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ "async-lock 3.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -322,10 +323,10 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "parking", "polling 3.7.4", - "rustix 0.38.43", + "rustix 0.38.44", "slab", "tracing", "windows-sys 0.59.0", @@ -370,7 +371,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" dependencies = [ "async-io 2.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -386,7 +387,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.48.0", ] @@ -404,8 +405,8 @@ dependencies = [ "blocking", "cfg-if", "event-listener 5.4.0", - "futures-lite 2.5.0", - "rustix 0.38.43", + "futures-lite 2.6.0", + "rustix 0.38.44", "tracing", ] @@ -421,7 +422,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -507,7 +508,7 @@ checksum = "a539389a13af092cd345a2b47ae7dec12deb306d660b2223d25cd3419b253ebe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -518,9 +519,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "blocking" @@ -531,15 +532,15 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "piper", ] [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytemuck" @@ -555,9 +556,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" [[package]] name = "cassowary" @@ -567,9 +568,9 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" [[package]] name = "cc" -version = "1.2.7" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "shlex", ] @@ -638,19 +639,19 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.26" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" +checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff" dependencies = [ "clap_builder", - "clap_derive 4.5.24", + "clap_derive 4.5.28", ] [[package]] name = "clap_builder" -version = "4.5.26" +version = "4.5.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" +checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" dependencies = [ "anstream", "anstyle", @@ -673,14 +674,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -747,7 +748,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -851,11 +852,11 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "crossterm_winapi", "mio", "parking_lot", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook", "signal-hook-mio", "winapi", @@ -872,9 +873,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "dap" @@ -901,7 +902,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -944,7 +945,7 @@ dependencies = [ "chrono", "chumsky", "circular-queue", - "clap 4.5.26", + "clap 4.5.28", "color-backtrace", "core_extensions", "crossbeam", @@ -952,7 +953,7 @@ dependencies = [ "dap", "dotenvy", "env_logger 0.11.6", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "heck 0.5.0", "lazy_static", "log", @@ -964,7 +965,7 @@ dependencies = [ "puteketeke", "regex", "reqwest", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustyline", "sarzak", "serde", @@ -1117,7 +1118,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" dependencies = [ "cfg-if", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.52.0", ] @@ -1190,9 +1191,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.3.0", "futures-core", @@ -1260,10 +1261,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1288,7 +1301,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.7.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -1404,9 +1417,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "humantime" @@ -1416,9 +1429,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -1625,7 +1638,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1661,9 +1674,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -1691,19 +1704,19 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi 0.4.0", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1720,9 +1733,9 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -1781,9 +1794,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "loom" @@ -1808,7 +1821,7 @@ dependencies = [ "heck 0.5.0", "log", "ordered_hash_map", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "sarzak", "serde", "serde_json", @@ -1844,9 +1857,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] @@ -1859,7 +1872,7 @@ checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -1875,9 +1888,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" dependencies = [ "libc", "log", @@ -1905,7 +1918,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "cfg_aliases", "libc", @@ -1966,7 +1979,7 @@ version = "1.0.0" source = "git+https://github.com/uberFoo/nut#1f89d402a281ab4ea02478d26512e8480146d12a" dependencies = [ "anyhow", - "clap 4.5.26", + "clap 4.5.28", "diff", "heck 0.4.1", "log", @@ -1994,17 +2007,17 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "foreign-types", "libc", @@ -2021,20 +2034,20 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.104" +version = "0.9.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc" dependencies = [ "cc", "libc", @@ -2160,7 +2173,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.43", + "rustix 0.38.44", "tracing", "windows-sys 0.59.0", ] @@ -2210,9 +2223,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -2235,7 +2248,7 @@ dependencies = [ "async-executor", "async-io 2.4.0", "crossbeam", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "once_cell", "parking_lot", "slab", @@ -2253,10 +2266,10 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "socket2 0.5.8", - "thiserror 2.0.10", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -2268,14 +2281,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom", + "getrandom 0.2.15", "rand", "ring", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.10", + "thiserror 2.0.11", "tinyvec", "tracing", "web-time", @@ -2341,7 +2354,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -2370,7 +2383,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -2484,7 +2497,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", @@ -2505,9 +2518,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -2534,11 +2547,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.43" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -2547,9 +2560,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.21" +version = "0.23.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7" dependencies = [ "once_cell", "ring", @@ -2570,9 +2583,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -2600,7 +2613,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "clipboard-win", "fd-lock", @@ -2625,14 +2638,14 @@ checksum = "327e9d075f6df7e25fbf594f1be7ef55cf0d567a6cb5112eeccbbd51ceb48e0d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "same-file" @@ -2651,7 +2664,7 @@ dependencies = [ "ansi_term", "bincode", "cfg-if", - "clap 4.5.26", + "clap 4.5.28", "heck 0.4.1", "log", "nut", @@ -2691,7 +2704,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "core-foundation-sys", "libc", @@ -2710,9 +2723,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] name = "serde" @@ -2731,14 +2744,14 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa", "memchr", @@ -2867,7 +2880,7 @@ dependencies = [ "async-net 2.0.0", "async-process 2.3.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -2910,7 +2923,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2995,9 +3008,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -3021,7 +3034,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3030,7 +3043,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "system-configuration-sys", ] @@ -3047,15 +3060,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.15.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand 2.3.0", - "getrandom", + "getrandom 0.3.1", "once_cell", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.59.0", ] @@ -3081,13 +3094,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +checksum = "888d0c3c6db53c0fdab160d2ed5e12ba745383d3e85813f2ea0f2b1475ab553f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3107,11 +3120,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ac7f54ca534db81081ef1c1e7f6ea8a3ef428d2fc069097c079443d24124d3" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.10", + "thiserror-impl 2.0.11", ] [[package]] @@ -3122,18 +3135,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "thiserror-impl" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e9465d30713b56a37ede7185763c3492a91be2f5fa68d958c44e41ab9248beb" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3292,7 +3305,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3395,9 +3408,9 @@ checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-segmentation" @@ -3454,20 +3467,20 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" dependencies = [ - "getrandom", + "getrandom 0.3.1", "serde", "sha1_smol", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -3512,36 +3525,46 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -3552,9 +3575,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3562,28 +3585,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -3601,9 +3627,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.7" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] @@ -3679,7 +3705,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3690,7 +3716,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3871,6 +3897,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.8.0", +] + [[package]] name = "write16" version = "1.0.0" @@ -3909,7 +3944,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -3931,7 +3966,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3951,7 +3986,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -3980,5 +4015,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] diff --git a/plugins/md/Cargo.lock b/plugins/md/Cargo.lock index 3fe72bc4..c32e1884 100644 --- a/plugins/md/Cargo.lock +++ b/plugins/md/Cargo.lock @@ -167,11 +167,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] @@ -265,7 +266,7 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.3.0", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "slab", ] @@ -289,7 +290,7 @@ checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ "async-lock 3.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -322,10 +323,10 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "parking", "polling 3.7.4", - "rustix 0.38.43", + "rustix 0.38.44", "slab", "tracing", "windows-sys 0.59.0", @@ -370,7 +371,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" dependencies = [ "async-io 2.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -386,7 +387,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.48.0", ] @@ -404,8 +405,8 @@ dependencies = [ "blocking", "cfg-if", "event-listener 5.4.0", - "futures-lite 2.5.0", - "rustix 0.38.43", + "futures-lite 2.6.0", + "rustix 0.38.44", "tracing", ] @@ -421,7 +422,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -507,7 +508,7 @@ checksum = "a539389a13af092cd345a2b47ae7dec12deb306d660b2223d25cd3419b253ebe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -518,9 +519,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "blocking" @@ -531,15 +532,15 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "piper", ] [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytemuck" @@ -555,9 +556,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" [[package]] name = "cassowary" @@ -567,9 +568,9 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" [[package]] name = "cc" -version = "1.2.7" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "shlex", ] @@ -638,19 +639,19 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.26" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" +checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff" dependencies = [ "clap_builder", - "clap_derive 4.5.24", + "clap_derive 4.5.28", ] [[package]] name = "clap_builder" -version = "4.5.26" +version = "4.5.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" +checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" dependencies = [ "anstream", "anstyle", @@ -673,14 +674,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -747,7 +748,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -851,11 +852,11 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "crossterm_winapi", "mio", "parking_lot", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook", "signal-hook-mio", "winapi", @@ -872,9 +873,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "dap" @@ -901,7 +902,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -944,7 +945,7 @@ dependencies = [ "chrono", "chumsky", "circular-queue", - "clap 4.5.26", + "clap 4.5.28", "color-backtrace", "core_extensions", "crossbeam", @@ -952,7 +953,7 @@ dependencies = [ "dap", "dotenvy", "env_logger 0.11.6", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "heck 0.5.0", "lazy_static", "log", @@ -964,7 +965,7 @@ dependencies = [ "puteketeke", "regex", "reqwest", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustyline", "sarzak", "serde", @@ -1117,7 +1118,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" dependencies = [ "cfg-if", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.52.0", ] @@ -1190,9 +1191,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.3.0", "futures-core", @@ -1260,10 +1261,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1288,7 +1301,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.7.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -1413,9 +1426,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "humantime" @@ -1425,9 +1438,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -1634,7 +1647,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1670,9 +1683,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -1700,19 +1713,19 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi 0.4.0", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1729,9 +1742,9 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -1790,9 +1803,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "loom" @@ -1809,9 +1822,9 @@ dependencies = [ [[package]] name = "markdown" -version = "1.0.0-alpha.21" +version = "1.0.0-alpha.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6491e6c702bf7e3b24e769d800746d5f2c06a6c6a2db7992612e0f429029e81" +checksum = "790c11786cb51d02938e3eb38276575e1658b1dd8555875f5788a40670a33934" dependencies = [ "unicode-id", ] @@ -1857,9 +1870,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] @@ -1872,7 +1885,7 @@ checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -1888,9 +1901,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" dependencies = [ "libc", "log", @@ -1918,7 +1931,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "cfg_aliases", "libc", @@ -1979,7 +1992,7 @@ version = "1.0.0" source = "git+https://github.com/uberFoo/nut#1f89d402a281ab4ea02478d26512e8480146d12a" dependencies = [ "anyhow", - "clap 4.5.26", + "clap 4.5.28", "diff", "heck 0.4.1", "log", @@ -2007,17 +2020,17 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "foreign-types", "libc", @@ -2034,20 +2047,20 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.104" +version = "0.9.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc" dependencies = [ "cc", "libc", @@ -2173,7 +2186,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.43", + "rustix 0.38.44", "tracing", "windows-sys 0.59.0", ] @@ -2223,9 +2236,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -2248,7 +2261,7 @@ dependencies = [ "async-executor", "async-io 2.4.0", "crossbeam", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "once_cell", "parking_lot", "slab", @@ -2266,10 +2279,10 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "socket2 0.5.8", - "thiserror 2.0.10", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -2281,14 +2294,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom", + "getrandom 0.2.15", "rand", "ring", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.10", + "thiserror 2.0.11", "tinyvec", "tracing", "web-time", @@ -2354,7 +2367,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -2383,7 +2396,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -2497,7 +2510,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", @@ -2518,9 +2531,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -2547,11 +2560,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.43" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -2560,9 +2573,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.21" +version = "0.23.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7" dependencies = [ "once_cell", "ring", @@ -2583,9 +2596,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -2613,7 +2626,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "clipboard-win", "fd-lock", @@ -2638,14 +2651,14 @@ checksum = "327e9d075f6df7e25fbf594f1be7ef55cf0d567a6cb5112eeccbbd51ceb48e0d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "same-file" @@ -2664,7 +2677,7 @@ dependencies = [ "ansi_term", "bincode", "cfg-if", - "clap 4.5.26", + "clap 4.5.28", "heck 0.4.1", "log", "nut", @@ -2704,7 +2717,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "core-foundation-sys", "libc", @@ -2723,9 +2736,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] name = "serde" @@ -2744,14 +2757,14 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa", "memchr", @@ -2880,7 +2893,7 @@ dependencies = [ "async-net 2.0.0", "async-process 2.3.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -2923,7 +2936,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3008,9 +3021,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -3034,7 +3047,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3043,7 +3056,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "system-configuration-sys", ] @@ -3060,15 +3073,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.15.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand 2.3.0", - "getrandom", + "getrandom 0.3.1", "once_cell", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.59.0", ] @@ -3094,13 +3107,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +checksum = "888d0c3c6db53c0fdab160d2ed5e12ba745383d3e85813f2ea0f2b1475ab553f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3120,11 +3133,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ac7f54ca534db81081ef1c1e7f6ea8a3ef428d2fc069097c079443d24124d3" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.10", + "thiserror-impl 2.0.11", ] [[package]] @@ -3135,18 +3148,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "thiserror-impl" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e9465d30713b56a37ede7185763c3492a91be2f5fa68d958c44e41ab9248beb" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3305,7 +3318,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3414,9 +3427,9 @@ checksum = "10103c57044730945224467c09f71a4db0071c123a0648cc3e818913bde6b561" [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-segmentation" @@ -3479,20 +3492,20 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" dependencies = [ - "getrandom", + "getrandom 0.3.1", "serde", "sha1_smol", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -3537,36 +3550,46 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -3577,9 +3600,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3587,28 +3610,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -3626,9 +3652,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.7" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] @@ -3704,7 +3730,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3715,7 +3741,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3896,6 +3922,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.8.0", +] + [[package]] name = "write16" version = "1.0.0" @@ -3934,7 +3969,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -3956,7 +3991,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3976,7 +4011,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -4005,5 +4040,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] diff --git a/plugins/sarzak/Cargo.lock b/plugins/sarzak/Cargo.lock index 1f41cc35..e8758b1b 100644 --- a/plugins/sarzak/Cargo.lock +++ b/plugins/sarzak/Cargo.lock @@ -167,11 +167,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] @@ -265,7 +266,7 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.3.0", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "slab", ] @@ -289,7 +290,7 @@ checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ "async-lock 3.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -322,10 +323,10 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "parking", "polling 3.7.4", - "rustix 0.38.43", + "rustix 0.38.44", "slab", "tracing", "windows-sys 0.59.0", @@ -370,7 +371,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" dependencies = [ "async-io 2.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -386,7 +387,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.48.0", ] @@ -404,8 +405,8 @@ dependencies = [ "blocking", "cfg-if", "event-listener 5.4.0", - "futures-lite 2.5.0", - "rustix 0.38.43", + "futures-lite 2.6.0", + "rustix 0.38.44", "tracing", ] @@ -421,7 +422,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -507,7 +508,7 @@ checksum = "a539389a13af092cd345a2b47ae7dec12deb306d660b2223d25cd3419b253ebe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -518,9 +519,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "blocking" @@ -531,15 +532,15 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "piper", ] [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytemuck" @@ -555,9 +556,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" [[package]] name = "cassowary" @@ -567,9 +568,9 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" [[package]] name = "cc" -version = "1.2.7" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "shlex", ] @@ -638,19 +639,19 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.26" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" +checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff" dependencies = [ "clap_builder", - "clap_derive 4.5.24", + "clap_derive 4.5.28", ] [[package]] name = "clap_builder" -version = "4.5.26" +version = "4.5.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" +checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" dependencies = [ "anstream", "anstyle", @@ -673,14 +674,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -747,7 +748,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -851,11 +852,11 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "crossterm_winapi", "mio", "parking_lot", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook", "signal-hook-mio", "winapi", @@ -872,9 +873,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "dap" @@ -901,7 +902,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -944,7 +945,7 @@ dependencies = [ "chrono", "chumsky", "circular-queue", - "clap 4.5.26", + "clap 4.5.28", "color-backtrace", "core_extensions", "crossbeam", @@ -952,7 +953,7 @@ dependencies = [ "dap", "dotenvy", "env_logger 0.11.6", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "heck 0.5.0", "lazy_static", "log", @@ -964,7 +965,7 @@ dependencies = [ "puteketeke", "regex", "reqwest", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustyline", "sarzak 2.15.2", "serde", @@ -1117,7 +1118,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" dependencies = [ "cfg-if", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.52.0", ] @@ -1190,9 +1191,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.3.0", "futures-core", @@ -1260,10 +1261,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1288,7 +1301,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.7.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -1404,9 +1417,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "humantime" @@ -1416,9 +1429,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -1625,7 +1638,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1661,9 +1674,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -1691,19 +1704,19 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi 0.4.0", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1720,9 +1733,9 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -1781,9 +1794,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "loom" @@ -1827,9 +1840,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] @@ -1842,7 +1855,7 @@ checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -1858,9 +1871,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" dependencies = [ "libc", "log", @@ -1888,7 +1901,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "cfg_aliases", "libc", @@ -1949,7 +1962,7 @@ version = "1.0.0" source = "git+https://github.com/uberFoo/nut#1f89d402a281ab4ea02478d26512e8480146d12a" dependencies = [ "anyhow", - "clap 4.5.26", + "clap 4.5.28", "diff", "heck 0.4.1", "log", @@ -1977,17 +1990,17 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "foreign-types", "libc", @@ -2004,20 +2017,20 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.104" +version = "0.9.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc" dependencies = [ "cc", "libc", @@ -2143,7 +2156,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.43", + "rustix 0.38.44", "tracing", "windows-sys 0.59.0", ] @@ -2193,9 +2206,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -2218,7 +2231,7 @@ dependencies = [ "async-executor", "async-io 2.4.0", "crossbeam", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "once_cell", "parking_lot", "slab", @@ -2236,10 +2249,10 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "socket2 0.5.8", - "thiserror 2.0.10", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -2251,14 +2264,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom", + "getrandom 0.2.15", "rand", "ring", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.10", + "thiserror 2.0.11", "tinyvec", "tracing", "web-time", @@ -2324,7 +2337,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -2353,7 +2366,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -2467,7 +2480,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", @@ -2488,9 +2501,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -2517,11 +2530,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.43" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -2530,9 +2543,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.21" +version = "0.23.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7" dependencies = [ "once_cell", "ring", @@ -2553,9 +2566,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -2583,7 +2596,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "clipboard-win", "fd-lock", @@ -2608,14 +2621,14 @@ checksum = "327e9d075f6df7e25fbf594f1be7ef55cf0d567a6cb5112eeccbbd51ceb48e0d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "same-file" @@ -2636,7 +2649,7 @@ dependencies = [ "heck 0.5.0", "log", "ordered_hash_map", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "sarzak 2.15.2", "serde", "serde_json", @@ -2651,7 +2664,7 @@ dependencies = [ "ansi_term", "bincode", "cfg-if", - "clap 4.5.26", + "clap 4.5.28", "heck 0.4.1", "log", "nut", @@ -2691,7 +2704,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "core-foundation-sys", "libc", @@ -2710,9 +2723,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] name = "serde" @@ -2731,14 +2744,14 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa", "memchr", @@ -2867,7 +2880,7 @@ dependencies = [ "async-net 2.0.0", "async-process 2.3.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -2910,7 +2923,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2995,9 +3008,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -3021,7 +3034,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3030,7 +3043,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "system-configuration-sys", ] @@ -3047,15 +3060,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.15.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand 2.3.0", - "getrandom", + "getrandom 0.3.1", "once_cell", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.59.0", ] @@ -3081,13 +3094,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +checksum = "888d0c3c6db53c0fdab160d2ed5e12ba745383d3e85813f2ea0f2b1475ab553f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3107,11 +3120,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ac7f54ca534db81081ef1c1e7f6ea8a3ef428d2fc069097c079443d24124d3" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.10", + "thiserror-impl 2.0.11", ] [[package]] @@ -3122,18 +3135,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "thiserror-impl" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e9465d30713b56a37ede7185763c3492a91be2f5fa68d958c44e41ab9248beb" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3292,7 +3305,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3395,9 +3408,9 @@ checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-segmentation" @@ -3454,20 +3467,20 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" dependencies = [ - "getrandom", + "getrandom 0.3.1", "serde", "sha1_smol", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -3512,36 +3525,46 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -3552,9 +3575,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3562,28 +3585,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -3601,9 +3627,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.7" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] @@ -3679,7 +3705,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3690,7 +3716,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3871,6 +3897,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.8.0", +] + [[package]] name = "write16" version = "1.0.0" @@ -3909,7 +3944,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -3931,7 +3966,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3951,7 +3986,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -3980,5 +4015,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] diff --git a/plugins/sqlx/Cargo.lock b/plugins/sqlx/Cargo.lock index 2782beea..1fb6bc69 100644 --- a/plugins/sqlx/Cargo.lock +++ b/plugins/sqlx/Cargo.lock @@ -167,11 +167,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] @@ -275,7 +276,7 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.3.0", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "slab", ] @@ -299,7 +300,7 @@ checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ "async-lock 3.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -313,7 +314,7 @@ dependencies = [ "async-io 2.4.0", "async-lock 3.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "once_cell", ] @@ -347,10 +348,10 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "parking", "polling 3.7.4", - "rustix 0.38.43", + "rustix 0.38.44", "slab", "tracing", "windows-sys 0.59.0", @@ -395,7 +396,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" dependencies = [ "async-io 2.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -411,7 +412,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.48.0", ] @@ -429,8 +430,8 @@ dependencies = [ "blocking", "cfg-if", "event-listener 5.4.0", - "futures-lite 2.5.0", - "rustix 0.38.43", + "futures-lite 2.6.0", + "rustix 0.38.44", "tracing", ] @@ -446,7 +447,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -467,7 +468,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "gloo-timers", "kv-log-macro", "log", @@ -574,7 +575,7 @@ checksum = "a539389a13af092cd345a2b47ae7dec12deb306d660b2223d25cd3419b253ebe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -585,9 +586,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" dependencies = [ "serde", ] @@ -610,15 +611,15 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "piper", ] [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytemuck" @@ -634,9 +635,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" [[package]] name = "cassowary" @@ -646,9 +647,9 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" [[package]] name = "cc" -version = "1.2.7" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "shlex", ] @@ -717,19 +718,19 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.26" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" +checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff" dependencies = [ "clap_builder", - "clap_derive 4.5.24", + "clap_derive 4.5.28", ] [[package]] name = "clap_builder" -version = "4.5.26" +version = "4.5.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" +checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" dependencies = [ "anstream", "anstyle", @@ -752,14 +753,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -832,7 +833,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -876,9 +877,9 @@ checksum = "69f3b219d28b6e3b4ac87bc1fc522e0803ab22e055da177bff0068c4150c61a6" [[package]] name = "cpufeatures" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -960,11 +961,11 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "crossterm_winapi", "mio", "parking_lot", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook", "signal-hook-mio", "winapi", @@ -981,9 +982,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-common" @@ -1043,7 +1044,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1086,7 +1087,7 @@ dependencies = [ "chrono", "chumsky", "circular-queue", - "clap 4.5.26", + "clap 4.5.28", "color-backtrace", "core_extensions", "crossbeam", @@ -1094,7 +1095,7 @@ dependencies = [ "dap", "dotenvy", "env_logger 0.11.6", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "heck 0.5.0", "lazy_static", "log", @@ -1106,7 +1107,7 @@ dependencies = [ "puteketeke", "regex", "reqwest", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustyline", "sarzak", "serde", @@ -1279,7 +1280,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" dependencies = [ "cfg-if", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.52.0", ] @@ -1391,9 +1392,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.3.0", "futures-core", @@ -1471,10 +1472,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1511,7 +1524,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.7.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -1665,9 +1678,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "humantime" @@ -1677,9 +1690,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -1886,7 +1899,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1922,9 +1935,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -1952,19 +1965,19 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi 0.4.0", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1981,9 +1994,9 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -2070,9 +2083,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" dependencies = [ "value-bag", ] @@ -2129,9 +2142,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] @@ -2144,7 +2157,7 @@ checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -2160,9 +2173,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" dependencies = [ "libc", "log", @@ -2190,7 +2203,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "cfg_aliases", "libc", @@ -2289,7 +2302,7 @@ version = "1.0.0" source = "git+https://github.com/uberFoo/nut#1f89d402a281ab4ea02478d26512e8480146d12a" dependencies = [ "anyhow", - "clap 4.5.26", + "clap 4.5.28", "diff", "heck 0.4.1", "log", @@ -2317,17 +2330,17 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "foreign-types", "libc", @@ -2344,20 +2357,20 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.104" +version = "0.9.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc" dependencies = [ "cc", "libc", @@ -2513,7 +2526,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.43", + "rustix 0.38.44", "tracing", "windows-sys 0.59.0", ] @@ -2563,9 +2576,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -2588,7 +2601,7 @@ dependencies = [ "async-executor", "async-io 2.4.0", "crossbeam", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "once_cell", "parking_lot", "slab", @@ -2606,10 +2619,10 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "socket2 0.5.8", - "thiserror 2.0.10", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -2621,14 +2634,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom", + "getrandom 0.2.15", "rand", "ring", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.10", + "thiserror 2.0.11", "tinyvec", "tracing", "web-time", @@ -2694,7 +2707,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -2723,7 +2736,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -2837,7 +2850,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", @@ -2878,9 +2891,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -2907,11 +2920,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.43" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -2920,9 +2933,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.21" +version = "0.23.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7" dependencies = [ "once_cell", "ring", @@ -2943,9 +2956,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -2973,7 +2986,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "clipboard-win", "fd-lock", @@ -2998,14 +3011,14 @@ checksum = "327e9d075f6df7e25fbf594f1be7ef55cf0d567a6cb5112eeccbbd51ceb48e0d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "same-file" @@ -3024,7 +3037,7 @@ dependencies = [ "ansi_term", "bincode", "cfg-if", - "clap 4.5.26", + "clap 4.5.28", "heck 0.4.1", "log", "nut", @@ -3064,7 +3077,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "core-foundation-sys", "libc", @@ -3083,9 +3096,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] name = "serde" @@ -3104,14 +3117,14 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa", "memchr", @@ -3275,7 +3288,7 @@ dependencies = [ "async-net 2.0.0", "async-process 2.3.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -3318,7 +3331,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3369,7 +3382,7 @@ dependencies = [ "chrono", "crossbeam", "dwarf", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "slab", "sqlx 0.8.3", "tracing", @@ -3408,7 +3421,7 @@ dependencies = [ "futures-util", "hashbrown 0.15.2", "hashlink", - "indexmap 2.7.0", + "indexmap 2.7.1", "log", "memchr", "once_cell", @@ -3419,7 +3432,7 @@ dependencies = [ "serde_json", "sha2", "smallvec", - "thiserror 2.0.10", + "thiserror 2.0.11", "tracing", "url", "webpki-roots", @@ -3435,7 +3448,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3459,7 +3472,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.96", + "syn 2.0.98", "tempfile", "url", ] @@ -3472,7 +3485,7 @@ checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" dependencies = [ "atoi", "base64", - "bitflags 2.7.0", + "bitflags 2.8.0", "byteorder", "bytes", "chrono", @@ -3502,7 +3515,7 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror 2.0.10", + "thiserror 2.0.11", "tracing", "whoami", ] @@ -3515,7 +3528,7 @@ checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" dependencies = [ "atoi", "base64", - "bitflags 2.7.0", + "bitflags 2.8.0", "byteorder", "chrono", "crc", @@ -3540,7 +3553,7 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror 2.0.10", + "thiserror 2.0.11", "tracing", "whoami", ] @@ -3636,9 +3649,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -3662,7 +3675,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3671,7 +3684,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "system-configuration-sys", ] @@ -3688,15 +3701,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.15.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand 2.3.0", - "getrandom", + "getrandom 0.3.1", "once_cell", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.59.0", ] @@ -3722,13 +3735,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +checksum = "888d0c3c6db53c0fdab160d2ed5e12ba745383d3e85813f2ea0f2b1475ab553f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3748,11 +3761,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ac7f54ca534db81081ef1c1e7f6ea8a3ef428d2fc069097c079443d24124d3" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.10", + "thiserror-impl 2.0.11", ] [[package]] @@ -3763,18 +3776,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "thiserror-impl" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e9465d30713b56a37ede7185763c3492a91be2f5fa68d958c44e41ab9248beb" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3934,7 +3947,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4049,9 +4062,9 @@ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-normalization" @@ -4123,20 +4136,20 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" dependencies = [ - "getrandom", + "getrandom 0.3.1", "serde", "sha1_smol", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "value-bag" @@ -4187,6 +4200,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasite" version = "0.1.0" @@ -4195,34 +4217,35 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -4233,9 +4256,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4243,28 +4266,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -4282,9 +4308,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.7" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] @@ -4370,7 +4396,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4381,7 +4407,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4562,6 +4588,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.8.0", +] + [[package]] name = "write16" version = "1.0.0" @@ -4600,7 +4635,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -4622,7 +4657,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4642,7 +4677,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -4671,5 +4706,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] diff --git a/plugins/std/Cargo.lock b/plugins/std/Cargo.lock index 365f6382..81864a67 100644 --- a/plugins/std/Cargo.lock +++ b/plugins/std/Cargo.lock @@ -167,11 +167,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] @@ -265,7 +266,7 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.3.0", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "slab", ] @@ -289,7 +290,7 @@ checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ "async-lock 3.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -322,10 +323,10 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "parking", "polling 3.7.4", - "rustix 0.38.43", + "rustix 0.38.44", "slab", "tracing", "windows-sys 0.59.0", @@ -370,7 +371,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" dependencies = [ "async-io 2.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -386,7 +387,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.48.0", ] @@ -404,8 +405,8 @@ dependencies = [ "blocking", "cfg-if", "event-listener 5.4.0", - "futures-lite 2.5.0", - "rustix 0.38.43", + "futures-lite 2.6.0", + "rustix 0.38.44", "tracing", ] @@ -421,7 +422,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -507,7 +508,7 @@ checksum = "a539389a13af092cd345a2b47ae7dec12deb306d660b2223d25cd3419b253ebe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -518,9 +519,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "blocking" @@ -531,15 +532,15 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "piper", ] [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytemuck" @@ -555,9 +556,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" [[package]] name = "cassowary" @@ -567,9 +568,9 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" [[package]] name = "cc" -version = "1.2.7" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "shlex", ] @@ -638,19 +639,19 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.26" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" +checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff" dependencies = [ "clap_builder", - "clap_derive 4.5.24", + "clap_derive 4.5.28", ] [[package]] name = "clap_builder" -version = "4.5.26" +version = "4.5.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" +checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" dependencies = [ "anstream", "anstyle", @@ -673,14 +674,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -747,7 +748,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -851,11 +852,11 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "crossterm_winapi", "mio", "parking_lot", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook", "signal-hook-mio", "winapi", @@ -872,9 +873,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "dap" @@ -901,7 +902,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -944,7 +945,7 @@ dependencies = [ "chrono", "chumsky", "circular-queue", - "clap 4.5.26", + "clap 4.5.28", "color-backtrace", "core_extensions", "crossbeam", @@ -952,7 +953,7 @@ dependencies = [ "dap", "dotenvy", "env_logger 0.11.6", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "heck 0.5.0", "lazy_static", "log", @@ -964,7 +965,7 @@ dependencies = [ "puteketeke", "regex", "reqwest", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustyline", "sarzak", "serde", @@ -1117,7 +1118,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" dependencies = [ "cfg-if", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.52.0", ] @@ -1190,9 +1191,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.3.0", "futures-core", @@ -1260,10 +1261,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1288,7 +1301,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.7.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -1404,9 +1417,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "humantime" @@ -1416,9 +1429,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -1625,7 +1638,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1661,9 +1674,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -1691,19 +1704,19 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi 0.4.0", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1720,9 +1733,9 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -1781,9 +1794,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "loom" @@ -1827,9 +1840,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] @@ -1842,7 +1855,7 @@ checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -1858,9 +1871,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" dependencies = [ "libc", "log", @@ -1888,7 +1901,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "cfg_aliases", "libc", @@ -1949,7 +1962,7 @@ version = "1.0.0" source = "git+https://github.com/uberFoo/nut#1f89d402a281ab4ea02478d26512e8480146d12a" dependencies = [ "anyhow", - "clap 4.5.26", + "clap 4.5.28", "diff", "heck 0.4.1", "log", @@ -1977,17 +1990,17 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "foreign-types", "libc", @@ -2004,20 +2017,20 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.104" +version = "0.9.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc" dependencies = [ "cc", "libc", @@ -2143,7 +2156,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.43", + "rustix 0.38.44", "tracing", "windows-sys 0.59.0", ] @@ -2193,9 +2206,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -2218,7 +2231,7 @@ dependencies = [ "async-executor", "async-io 2.4.0", "crossbeam", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "once_cell", "parking_lot", "slab", @@ -2236,10 +2249,10 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "socket2 0.5.8", - "thiserror 2.0.10", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -2251,14 +2264,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom", + "getrandom 0.2.15", "rand", "ring", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.10", + "thiserror 2.0.11", "tinyvec", "tracing", "web-time", @@ -2324,7 +2337,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -2353,7 +2366,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -2467,7 +2480,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", @@ -2488,9 +2501,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -2517,11 +2530,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.43" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -2530,9 +2543,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.21" +version = "0.23.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7" dependencies = [ "once_cell", "ring", @@ -2553,9 +2566,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -2583,7 +2596,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "clipboard-win", "fd-lock", @@ -2608,14 +2621,14 @@ checksum = "327e9d075f6df7e25fbf594f1be7ef55cf0d567a6cb5112eeccbbd51ceb48e0d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "same-file" @@ -2634,7 +2647,7 @@ dependencies = [ "ansi_term", "bincode", "cfg-if", - "clap 4.5.26", + "clap 4.5.28", "heck 0.4.1", "log", "nut", @@ -2674,7 +2687,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "core-foundation-sys", "libc", @@ -2693,9 +2706,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] name = "serde" @@ -2714,14 +2727,14 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa", "memchr", @@ -2850,7 +2863,7 @@ dependencies = [ "async-net 2.0.0", "async-process 2.3.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -2893,7 +2906,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2988,9 +3001,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -3014,7 +3027,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3023,7 +3036,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "system-configuration-sys", ] @@ -3040,15 +3053,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.15.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand 2.3.0", - "getrandom", + "getrandom 0.3.1", "once_cell", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.59.0", ] @@ -3074,13 +3087,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +checksum = "888d0c3c6db53c0fdab160d2ed5e12ba745383d3e85813f2ea0f2b1475ab553f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3100,11 +3113,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ac7f54ca534db81081ef1c1e7f6ea8a3ef428d2fc069097c079443d24124d3" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.10", + "thiserror-impl 2.0.11", ] [[package]] @@ -3115,18 +3128,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "thiserror-impl" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e9465d30713b56a37ede7185763c3492a91be2f5fa68d958c44e41ab9248beb" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3285,7 +3298,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3388,9 +3401,9 @@ checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-segmentation" @@ -3447,20 +3460,20 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" dependencies = [ - "getrandom", + "getrandom 0.3.1", "serde", "sha1_smol", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -3505,36 +3518,46 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -3545,9 +3568,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3555,28 +3578,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -3594,9 +3620,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.7" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] @@ -3672,7 +3698,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3683,7 +3709,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3864,6 +3890,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.8.0", +] + [[package]] name = "write16" version = "1.0.0" @@ -3902,7 +3937,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -3924,7 +3959,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3944,7 +3979,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -3973,5 +4008,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] diff --git a/plugins/test_ffi/Cargo.lock b/plugins/test_ffi/Cargo.lock index 83b45b27..2462fd53 100644 --- a/plugins/test_ffi/Cargo.lock +++ b/plugins/test_ffi/Cargo.lock @@ -167,11 +167,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] @@ -265,7 +266,7 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.3.0", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "slab", ] @@ -289,7 +290,7 @@ checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ "async-lock 3.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -322,10 +323,10 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "parking", "polling 3.7.4", - "rustix 0.38.43", + "rustix 0.38.44", "slab", "tracing", "windows-sys 0.59.0", @@ -370,7 +371,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" dependencies = [ "async-io 2.4.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -386,7 +387,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.48.0", ] @@ -404,8 +405,8 @@ dependencies = [ "blocking", "cfg-if", "event-listener 5.4.0", - "futures-lite 2.5.0", - "rustix 0.38.43", + "futures-lite 2.6.0", + "rustix 0.38.44", "tracing", ] @@ -421,7 +422,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -507,7 +508,7 @@ checksum = "a539389a13af092cd345a2b47ae7dec12deb306d660b2223d25cd3419b253ebe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -518,9 +519,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "blocking" @@ -531,15 +532,15 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "piper", ] [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytemuck" @@ -555,9 +556,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" [[package]] name = "cassowary" @@ -567,9 +568,9 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" [[package]] name = "cc" -version = "1.2.7" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "shlex", ] @@ -638,19 +639,19 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.26" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" +checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff" dependencies = [ "clap_builder", - "clap_derive 4.5.24", + "clap_derive 4.5.28", ] [[package]] name = "clap_builder" -version = "4.5.26" +version = "4.5.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" +checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" dependencies = [ "anstream", "anstyle", @@ -673,14 +674,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -747,7 +748,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -851,11 +852,11 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "crossterm_winapi", "mio", "parking_lot", - "rustix 0.38.43", + "rustix 0.38.44", "signal-hook", "signal-hook-mio", "winapi", @@ -872,9 +873,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "dap" @@ -901,7 +902,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -944,7 +945,7 @@ dependencies = [ "chrono", "chumsky", "circular-queue", - "clap 4.5.26", + "clap 4.5.28", "color-backtrace", "core_extensions", "crossbeam", @@ -952,7 +953,7 @@ dependencies = [ "dap", "dotenvy", "env_logger 0.11.6", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "heck 0.5.0", "lazy_static", "log", @@ -964,7 +965,7 @@ dependencies = [ "puteketeke", "regex", "reqwest", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustyline", "sarzak", "serde", @@ -1117,7 +1118,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" dependencies = [ "cfg-if", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.52.0", ] @@ -1190,9 +1191,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.3.0", "futures-core", @@ -1260,10 +1261,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1288,7 +1301,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.7.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -1404,9 +1417,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "humantime" @@ -1416,9 +1429,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -1625,7 +1638,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1661,9 +1674,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -1691,19 +1704,19 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi 0.4.0", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1720,9 +1733,9 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -1781,9 +1794,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "loom" @@ -1827,9 +1840,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] @@ -1842,7 +1855,7 @@ checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -1858,9 +1871,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" dependencies = [ "libc", "log", @@ -1888,7 +1901,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "cfg_aliases", "libc", @@ -1949,7 +1962,7 @@ version = "1.0.0" source = "git+https://github.com/uberFoo/nut#1f89d402a281ab4ea02478d26512e8480146d12a" dependencies = [ "anyhow", - "clap 4.5.26", + "clap 4.5.28", "diff", "heck 0.4.1", "log", @@ -1977,17 +1990,17 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "foreign-types", "libc", @@ -2004,20 +2017,20 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.104" +version = "0.9.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc" dependencies = [ "cc", "libc", @@ -2143,7 +2156,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.43", + "rustix 0.38.44", "tracing", "windows-sys 0.59.0", ] @@ -2193,9 +2206,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -2218,7 +2231,7 @@ dependencies = [ "async-executor", "async-io 2.4.0", "crossbeam", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "once_cell", "parking_lot", "slab", @@ -2236,10 +2249,10 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "socket2 0.5.8", - "thiserror 2.0.10", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -2251,14 +2264,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom", + "getrandom 0.2.15", "rand", "ring", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.10", + "thiserror 2.0.11", "tinyvec", "tracing", "web-time", @@ -2324,7 +2337,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -2353,7 +2366,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -2467,7 +2480,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", @@ -2488,9 +2501,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -2517,11 +2530,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.43" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -2530,9 +2543,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.21" +version = "0.23.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7" dependencies = [ "once_cell", "ring", @@ -2553,9 +2566,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -2583,7 +2596,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "clipboard-win", "fd-lock", @@ -2608,14 +2621,14 @@ checksum = "327e9d075f6df7e25fbf594f1be7ef55cf0d567a6cb5112eeccbbd51ceb48e0d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "same-file" @@ -2634,7 +2647,7 @@ dependencies = [ "ansi_term", "bincode", "cfg-if", - "clap 4.5.26", + "clap 4.5.28", "heck 0.4.1", "log", "nut", @@ -2674,7 +2687,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "core-foundation-sys", "libc", @@ -2693,9 +2706,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] name = "serde" @@ -2714,14 +2727,14 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa", "memchr", @@ -2850,7 +2863,7 @@ dependencies = [ "async-net 2.0.0", "async-process 2.3.0", "blocking", - "futures-lite 2.5.0", + "futures-lite 2.6.0", ] [[package]] @@ -2893,7 +2906,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2978,9 +2991,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -3004,7 +3017,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3013,7 +3026,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "system-configuration-sys", ] @@ -3030,15 +3043,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.15.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand 2.3.0", - "getrandom", + "getrandom 0.3.1", "once_cell", - "rustix 0.38.43", + "rustix 0.38.44", "windows-sys 0.59.0", ] @@ -3064,13 +3077,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +checksum = "888d0c3c6db53c0fdab160d2ed5e12ba745383d3e85813f2ea0f2b1475ab553f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3099,11 +3112,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ac7f54ca534db81081ef1c1e7f6ea8a3ef428d2fc069097c079443d24124d3" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.10", + "thiserror-impl 2.0.11", ] [[package]] @@ -3114,18 +3127,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "thiserror-impl" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e9465d30713b56a37ede7185763c3492a91be2f5fa68d958c44e41ab9248beb" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3284,7 +3297,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3387,9 +3400,9 @@ checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-segmentation" @@ -3446,20 +3459,20 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" dependencies = [ - "getrandom", + "getrandom 0.3.1", "serde", "sha1_smol", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -3504,36 +3517,46 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -3544,9 +3567,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3554,28 +3577,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -3593,9 +3619,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.7" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] @@ -3671,7 +3697,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3682,7 +3708,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3863,6 +3889,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.8.0", +] + [[package]] name = "write16" version = "1.0.0" @@ -3901,7 +3936,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -3923,7 +3958,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3943,7 +3978,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -3972,5 +4007,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] diff --git a/src/dwarf/extruder.rs b/src/dwarf/extruder.rs index d2ff4141..ec67c917 100644 --- a/src/dwarf/extruder.rs +++ b/src/dwarf/extruder.rs @@ -28,7 +28,7 @@ use crate::{ lu_dog::{ store::ObjectStore as LuDogStore, types::{ - AWait, Block, Body, BooleanOperator, Call, CharLiteral, EnumFieldEnum, Expression, + Block, Body, BooleanOperator, Call, CharLiteral, EnumFieldEnum, Expression, ExpressionBit, ExpressionEnum, ExpressionStatement, Field, ForLoop, FormatBit, FormatString, FuncGeneric, FunctionCall, HaltAndCatchFire, ImplementationBlock, Import, Index, IntegerLiteral, Item as WoogItem, ItemStatement, Lambda, LambdaParameter, @@ -48,7 +48,12 @@ use crate::{ }; mod expression; -use expression::{addition, and, expr_as, method_call, static_method_call, struct_expr, unit_enum}; +use expression::{ + a_weight, addition, and, any_list, assignment, bang, block, boolean_literal, char_literal, + debug as expr_debug, division, empty, equals, expr_as, field_access, float_literal, for_loop, + format_string, function_call, group, gt, gte, halt, if_expr, index, integer_literal, + method_call, static_method_call, string_literal, struct_expr, unit_enum, +}; pub(super) const EXTENSION_DIR: &str = "extensions"; pub(super) const JSON_EXT: &str = "json"; @@ -58,19 +63,6 @@ pub(super) const MODEL_DIR: &str = "models"; pub(super) const SRC_DIR: &str = "src"; pub(super) const ORE_EXT: &str = "ore"; -macro_rules! link_format_bits { - ($last:expr, $next:expr, $store:expr) => {{ - let next = s_read!($next); - if let Some(last) = $last { - let last = $store.exhume_format_bit(&last).unwrap().clone(); - let mut last = s_write!(last); - last.next = Some(next.id); - } - - Some(next.id) - }}; -} - macro_rules! link_Æ›_parameter { ($last:expr, $next:expr, $store:expr) => {{ let next = s_read!($next); @@ -136,6 +128,7 @@ macro_rules! link_list_element { Some(next.id) }}; } +pub(crate) use link_list_element; macro_rules! function { () => {{ @@ -1125,116 +1118,228 @@ pub(super) fn inter_expression( ParserExpression::And(lhs_p, rhs_p) => { and::inter(lhs_p, rhs_p, span, block, context, import_stack, lu_dog) } + ParserExpression::AnyList(ref elements) => { + any_list::inter(elements, span, block, context, import_stack, lu_dog) + } + ParserExpression::As(expr, ref ty) => { + expr_as::inter(expr, ty, span, block, context, import_stack, lu_dog) + } + ParserExpression::Assignment(lhs_p, rhs_p) => { + assignment::inter(lhs_p, rhs_p, span, block, context, import_stack, lu_dog) + } + ParserExpression::Await(expr_p) => { + a_weight::inter(expr_p, span, block, context, import_stack, lu_dog) + } + ParserExpression::Bang(expr) => { + bang::inter(expr, span, block, context, import_stack, lu_dog) + } + ParserExpression::Block(a_sink, ref stmts, vars, tys) => { + block::inter( + a_sink, + stmts, + vars, + tys, + span, + block, + context, + import_stack, + lu_dog, + ) + } + ParserExpression::BooleanLiteral(literal) => { + boolean_literal::inter(literal, span, block, context, lu_dog) + } + ParserExpression::CharLiteral(literal) => { + char_literal::inter(literal, span, block, lu_dog) + } + ParserExpression::Debug => { + expr_debug::inter(span, block, lu_dog) + } + ParserExpression::Division(lhs_p, rhs_p) => { + division::inter(lhs_p, rhs_p, span, block, context, import_stack, lu_dog) + } + ParserExpression::Empty => { + empty::inter(span, block, lu_dog) + } + ParserExpression::Equals(lhs_p, rhs_p) => { + equals::inter(lhs_p, rhs_p, span, block, context, import_stack, lu_dog) + } + ParserExpression::FieldAccess(lhs, rhs) => { + field_access::inter(lhs, rhs, span, block, context, import_stack, lu_dog) + } + ParserExpression::FloatLiteral(literal) => { + float_literal::inter(literal, span, block, context, lu_dog) + } + ParserExpression::For(iter, collection, body) => { + for_loop::inter(iter, collection, body, span, block, context, import_stack, lu_dog) + } + ParserExpression::FormatString(bits) => { + format_string::inter(&bits, span, block, context, import_stack, lu_dog) + } + ParserExpression::FunctionCall(func, args) => { + function_call::inter(func, &args, span, block, context, import_stack, lu_dog) + } // - // AnyList + // GreaterThan: > // - ParserExpression::AnyList(ref elements) => { - debug!("anylist {:?}", elements); - if elements.is_empty() { - panic!("Just don't do this. It doesn't even merit an error."); + ParserExpression::GreaterThan(lhs, rhs) => { + gt::inter(lhs, rhs, span, block, context, import_stack, lu_dog) + } + // + // GreaterThanOrEqual: >= + // + ParserExpression::GreaterThanOrEqual(lhs, rhs) => { + gte::inter(lhs, rhs, span, block, context, import_stack, lu_dog) + } + // + // Group + // + ParserExpression::Group(expr) => { + group::inter(expr, block, context, import_stack, lu_dog) + } + // + // Halt + // + ParserExpression::Halt(expr) => { + halt::inter(expr, span, block, context, import_stack, lu_dog) + } + // + // If + // + ParserExpression::If(conditional, true_block, false_block) => { + if_expr::inter( + conditional, + true_block, + false_block, + span, + block, + context, + import_stack, + lu_dog, + ) + } + // + // Index + // + ParserExpression::Index(target, index) => { + index::inter(target, index, span, block, context, import_stack, lu_dog) + } + ParserExpression::IntegerLiteral(literal) => { + integer_literal::inter(literal, span, block, context, lu_dog) + } + // + // Lambda + // + ParserExpression::Lambda(a_sink, params, return_type, body) => { + let (stmts, a_sink) = if let ParserExpression::Block(_, body, _, _) = &body.0 { + let a_sink = match a_sink { + BlockType::Async => true, + BlockType::Sync => false, + }; + (body, a_sink) } else { - let mut elements = elements.iter(); + unreachable!("Not a block expression {:?}", body.0); + }; + let block = Block::new(a_sink, Uuid::new_v4(), Some(block), None, lu_dog); + let _body = Body::new_block(a_sink, &block, lu_dog); - let element = elements.next().unwrap(); - let ((first, first_span), first_ty) = inter_expression( - &new_ref!(ParserExpression, element.0.to_owned()), - &element.1, - block, + context.location = location!(); + let ret_ty = make_value_type( + &return_type.0, + &return_type.1, + None, + context, + import_stack, + lu_dog, + )?; + + let lambda = Lambda::new(Some(&_body), None, &ret_ty, lu_dog); + let _ty = ValueType::new_lambda(true, &lambda, lu_dog); + + let mut errors = Vec::new(); + let mut last_param_uuid: Option = None; + for (position, ((param_name, name_span), (param_ty, ty_span))) in + params.iter().enumerate() + { + debug!("param name {}", param_name); + debug!("param ty {}", param_ty); + + context.location = location!(); + let param_ty = match make_value_type( + param_ty, + ty_span, + None, context, import_stack, lu_dog, - )?; + ) { + Ok(ty) => ty, + Err(mut e) => { + errors.append(&mut e); + continue; + } + }; + debug!("param_ty {:?}", param_ty); - let element = ListElement::new(0, &first, None, lu_dog); - let expr = Expression::new_list_element(true, &element, lu_dog); - let value = XValue::new_expression(block, &first_ty, &expr, lu_dog); + let param = LambdaParameter::new( + position as DwarfInteger, + &lambda, + None, + Some(¶m_ty), + lu_dog, + ); - // We need to clone the span because it's already been used - // by the underlying value. + debug!("param {:?}", param); + + if position == 0 { + // 🚧 This should be marked as unsafe, as there is no type + // check happening. + s_write!(lambda).first_param = Some(s_read!(param).id); + } + + let var = Variable::new_lambda_parameter(param_name.to_owned(), ¶m, lu_dog); + debug!("var {:?}", var); + // We need to introduce the values into the block, so that we don't + // error out when parsing the statements. + // + let value = XValue::new_variable(&block, ¶m_ty, &var, lu_dog); LuDogSpan::new( - s_read!(first_span).end, - s_read!(first_span).start, + name_span.end as i64, + name_span.start as i64, &context.source, None, Some(&value), lu_dog, ); + last_param_uuid = link_Æ›_parameter!(last_param_uuid, param, lu_dog); + } - let list_expr = ListExpression::new(Some(&element), - &ValueType::new_unknown(true, lu_dog), lu_dog); - - let mut last_element_uuid: Option = Some(s_read!(element).id); - let mut position = 1; - for element in elements { - let ((elt, elt_span), elt_ty) = inter_expression( - &new_ref!(ParserExpression, element.0.to_owned()), - &element.1, - block, - context, - import_stack, - lu_dog, - )?; + let stmts: Vec> = stmts + .iter() + .map(|stmt| new_ref!(ParserStatement, stmt.0.clone())) + .collect(); - let element = ListElement::new(position, &elt, None, lu_dog); - position += 1; + let (block_ty, block_span) = + inter_statements(&stmts, &body.1, &block, context, import_stack, lu_dog)?; - last_element_uuid = link_list_element!(last_element_uuid, element, lu_dog); - let expr = Expression::new_list_element(true, &element, lu_dog); - let value = XValue::new_expression(block, &elt_ty, &expr, lu_dog); - LuDogSpan::new( - s_read!(elt_span).end, - s_read!(elt_span).start, - &context.source, - None, - Some(&value), - lu_dog, - ); - } + typecheck( + (&ret_ty, &return_type.1), + (&block_ty, &block_span), + location!(), + context, + lu_dog, + )?; - let expr = Expression::new_list_expression(true, &list_expr, lu_dog); - let ty = ValueType::new_any_list(true, lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); + let expr = Expression::new_lambda(true, &lambda, lu_dog); + let value = XValue::new_expression(&block, &ret_ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); - Ok(((expr, span), ty)) - } - } - ParserExpression::As(expr, ref ty) => { - expr_as::inter(expr, ty, span, block, context, import_stack, lu_dog) + Ok(((expr, span), ret_ty)) } // - // Asm - // - // ParserExpression::Asm(ref exprs) => { - // let mut exprs = exprs - // .iter() - // .map(|expr| { - // inter_expression( - // &new_ref!(ParserExpression, expr.0.to_owned()), - // &expr.1, - // source, - // block, - // lu_dog, - // models, - // sarzak, - // ) - // }) - // .collect::, _>>()?; - - // let static_method_call = - // StaticMethodCall::new("execute_asm".to_owned(), "chacha".to_owned(), lu_dog); - // // &exprs - // // .iter() - // // .map(|expr| &expr.0) - // // .collect::>() - // // .as_slice(), - // // lu_dog, - // // ); - // } - // - // Assignment + // LessThan: < // - ParserExpression::Assignment(ref lhs_p, ref rhs_p) => { + ParserExpression::LessThan(ref lhs_p, ref rhs_p) => { let (lhs, lhs_ty) = inter_expression( &new_ref!(ParserExpression, lhs_p.0.to_owned()), &lhs_p.1, @@ -1252,6 +1357,15 @@ pub(super) fn inter_expression( lu_dog, )?; + // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 + // 🚧 THIS IS SUPER IMPORTANT! + // 🚧 + // 🚧 We need to check the types of the LHS and RHS to make sure that they are the same, + // 🚧 or at least compatible. Need to look into rust rules. + // 🚧 We also need to check that the types implement PartialEq, and whatever else... + // 🚧 + // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 + typecheck( (&lhs_ty, &lhs_p.1), (&rhs_ty, &rhs_p.1), @@ -1260,1187 +1374,25 @@ pub(super) fn inter_expression( lu_dog, )?; - let expr = Binary::new_assignment(true, lu_dog); - let expr = Operator::new_binary(&lhs.0, Some(&rhs.0), &expr, lu_dog); + let expr = Comparison::new_less_than(true, lu_dog); + let expr = Operator::new_comparison(&lhs.0, Some(&rhs.0), &expr, lu_dog); let expr = Expression::new_operator(true, &expr, lu_dog); - let value = XValue::new_expression(block, &lhs_ty, &expr, lu_dog); + let ty = Ty::new_boolean(context.sarzak); + let ty = ValueType::new_ty(true, &ty, lu_dog); + + let value = XValue::new_expression(block, &ty, &expr, lu_dog); update_span_value(&span, &value, location!()); - Ok(((expr, span), lhs_ty)) + Ok(((expr, span), ty)) } // - // Await + // LessThanOrEqual // - ParserExpression::Await(ref expr_p) => { - debug!("await: {expr_p:?}"); - - let (expr, ty) = inter_expression( - &new_ref!(ParserExpression, expr_p.0.to_owned()), - &expr_p.1, - block, - context, - import_stack, - lu_dog, - )?; - - if !matches!(s_read!(ty).subtype, ValueTypeEnum::XFuture(_)) { - let ty = PrintableValueType(true, &ty, context, lu_dog); - Err(vec![DwarfError::AwaitNotFuture { - file: context.file_name.to_owned(), - found: ty.to_string(), - span: expr_p.1.clone(), - program: context.source_string.to_owned(), - }]) - } else { - let future = match s_read!(ty).subtype { - ValueTypeEnum::XFuture(ref id) => lu_dog.exhume_x_future(id).unwrap(), - _ => unreachable!(), - }; - let ty = s_read!(future).r2_value_type(lu_dog)[0].clone(); - let expr = AWait::new(&expr.0, lu_dog); - let expr = Expression::new_a_wait(true, &expr, lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // } - } - // - // Bang - // - ParserExpression::Bang(expr) => { - let (expr, ty) = inter_expression( - &new_ref!(ParserExpression, expr.0.to_owned()), - &expr.1, - block, - context, - import_stack, - lu_dog, - )?; - let not = Unary::new_not(true, lu_dog); - let operator = Operator::new_unary(&expr.0, None, ¬, lu_dog); - let expr = Expression::new_operator(true, &operator, lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // Block - // - ParserExpression::Block(a_sink, ref stmts, vars, tys) => { - let sync = match a_sink { - BlockType::Async => false, - BlockType::Sync => true, - }; - let block = Block::new(!sync, Uuid::new_v4(), Some(block), None, lu_dog); - - for (var, ty) in vars.into_iter().zip(tys.into_iter()) { - let local = LocalVariable::new(Uuid::new_v4(), lu_dog); - let var = Variable::new_local_variable(var, &local, lu_dog); - debug!("variable {var:?}"); - let value = XValue::new_variable(&block, &ty.0, &var, lu_dog); - // 🚧 We should really be passing a span in the Block so that - // we can link this XValue to it. - } - - // let block = create_block::

(None, lu_dog)?; - debug!("block {block:?}"); - let stmts_vec: Vec> = stmts - .iter() - .map(|stmt| new_ref!(ParserStatement, stmt.0.to_owned())) - .collect(); - // 🚧 The one that's commented out is correct -- assuming the block - // isn't `{}`. The one that isn't commented out _should_ be right, - // but I'm not sure that it is. - // let stmts_span = stmts.iter().map(|stmt| stmt.1.start).min().unwrap() - // ..stmts.iter().map(|stmt| stmt.1.end).max().unwrap(); - let stmts_span = s_read!(span).start as usize..s_read!(span).end as usize; - - let expr = Expression::new_block(true, &block, lu_dog); - let ty = inter_statements( - &stmts_vec, - &stmts_span, - &block, - context, - import_stack, - lu_dog, - )?; - let value = XValue::new_expression(&block, &ty.0, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - // If it's an async block then wrap it in a future. - let ty = match a_sink { - BlockType::Async => { - let span = ty.1; - let future = XFuture::new(&ty.0, lu_dog); - (ValueType::new_x_future(true, &future, lu_dog), span) - } - BlockType::Sync => ty, - }; - - debug!("block {expr:?}"); - Ok(((expr, span), ty.0)) - } - // - // BooleanLiteral - // - ParserExpression::BooleanLiteral(literal) => { - let literal = if literal { - BooleanLiteral::new_true_literal(true, lu_dog) - } else { - BooleanLiteral::new_false_literal(true, lu_dog) - }; - let expr = Expression::new_literal( - true, - &Literal::new_boolean_literal(true, &literal, lu_dog), - lu_dog, - ); - let ty = ValueType::new_ty(true, &Ty::new_boolean(context.sarzak), lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // CharLiteral - // - ParserExpression::CharLiteral(literal) => { - let literal = CharLiteral::new(literal, lu_dog); - let expr = Expression::new_literal( - true, - &Literal::new_char_literal(true, &literal, lu_dog), - lu_dog, - ); - let ty = ValueType::new_char(true, lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // Debug - // - ParserExpression::Debug => { - let expr = Expression::new_x_debugger(true, lu_dog); - let ty = ValueType::new_empty(true, lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // Division - // - ParserExpression::Division(ref lhs_p, ref rhs_p) => { - let (lhs, lhs_ty) = inter_expression( - &new_ref!(ParserExpression, lhs_p.0.to_owned()), - &lhs_p.1, - block, - context, - import_stack, - lu_dog, - )?; - let (rhs, rhs_ty) = inter_expression( - &new_ref!(ParserExpression, rhs_p.0.to_owned()), - &rhs_p.1, - block, - context, - import_stack, - lu_dog, - )?; - - // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 - // 🚧 THIS IS SUPER IMPORTANT! - // 🚧 - // 🚧 We also need to check that the type supports division. - // 🚧 - // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 - - typecheck( - (&lhs_ty, &lhs_p.1), - (&rhs_ty, &rhs_p.1), - location!(), - context, - lu_dog, - )?; - - let expr = Binary::new_division(true, lu_dog); - let expr = Operator::new_binary(&lhs.0, Some(&rhs.0), &expr, lu_dog); - let expr = Expression::new_operator(true, &expr, lu_dog); - - let value = XValue::new_expression(block, &lhs_ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), lhs_ty)) - } - // - // Empty - // - ParserExpression::Empty => { - let expr = Expression::new_empty_expression(true, lu_dog); - let ty = ValueType::new_empty(true, lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // Equals - // - ParserExpression::Equals(ref lhs_p, ref rhs_p) => { - debug!("ParserExpression::Equals lhs {:?}", lhs_p); - debug!("ParserExpression::Equals rhs {:?}", rhs_p); - - let (lhs, lhs_ty) = inter_expression( - &new_ref!(ParserExpression, lhs_p.0.to_owned()), - &lhs_p.1, - block, - context, - import_stack, - lu_dog, - )?; - let (rhs, rhs_ty) = inter_expression( - &new_ref!(ParserExpression, rhs_p.0.to_owned()), - &rhs_p.1, - block, - context, - import_stack, - lu_dog, - )?; - - typecheck( - (&lhs_ty, &lhs_p.1), - (&rhs_ty, &rhs_p.1), - location!(), - context, - lu_dog, - )?; - - let expr = Comparison::new_equal(true, lu_dog); - let expr = Operator::new_comparison(&lhs.0, Some(&rhs.0), &expr, lu_dog); - let expr = Expression::new_operator(true, &expr, lu_dog); - - let ty = Ty::new_boolean(context.sarzak); - let ty = ValueType::new_ty(true, &ty, lu_dog); - - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // FieldAccess - // - ParserExpression::FieldAccess(lhs, rhs) => { - debug!("ParserExpression::FieldAccess lhs {:?}", lhs); - debug!("ParserExpression::FieldAccess rhs {:?}", rhs); - - let (lhs, lhs_ty) = inter_expression( - &new_ref!(ParserExpression, lhs.0.clone()), - &lhs.1, - block, - context, - import_stack, - lu_dog, - )?; - - let id = s_read!(lhs_ty).id; - let ty = lu_dog.exhume_value_type(&id).unwrap(); - let ty_read = s_read!(ty); - - match &ty_read.subtype { - // We matched on the lhs type. - ValueTypeEnum::Function(ref _id) => Ok((lhs, ty.clone())), - ValueTypeEnum::WoogStruct(ref id) => { - let woog_struct = lu_dog.exhume_woog_struct(id).unwrap(); - let fields = s_read!(woog_struct).r7_field(lu_dog); - let field = fields.iter().find(|f| s_read!(f).name == rhs.0); - - if let Some(field) = field { - let field = lu_dog.exhume_field(&s_read!(field).id); - let func = if let Some(impl_) = - s_read!(woog_struct).r8c_implementation_block(lu_dog).pop() - { - let funcs = s_read!(impl_).r9_function(lu_dog); - funcs.iter().find(|f| s_read!(f).name == rhs.0).cloned() - } else { - None - }; - - debug!("field {:?}", field); - debug!("func {:?}", func); - - // We need to grab the type from the field: what we have above is the type - // of the struct. - if let Some(field) = field { - let fat = FieldAccessTarget::new_field(true, &field, lu_dog); - let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); - let expr = Expression::new_field_access(true, &expr, lu_dog); - let ty = s_read!(field).r5_value_type(lu_dog)[0].clone(); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } else if let Some(func) = func { - let fat = FieldAccessTarget::new_function(true, &func, lu_dog); - let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); - let expr = Expression::new_field_access(true, &expr, lu_dog); - let ty = s_read!(func).r10_value_type(lu_dog)[0].clone(); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } else { - let span = s_read!(span); - let span = span.start as usize..span.end as usize; - Err(vec![DwarfError::StructFieldNotFound { - field: rhs.0.clone(), - file: context.file_name.to_owned(), - span, - location: location!(), - program: context.source_string.to_owned(), - }]) - } - } else { - Err(vec![DwarfError::StructFieldNotFound { - field: rhs.0.clone(), - file: context.file_name.to_owned(), - span: rhs.1.to_owned(), - location: location!(), - program: context.source_string.to_owned(), - }]) - } - } - ValueTypeEnum::Ty(id) => { - debug!("FieldAccess: ValueTypeEnum::Ty() {:?}", id); - let ty = context.sarzak.exhume_ty(id).unwrap(); - let ty = ty.read().unwrap(); - match *ty { - Ty::Object(id) => { - // We get here for objects imported from a plug-in. - let woog_struct = lu_dog - .iter_woog_struct() - .inspect(|ref ws| { - debug!("{ws:?}"); - }) - .find(|ws| s_read!(ws).object == Some(id)) - .unwrap(); - - if let Some(field) = lu_dog.exhume_field_id_by_name(&rhs.0) { - let field = lu_dog.exhume_field(&field); - let func = if let Some(impl_) = - s_read!(woog_struct).r8c_implementation_block(lu_dog).pop() - { - let funcs = s_read!(impl_).r9_function(lu_dog); - funcs.iter().find(|f| s_read!(f).name == rhs.0).cloned() - } else { - None - }; - - // We need to grab the type from the field: what we have above is the type - // of the struct. - if let Some(field) = field { - let fat = FieldAccessTarget::new_field(true, &field, lu_dog); - let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); - let expr = Expression::new_field_access(true, &expr, lu_dog); - let ty = s_read!(field).r5_value_type(lu_dog)[0].clone(); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } else if let Some(func) = func { - let fat = FieldAccessTarget::new_function(true, &func, lu_dog); - let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); - let expr = Expression::new_field_access(true, &expr, lu_dog); - let ty = s_read!(func).r10_value_type(lu_dog)[0].clone(); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } else { - let span = s_read!(span); - let span = span.start as usize..span.end as usize; - Err(vec![DwarfError::StructFieldNotFound { - field: rhs.0.clone(), - file: context.file_name.to_owned(), - span, - location: location!(), - program: context.source_string.to_owned(), - }]) - } - } else { - Err(vec![DwarfError::StructFieldNotFound { - field: rhs.0.clone(), - file: context.file_name.to_owned(), - span: rhs.1.to_owned(), - location: location!(), - program: context.source_string.to_owned(), - }]) - } - } - _ => { - debug!("returning lhs"); - Ok((lhs, lhs_ty)) - } - } - } - ValueTypeEnum::ZObjectStore(ref id) => { - let store = lu_dog.exhume_z_object_store(id).unwrap(); - let name = &s_read!(store).name; - let id = lu_dog.exhume_woog_struct_id_by_name(name).unwrap(); - let woog_struct = lu_dog.exhume_woog_struct(&id).unwrap(); - let fields = s_read!(woog_struct).r7_field(lu_dog); - let field = fields.iter().find(|f| s_read!(f).name == rhs.0); - - if let Some(field) = field { - let field = lu_dog.exhume_field(&s_read!(field).id); - let func = if let Some(impl_) = - s_read!(woog_struct).r8c_implementation_block(lu_dog).pop() - { - let funcs = s_read!(impl_).r9_function(lu_dog); - funcs.iter().find(|f| s_read!(f).name == rhs.0).cloned() - } else { - None - }; - - debug!("field {:?}", field); - debug!("func {:?}", func); - - // We need to grab the type from the field: what we have above is the type - // of the struct. - if let Some(field) = field { - let fat = FieldAccessTarget::new_field(true, &field, lu_dog); - let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); - let expr = Expression::new_field_access(true, &expr, lu_dog); - let ty = s_read!(field).r5_value_type(lu_dog)[0].clone(); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } else if let Some(func) = func { - let fat = FieldAccessTarget::new_function(true, &func, lu_dog); - let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); - let expr = Expression::new_field_access(true, &expr, lu_dog); - let ty = s_read!(func).r10_value_type(lu_dog)[0].clone(); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } else { - let span = s_read!(span); - let span = span.start as usize..span.end as usize; - Err(vec![DwarfError::StructFieldNotFound { - field: rhs.0.clone(), - file: context.file_name.to_owned(), - span, - location: location!(), - program: context.source_string.to_owned(), - }]) - } - } else { - Err(vec![DwarfError::StructFieldNotFound { - field: rhs.0.clone(), - file: context.file_name.to_owned(), - span: rhs.1.to_owned(), - location: location!(), - program: context.source_string.to_owned(), - }]) - } - } - what => { - dbg!(&what); - Err(vec![DwarfError::NotAStruct { - file: context.file_name.to_owned(), - span: rhs.1.to_owned(), - ty: PrintableValueType(true, &ty, context, lu_dog).to_string(), - program: context.source_string.to_owned(), - }])}, - } - } - // - // FloatLiteral - // - ParserExpression::FloatLiteral(literal) => { - let expr = Expression::new_literal( - true, - &Literal::new_float_literal(true, &FloatLiteral::new(literal, lu_dog), lu_dog), - lu_dog, - ); - let ty = ValueType::new_ty(true, &Ty::new_float(context.sarzak), lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // For Loop - // - ParserExpression::For(iter, collection, body) => { - debug!("For"); - - let cspan = &collection.1; - let collection = new_ref!(ParserExpression, collection.0.clone()); - - let (collection, collection_ty) = - inter_expression(&collection, cspan, block, context, import_stack, lu_dog)?; - - let collection_ty = match s_read!(collection_ty).subtype { - ValueTypeEnum::List(ref id) => { - let list = lu_dog.exhume_list(id).unwrap(); - let list = s_read!(list); - list.r36_value_type(lu_dog)[0].clone() - } - ValueTypeEnum::Range(_) => { - // 🚧 I'm punting here. I think range can be something other than an int. - // For example, what if you wanted a..f? I need to think about this, and - // check what rust does. I'm actually too tired right now to think about - // it. Related to range_type_bug. - // 🚧 Of course rust does not work on chars. Doesn't mean I don't want to. - ValueType::new_ty(true, &Ty::new_integer(context.sarzak), lu_dog) - } - ValueTypeEnum::Ty(ref id) => { - let ty = context.sarzak.exhume_ty(id).unwrap(); - let ty = ty.read().unwrap(); - match &*ty { - Ty::ZString(_) => ValueType::new_char(true, lu_dog), - _ => { - let ty = PrintableValueType(true, &collection_ty, context, lu_dog) - .to_string(); - return Err(vec![DwarfError::NotAList { - file: context.file_name.to_owned(), - span: cspan.to_owned(), - ty, - location: location!(), - program: context.source_string.to_owned(), - }]); - } - } - } - _ => { - let ty = PrintableValueType(true, &collection_ty, context, lu_dog).to_string(); - return Err(vec![DwarfError::NotAList { - file: context.file_name.to_owned(), - span: cspan.to_owned(), - ty, - location: location!(), - program: context.source_string.to_owned(), - }]); - } - }; - - let bspan = &body.1; - let body = match &body.0 { - ParserExpression::Block(a_sink, body, vars, tys) - if vars.is_empty() && tys.is_empty() => - { - ParserExpression::Block( - a_sink.to_owned(), - body.to_owned(), - vec![iter.0.to_owned()], - vec![WrappedValueType(collection_ty)], - ) - } - _ => unreachable!(), - }; - let body = new_ref!(ParserExpression, body.to_owned()); - - let ((body, _), _body_ty) = - inter_expression(&body, bspan, block, context, import_stack, lu_dog)?; - - // I think that the model should be changed so that the For Loop takes - // an Expression rather than a Body. - let for_loop = ForLoop::new(iter.0.to_owned(), &body, &collection.0, lu_dog); - let expr = Expression::new_for_loop(true, &for_loop, lu_dog); - let ty = ValueType::new_empty(true, lu_dog); - - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // FormatString - // - ParserExpression::FormatString(bits) => { - let format_string = FormatString::new(None, lu_dog); - let literal = Literal::new_format_string(true, &format_string, lu_dog); - let expr = Expression::new_literal(true, &literal, lu_dog); - let ty = ValueType::new_ty(true, &Ty::new_z_string(context.sarzak), lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - let mut last_format_bit_uuid: Option = None; - for (bit, span) in bits { - let ((expr, _), _) = inter_expression( - &new_ref!(ParserExpression, bit.to_owned()), - &span, - block, - context, - import_stack, - lu_dog, - )?; - - let expr_bit = ExpressionBit::new(&expr, lu_dog); - let format_bit = - FormatBit::new_expression_bit(&format_string, None, &expr_bit, lu_dog); - - if last_format_bit_uuid.is_none() { - s_write!(format_string).first_format_bit = Some(s_read!(format_bit).id); - } - last_format_bit_uuid = link_format_bits!(last_format_bit_uuid, format_bit, lu_dog); - } - - Ok(((expr, span), ty)) - } - // - // FunctionCall - // - ParserExpression::FunctionCall(func, args) => { - debug!("func {func:?}"); - let fspan = &func.1; - let func = &func.0; - debug!("args {args:?}"); - - let (func_expr, ret_ty) = inter_expression( - &new_ref!(ParserExpression, func.to_owned()), - fspan, - block, - context, - import_stack, - lu_dog, - )?; - debug!("func_expr {func_expr:?}"); - - let ret_ty = if let ValueTypeEnum::Lambda(ref l) = s_read!(ret_ty).subtype { - let l = lu_dog.exhume_lambda(l).unwrap(); - let ret_ty = s_read!(l).return_type.clone(); - let ret_ty = lu_dog.exhume_value_type(&ret_ty).unwrap(); - ret_ty - } else { - ret_ty.clone() - }; - - let name = match func { - ParserExpression::LocalVariable(name) => name, - _ => "not-a-local-variable", - }; - - let func_call = FunctionCall::new(name.to_owned(), lu_dog); - let func_call = - Call::new_function_call(true, None, Some(&func_expr.0), &func_call, lu_dog); - let func = Expression::new_call(true, &func_call, lu_dog); - let value = XValue::new_expression(block, &ret_ty, &func, lu_dog); - update_span_value(&span, &value, location!()); - - let mut last_arg_uuid: Option = None; - // Note that position makes each arg unique. I don't remember if - // that is the explicit intention or not. - for (position, arg) in args.iter().enumerate() { - let (arg_expr, _ty) = inter_expression( - &new_ref!(ParserExpression, arg.0.to_owned()), - &arg.1, - block, - context, - import_stack, - lu_dog, - )?; - let arg = Argument::new( - position as DwarfInteger, - &arg_expr.0, - &func_call, - None, - lu_dog, - ); - - if position == 0 { - s_write!(func_call).argument = Some(s_read!(arg).id); - } - - last_arg_uuid = link_argument!(last_arg_uuid, arg, lu_dog); - } - - debug!( - "ParserExpression::FunctionCall exit {:?}", - (&func_call, s_read!(func_call).r28_argument(lu_dog)) - ); - - debug!( - "return type {}", - PrintableValueType(true, &ret_ty, context, lu_dog).to_string() - ); - - Ok(((func, span), ret_ty)) - } - // - // GreaterThan: > - // - ParserExpression::GreaterThan(ref lhs_p, ref rhs_p) => { - let (lhs, lhs_ty) = inter_expression( - &new_ref!(ParserExpression, lhs_p.0.to_owned()), - &lhs_p.1, - block, - context, - import_stack, - lu_dog, - )?; - let (rhs, rhs_ty) = inter_expression( - &new_ref!(ParserExpression, rhs_p.0.to_owned()), - &rhs_p.1, - block, - context, - import_stack, - lu_dog, - )?; - - // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 - // 🚧 THIS IS SUPER IMPORTANT! - // 🚧 - // 🚧 We need to check the types of the LHS and RHS to make sure that they are the same, - // 🚧 or at least compatible. Need to look into rust rules. - // 🚧 We also need to check that the types implement PartialEq, and whatever else... - // 🚧 - // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 - - typecheck( - (&lhs_ty, &lhs_p.1), - (&rhs_ty, &rhs_p.1), - location!(), - context, - lu_dog, - )?; - - let expr = Comparison::new_greater_than(true, lu_dog); - let expr = Operator::new_comparison(&lhs.0, Some(&rhs.0), &expr, lu_dog); - let expr = Expression::new_operator(true, &expr, lu_dog); - - let ty = Ty::new_boolean(context.sarzak); - let ty = ValueType::new_ty(true, &ty, lu_dog); - - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // GreaterThanOrEqual: >= - // - ParserExpression::GreaterThanOrEqual(ref lhs_p, ref rhs_p) => { - let (lhs, lhs_ty) = inter_expression( - &new_ref!(ParserExpression, lhs_p.0.to_owned()), - &lhs_p.1, - block, - context, - import_stack, - lu_dog, - )?; - let (rhs, rhs_ty) = inter_expression( - &new_ref!(ParserExpression, rhs_p.0.to_owned()), - &rhs_p.1, - block, - context, - import_stack, - lu_dog, - )?; - - // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 - // 🚧 THIS IS SUPER IMPORTANT! - // 🚧 - // 🚧 We need to check the types of the LHS and RHS to make sure that they are the same, - // 🚧 or at least compatible. Need to look into rust rules. - // 🚧 We also need to check that the types implement PartialEq, and whatever else... - // 🚧 - // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 - - typecheck( - (&lhs_ty, &lhs_p.1), - (&rhs_ty, &rhs_p.1), - location!(), - context, - lu_dog, - )?; - - let expr = Comparison::new_greater_than_or_equal(true, lu_dog); - let expr = Operator::new_comparison(&lhs.0, Some(&rhs.0), &expr, lu_dog); - let expr = Expression::new_operator(true, &expr, lu_dog); - - let ty = Ty::new_boolean(context.sarzak); - let ty = ValueType::new_ty(true, &ty, lu_dog); - - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // Group - // - ParserExpression::Group(ref expr) => { - let (expr, ty) = inter_expression( - &new_ref!(ParserExpression, expr.0.to_owned()), - &expr.1, - block, - context, - import_stack, - lu_dog, - )?; - Ok((expr, ty)) - } - // - // Halt - // - ParserExpression::Halt(expr) => { - let (expr, _ty) = inter_expression( - &new_ref!(ParserExpression, expr.0.to_owned()), - &expr.1, - block, - context, - import_stack, - lu_dog, - )?; - let ty = ValueType::new_empty(true, lu_dog); - let halt = HaltAndCatchFire::new(&expr.0, lu_dog); - let expr = Expression::new_halt_and_catch_fire(true, &halt, lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // If - // - ParserExpression::If(conditional, true_block, false_block) => { - debug!("conditional {:?}", conditional); - let cspan = &conditional.1; - let conditional = new_ref!(ParserExpression, conditional.0.to_owned()); - let (conditional, conditional_ty) = - inter_expression(&conditional, cspan, block, context, import_stack, lu_dog)?; - debug!("ParserExpression::If {:?}", conditional_ty); - - // Check that the conditional expression evaluates to a boolean. - // Note that this first check is necessary to unwrap the sarzak type - // from the lu_dog type. - if let ValueTypeEnum::Ty(ref ty) = s_read!(conditional_ty).subtype { - let s_ty = context.sarzak.exhume_ty(ty).unwrap(); - let s_ty = s_ty.read().unwrap(); - if let Ty::Boolean(_) = &*s_ty { - // Good Times. - } else { - let bty = ValueType::new_ty(true, &Ty::new_boolean(context.sarzak), lu_dog); - let bty = PrintableValueType(true, &bty, context, lu_dog); - let ty = PrintableValueType(true, &conditional_ty, context, lu_dog); - return Err(vec![DwarfError::TypeMismatch { - expected: bty.to_string(), - found: ty.to_string(), - file: context.file_name.to_owned(), - expected_span: cspan.to_owned(), - found_span: cspan.to_owned(), - location: location!(), - program: context.source_string.to_owned(), - }]); - } - } else { - let bty = ValueType::new_ty(true, &Ty::new_boolean(context.sarzak), lu_dog); - let bty = PrintableValueType(true, &bty, context, lu_dog); - let ty = PrintableValueType(true, &conditional_ty, context, lu_dog); - return Err(vec![DwarfError::TypeMismatch { - expected: bty.to_string(), - found: ty.to_string(), - file: context.file_name.to_owned(), - expected_span: cspan.to_owned(), - found_span: cspan.to_owned(), - location: location!(), - program: context.source_string.to_owned(), - }]); - } - - let tspan = &true_block.1; - let true_block = new_ref!(ParserExpression, true_block.0.to_owned()); - let (true_block, true_ty) = - inter_expression(&true_block, tspan, block, context, import_stack, lu_dog)?; - let true_block = - if let ExpressionEnum::Block(true_block) = s_read!(true_block.0).subtype { - true_block - } else { - panic!("Expected a block expression"); - }; - let true_block = lu_dog.exhume_block(&true_block).unwrap(); - - let false_block = if let Some(false_block) = false_block { - let fspan = &false_block.1; - let false_block = new_ref!(ParserExpression, false_block.0.to_owned()); - let (false_block, _false_ty) = - inter_expression(&false_block, fspan, block, context, import_stack, lu_dog)?; - Some(false_block.0) - } else { - None - }; - - let if_expr = XIf::new(false_block.as_ref(), &conditional.0, &true_block, lu_dog); - let expr = Expression::new_x_if(true, &if_expr, lu_dog); - - let ty = true_ty; - - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // Index - // - ParserExpression::Index(target_p, index_p) => { - debug!("index {target_p:?}, {index_p:?}"); - let (target, target_ty) = inter_expression( - &new_ref!(ParserExpression, target_p.0.to_owned()), - &target_p.1, - block, - context, - import_stack, - lu_dog, - )?; - debug!("target: {target:?}, ty: {target_ty:?}"); - let (index, index_ty) = inter_expression( - &new_ref!(ParserExpression, index_p.0.to_owned()), - &index_p.1, - block, - context, - import_stack, - lu_dog, - )?; - - let int_ty = ValueType::new_ty(true, &Ty::new_integer(context.sarzak), lu_dog); - - let index_span = s_read!(index.1).start as usize..s_read!(index.1).end as usize; - typecheck( - (&int_ty, &index_span), - (&index_ty, &index_p.1), - location!(), - context, - lu_dog, - )?; - - // We need to dereference the list and return the underlying type. - let target_ty = if let ValueTypeEnum::List(ref ty) = s_read!(target_ty).subtype { - let list = lu_dog.exhume_list(ty).unwrap(); - let ty = &s_read!(list).r36_value_type(lu_dog)[0]; - ty.clone() - } else if let ValueTypeEnum::Ty(ref ty) = s_read!(target_ty).subtype { - let ty = context.sarzak.exhume_ty(ty).unwrap(); - let ty = ty.read().unwrap(); - if let Ty::ZString(_) = &*ty { - ValueType::new_char(true, lu_dog) - } else { - let ty = PrintableValueType(true, &target_ty, context, lu_dog).to_string(); - return Err(vec![DwarfError::NotAList { - file: context.file_name.to_owned(), - span: target_p.1.clone(), - ty, - location: location!(), - program: context.source_string.to_owned(), - }]); - } - } else { - let ty = PrintableValueType(true, &target_ty, context, lu_dog).to_string(); - return Err(vec![DwarfError::NotAList { - file: context.file_name.to_owned(), - span: target_p.1.clone(), - ty, - location: location!(), - program: context.source_string.to_owned(), - }]); - }; - - let index = Index::new(&index.0, &target.0, lu_dog); - let expr = Expression::new_index(true, &index, lu_dog); - let value = XValue::new_expression(block, &target_ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), target_ty)) - } - // - // IntegerLiteral - // - ParserExpression::IntegerLiteral(literal) => { - let expr = Expression::new_literal( - true, - &Literal::new_integer_literal(true, &IntegerLiteral::new(literal, lu_dog), lu_dog), - lu_dog, - ); - let ty = ValueType::new_ty(true, &Ty::new_integer(context.sarzak), lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // Lambda - // - ParserExpression::Lambda(a_sink, params, return_type, body) => { - let (stmts, a_sink) = if let ParserExpression::Block(_, body, _, _) = &body.0 { - let a_sink = match a_sink { - BlockType::Async => true, - BlockType::Sync => false, - }; - (body, a_sink) - } else { - unreachable!("Not a block expression {:?}", body.0); - }; - let block = Block::new(a_sink, Uuid::new_v4(), Some(block), None, lu_dog); - let _body = Body::new_block(a_sink, &block, lu_dog); - - context.location = location!(); - let ret_ty = make_value_type( - &return_type.0, - &return_type.1, - None, - context, - import_stack, - lu_dog, - )?; - - let lambda = Lambda::new(Some(&_body), None, &ret_ty, lu_dog); - let _ty = ValueType::new_lambda(true, &lambda, lu_dog); - - let mut errors = Vec::new(); - let mut last_param_uuid: Option = None; - for (position, ((param_name, name_span), (param_ty, ty_span))) in - params.iter().enumerate() - { - debug!("param name {}", param_name); - debug!("param ty {}", param_ty); - - context.location = location!(); - let param_ty = match make_value_type( - param_ty, - ty_span, - None, - context, - import_stack, - lu_dog, - ) { - Ok(ty) => ty, - Err(mut e) => { - errors.append(&mut e); - continue; - } - }; - debug!("param_ty {:?}", param_ty); - - let param = LambdaParameter::new( - position as DwarfInteger, - &lambda, - None, - Some(¶m_ty), - lu_dog, - ); - - debug!("param {:?}", param); - - if position == 0 { - // 🚧 This should be marked as unsafe, as there is no type - // check happening. - s_write!(lambda).first_param = Some(s_read!(param).id); - } - - let var = Variable::new_lambda_parameter(param_name.to_owned(), ¶m, lu_dog); - debug!("var {:?}", var); - // We need to introduce the values into the block, so that we don't - // error out when parsing the statements. - // - let value = XValue::new_variable(&block, ¶m_ty, &var, lu_dog); - LuDogSpan::new( - name_span.end as i64, - name_span.start as i64, - &context.source, - None, - Some(&value), - lu_dog, - ); - last_param_uuid = link_Æ›_parameter!(last_param_uuid, param, lu_dog); - } - - let stmts: Vec> = stmts - .iter() - .map(|stmt| new_ref!(ParserStatement, stmt.0.clone())) - .collect(); - - let (block_ty, block_span) = - inter_statements(&stmts, &body.1, &block, context, import_stack, lu_dog)?; - - typecheck( - (&ret_ty, &return_type.1), - (&block_ty, &block_span), - location!(), - context, - lu_dog, - )?; - - let expr = Expression::new_lambda(true, &lambda, lu_dog); - let value = XValue::new_expression(&block, &ret_ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ret_ty)) - } - // - // LessThan: < - // - ParserExpression::LessThan(ref lhs_p, ref rhs_p) => { - let (lhs, lhs_ty) = inter_expression( - &new_ref!(ParserExpression, lhs_p.0.to_owned()), - &lhs_p.1, - block, - context, - import_stack, - lu_dog, - )?; - let (rhs, rhs_ty) = inter_expression( - &new_ref!(ParserExpression, rhs_p.0.to_owned()), - &rhs_p.1, - block, - context, - import_stack, - lu_dog, - )?; - - // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 - // 🚧 THIS IS SUPER IMPORTANT! - // 🚧 - // 🚧 We need to check the types of the LHS and RHS to make sure that they are the same, - // 🚧 or at least compatible. Need to look into rust rules. - // 🚧 We also need to check that the types implement PartialEq, and whatever else... - // 🚧 - // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 - - typecheck( - (&lhs_ty, &lhs_p.1), - (&rhs_ty, &rhs_p.1), - location!(), - context, - lu_dog, - )?; - - let expr = Comparison::new_less_than(true, lu_dog); - let expr = Operator::new_comparison(&lhs.0, Some(&rhs.0), &expr, lu_dog); - let expr = Expression::new_operator(true, &expr, lu_dog); - - let ty = Ty::new_boolean(context.sarzak); - let ty = ValueType::new_ty(true, &ty, lu_dog); - - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) - } - // - // LessThanOrEqual - // - ParserExpression::LessThanOrEqual(ref lhs_p, ref rhs_p) => { - let (lhs, lhs_ty) = inter_expression( - &new_ref!(ParserExpression, lhs_p.0.to_owned()), - &lhs_p.1, + ParserExpression::LessThanOrEqual(ref lhs_p, ref rhs_p) => { + let (lhs, lhs_ty) = inter_expression( + &new_ref!(ParserExpression, lhs_p.0.to_owned()), + &lhs_p.1, block, context, import_stack, @@ -3323,25 +2275,8 @@ pub(super) fn inter_expression( lu_dog, ) } - // - // StringLiteral - // ParserExpression::StringLiteral(literal) => { - debug!("literal {:?}", literal); - let expr = Expression::new_literal( - true, - &Literal::new_string_literal( - true, - &StringLiteral::new(literal.to_owned(), lu_dog), - lu_dog, - ), - lu_dog, - ); - let ty = ValueType::new_ty(true, &Ty::new_z_string(context.sarzak), lu_dog); - let value = XValue::new_expression(block, &ty, &expr, lu_dog); - update_span_value(&span, &value, location!()); - - Ok(((expr, span), ty)) + string_literal::inter(literal, span, block, context, lu_dog) } // // Struct diff --git a/src/dwarf/extruder/expression.rs b/src/dwarf/extruder/expression.rs index 1b7df068..55485d54 100644 --- a/src/dwarf/extruder/expression.rs +++ b/src/dwarf/extruder/expression.rs @@ -1,7 +1,31 @@ +pub(super) mod a_weight; pub(super) mod addition; pub(super) mod and; +pub(super) mod any_list; +pub(super) mod assignment; +pub(super) mod bang; +pub(super) mod block; +pub(super) mod boolean_literal; +pub(super) mod char_literal; +pub(super) mod debug; +pub(super) mod division; +pub(super) mod empty; +pub(super) mod equals; pub(super) mod expr_as; +pub(super) mod field_access; +pub(super) mod float_literal; +pub(super) mod for_loop; +pub(super) mod format_string; +pub(super) mod function_call; +pub(super) mod group; +pub(super) mod gt; +pub(super) mod gte; +pub(super) mod halt; +pub(super) mod if_expr; +pub(super) mod index; +pub(super) mod integer_literal; pub(super) mod method_call; pub(super) mod static_method_call; +pub(super) mod string_literal; pub(super) mod struct_expr; pub(super) mod unit_enum; diff --git a/src/dwarf/extruder/expression/a_weight.rs b/src/dwarf/extruder/expression/a_weight.rs new file mode 100644 index 00000000..67cdf14c --- /dev/null +++ b/src/dwarf/extruder/expression/a_weight.rs @@ -0,0 +1,61 @@ +use std::ops::Range; + +use ansi_term::Colour; +use snafu::location; + +use crate::{ + dwarf::{ + error::{DwarfError, Result}, + extruder::{debug, function, inter_expression, update_span_value, Context, ExprSpan}, + Expression as ParserExpression, PrintableValueType, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, AWait, Block, Expression, Span, ValueType, ValueTypeEnum, + XValue, + }, + new_ref, s_read, NewRef, RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + expr_p: Box<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + debug!("await: {expr_p:?}"); + + let (expr, ty) = inter_expression( + &new_ref!(ParserExpression, expr_p.0.to_owned()), + &expr_p.1, + block, + context, + import_stack, + lu_dog, + )?; + + if !matches!(s_read!(ty).subtype, ValueTypeEnum::XFuture(_)) { + let ty = PrintableValueType(true, &ty, context, lu_dog); + Err(vec![DwarfError::AwaitNotFuture { + file: context.file_name.to_owned(), + found: ty.to_string(), + span: expr_p.1.clone(), + program: context.source_string.to_owned(), + }]) + } else { + let future = match s_read!(ty).subtype { + ValueTypeEnum::XFuture(ref id) => lu_dog.exhume_x_future(id).unwrap(), + _ => unreachable!(), + }; + let ty = s_read!(future).r2_value_type(lu_dog)[0].clone(); + let expr = AWait::new(&expr.0, lu_dog); + let expr = Expression::new_a_wait(true, &expr, lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) + } +} diff --git a/src/dwarf/extruder/expression/any_list.rs b/src/dwarf/extruder/expression/any_list.rs new file mode 100644 index 00000000..db108fb3 --- /dev/null +++ b/src/dwarf/extruder/expression/any_list.rs @@ -0,0 +1,102 @@ +use std::ops::Range; + +use ansi_term::Colour; +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{ + debug, function, inter_expression, link_list_element, update_span_value, Context, + ExprSpan, + }, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, ListElement, ListExpression, Span, + Span as LuDogSpan, ValueType, XValue, + }, + new_ref, s_read, s_write, NewRef, RefType, SarzakStorePtr, +}; + +pub fn inter( + elements: &[(ParserExpression, Range)], + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + debug!("anylist {:?}", elements); + if elements.is_empty() { + panic!("Just don't do this. It doesn't even merit an error."); + } else { + let mut elements = elements.iter(); + + let element = elements.next().unwrap(); + let ((first, first_span), first_ty) = inter_expression( + &new_ref!(ParserExpression, element.0.to_owned()), + &element.1, + block, + context, + import_stack, + lu_dog, + )?; + + let element = ListElement::new(0, &first, None, lu_dog); + let expr = Expression::new_list_element(true, &element, lu_dog); + let value = XValue::new_expression(block, &first_ty, &expr, lu_dog); + + // We need to clone the span because it's already been used + // by the underlying value. + LuDogSpan::new( + s_read!(first_span).end, + s_read!(first_span).start, + &context.source, + None, + Some(&value), + lu_dog, + ); + + let list_expr = ListExpression::new( + Some(&element), + &ValueType::new_unknown(true, lu_dog), + lu_dog, + ); + + let mut last_element_uuid: Option = Some(s_read!(element).id); + let mut position = 1; + for element in elements { + let ((elt, elt_span), elt_ty) = inter_expression( + &new_ref!(ParserExpression, element.0.to_owned()), + &element.1, + block, + context, + import_stack, + lu_dog, + )?; + + let element = ListElement::new(position, &elt, None, lu_dog); + position += 1; + + last_element_uuid = link_list_element!(last_element_uuid, element, lu_dog); + let expr = Expression::new_list_element(true, &element, lu_dog); + let value = XValue::new_expression(block, &elt_ty, &expr, lu_dog); + LuDogSpan::new( + s_read!(elt_span).end, + s_read!(elt_span).start, + &context.source, + None, + Some(&value), + lu_dog, + ); + } + + let expr = Expression::new_list_expression(true, &list_expr, lu_dog); + let ty = ValueType::new_any_list(true, lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) + } +} diff --git a/src/dwarf/extruder/expression/assignment.rs b/src/dwarf/extruder/expression/assignment.rs new file mode 100644 index 00000000..a885132c --- /dev/null +++ b/src/dwarf/extruder/expression/assignment.rs @@ -0,0 +1,62 @@ +use std::ops::Range; + +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{inter_expression, typecheck, update_span_value, Context, ExprSpan}, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Binary, Block, Expression, Operator, Span, ValueType, + XValue, + }, + new_ref, NewRef, RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + lhs_p: Box<(ParserExpression, Range)>, + rhs_p: Box<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let (lhs, lhs_ty) = inter_expression( + &new_ref!(ParserExpression, lhs_p.0.to_owned()), + &lhs_p.1, + block, + context, + import_stack, + lu_dog, + )?; + let (rhs, rhs_ty) = inter_expression( + &new_ref!(ParserExpression, rhs_p.0.to_owned()), + &rhs_p.1, + block, + context, + import_stack, + lu_dog, + )?; + + typecheck( + (&lhs_ty, &lhs_p.1), + (&rhs_ty, &rhs_p.1), + location!(), + context, + lu_dog, + )?; + + let expr = Binary::new_assignment(true, lu_dog); + let expr = Operator::new_binary(&lhs.0, Some(&rhs.0), &expr, lu_dog); + let expr = Expression::new_operator(true, &expr, lu_dog); + + let value = XValue::new_expression(block, &lhs_ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), lhs_ty)) +} diff --git a/src/dwarf/extruder/expression/bang.rs b/src/dwarf/extruder/expression/bang.rs new file mode 100644 index 00000000..f8a281d9 --- /dev/null +++ b/src/dwarf/extruder/expression/bang.rs @@ -0,0 +1,43 @@ +use std::ops::Range; + +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{inter_expression, update_span_value, Context, ExprSpan}, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, Operator, Span, Unary, ValueType, + XValue, + }, + new_ref, NewRef, RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + expr: Box<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let (expr, ty) = inter_expression( + &new_ref!(ParserExpression, expr.0.to_owned()), + &expr.1, + block, + context, + import_stack, + lu_dog, + )?; + let not = Unary::new_not(true, lu_dog); + let operator = Operator::new_unary(&expr.0, None, ¬, lu_dog); + let expr = Expression::new_operator(true, &operator, lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/block.rs b/src/dwarf/extruder/expression/block.rs new file mode 100644 index 00000000..51d6ebd0 --- /dev/null +++ b/src/dwarf/extruder/expression/block.rs @@ -0,0 +1,85 @@ +use std::ops::Range; + +use ansi_term::Colour; +use snafu::location; +use uuid::Uuid; + +use crate::{ + dwarf::{ + error::Result, + extruder::{debug, function, inter_statements, update_span_value, Context, ExprSpan}, + BlockType, Statement, WrappedValueType, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, LocalVariable, Span, ValueType, + Variable, XFuture, XValue, + }, + new_ref, s_read, NewRef, RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + a_sink: BlockType, + stmts: &[(Statement, Range)], + vars: Vec, + tys: Vec, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let sync = match a_sink { + BlockType::Async => false, + BlockType::Sync => true, + }; + let block = Block::new(!sync, Uuid::new_v4(), Some(block), None, lu_dog); + + for (var, ty) in vars.into_iter().zip(tys.into_iter()) { + let local = LocalVariable::new(Uuid::new_v4(), lu_dog); + let var = Variable::new_local_variable(var, &local, lu_dog); + debug!("variable {var:?}"); + // 🚧 We should really be passing a span in the Block so that + // we can link this XValue to it. + let _value = XValue::new_variable(&block, &ty.0, &var, lu_dog); + } + + // let block = create_block::

(None, lu_dog)?; + debug!("block {block:?}"); + let stmts_vec: Vec> = stmts + .iter() + .map(|stmt| new_ref!(Statement, stmt.0.to_owned())) + .collect(); + // 🚧 The one that's commented out is correct -- assuming the block + // isn't `{}`. The one that isn't commented out _should_ be right, + // but I'm not sure that it is. + // let stmts_span = stmts.iter().map(|stmt| stmt.1.start).min().unwrap() + // ..stmts.iter().map(|stmt| stmt.1.end).max().unwrap(); + let stmts_span = s_read!(span).start as usize..s_read!(span).end as usize; + + let expr = Expression::new_block(true, &block, lu_dog); + let ty = inter_statements( + &stmts_vec, + &stmts_span, + &block, + context, + import_stack, + lu_dog, + )?; + let value = XValue::new_expression(&block, &ty.0, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + // If it's an async block then wrap it in a future. + let ty = match a_sink { + BlockType::Async => { + let span = ty.1; + let future = XFuture::new(&ty.0, lu_dog); + (ValueType::new_x_future(true, &future, lu_dog), span) + } + BlockType::Sync => ty, + }; + + debug!("block {expr:?}"); + Ok(((expr, span), ty.0)) +} diff --git a/src/dwarf/extruder/expression/boolean_literal.rs b/src/dwarf/extruder/expression/boolean_literal.rs new file mode 100644 index 00000000..014158be --- /dev/null +++ b/src/dwarf/extruder/expression/boolean_literal.rs @@ -0,0 +1,40 @@ +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{update_span_value, Context, ExprSpan}, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, BooleanLiteral, Expression, Literal, Span, + ValueType, XValue, + }, + sarzak::Ty, + RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + literal: bool, + span: RefType, + block: &RefType, + context: &mut Context, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let literal = if literal { + BooleanLiteral::new_true_literal(true, lu_dog) + } else { + BooleanLiteral::new_false_literal(true, lu_dog) + }; + let expr = Expression::new_literal( + true, + &Literal::new_boolean_literal(true, &literal, lu_dog), + lu_dog, + ); + let ty = ValueType::new_ty(true, &Ty::new_boolean(context.sarzak), lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/char_literal.rs b/src/dwarf/extruder/expression/char_literal.rs new file mode 100644 index 00000000..da744419 --- /dev/null +++ b/src/dwarf/extruder/expression/char_literal.rs @@ -0,0 +1,35 @@ +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{update_span_value, ExprSpan}, + DwarfInteger, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, CharLiteral, Expression, Literal, Span, ValueType, + XValue, + }, + RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + literal: DwarfInteger, + span: RefType, + block: &RefType, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let literal = CharLiteral::new(literal, lu_dog); + let expr = Expression::new_literal( + true, + &Literal::new_char_literal(true, &literal, lu_dog), + lu_dog, + ); + let ty = ValueType::new_char(true, lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/debug.rs b/src/dwarf/extruder/expression/debug.rs new file mode 100644 index 00000000..35a784b6 --- /dev/null +++ b/src/dwarf/extruder/expression/debug.rs @@ -0,0 +1,25 @@ +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{update_span_value, ExprSpan}, + }, + lu_dog::{store::ObjectStore as LuDogStore, Block, Expression, Span, ValueType, XValue}, + RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + span: RefType, + block: &RefType, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let expr = Expression::new_x_debugger(true, lu_dog); + let ty = ValueType::new_empty(true, lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/division.rs b/src/dwarf/extruder/expression/division.rs new file mode 100644 index 00000000..9b8b61be --- /dev/null +++ b/src/dwarf/extruder/expression/division.rs @@ -0,0 +1,72 @@ +use std::ops::Range; + +use log::debug; +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{inter_expression, typecheck, update_span_value, Context, ExprSpan}, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Binary, Block, Expression, Operator, Span, ValueType, + XValue, + }, + new_ref, NewRef, RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + lhs_p: Box<(ParserExpression, Range)>, + rhs_p: Box<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + debug!("Division"); + let (lhs, lhs_ty) = inter_expression( + &new_ref!(ParserExpression, lhs_p.0.to_owned()), + &lhs_p.1, + block, + context, + import_stack, + lu_dog, + )?; + let (rhs, rhs_ty) = inter_expression( + &new_ref!(ParserExpression, rhs_p.0.to_owned()), + &rhs_p.1, + block, + context, + import_stack, + lu_dog, + )?; + + // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 + // 🚧 THIS IS SUPER IMPORTANT! + // 🚧 + // 🚧 We need to check the types of the LHS and RHS to make sure that they are the same. + // 🚧 We also need to check that the type supports addition. + // 🚧 + // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 + + typecheck( + (&lhs_ty, &lhs_p.1), + (&rhs_ty, &rhs_p.1), + location!(), + context, + lu_dog, + )?; + + let expr = Binary::new_division(true, lu_dog); + let expr = Operator::new_binary(&lhs.0, Some(&rhs.0), &expr, lu_dog); + let expr = Expression::new_operator(true, &expr, lu_dog); + + let value = XValue::new_expression(block, &lhs_ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), lhs_ty)) +} diff --git a/src/dwarf/extruder/expression/empty.rs b/src/dwarf/extruder/expression/empty.rs new file mode 100644 index 00000000..3a60bee5 --- /dev/null +++ b/src/dwarf/extruder/expression/empty.rs @@ -0,0 +1,25 @@ +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{update_span_value, ExprSpan}, + }, + lu_dog::{store::ObjectStore as LuDogStore, Block, Expression, Span, ValueType, XValue}, + RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + span: RefType, + block: &RefType, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let expr = Expression::new_empty_expression(true, lu_dog); + let ty = ValueType::new_empty(true, lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/equals.rs b/src/dwarf/extruder/expression/equals.rs new file mode 100644 index 00000000..c9dabeb2 --- /dev/null +++ b/src/dwarf/extruder/expression/equals.rs @@ -0,0 +1,71 @@ +use std::ops::Range; + +use log::debug; +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{inter_expression, typecheck, update_span_value, Context, ExprSpan}, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Comparison, Expression, Operator, Span, ValueType, + XValue, + }, + new_ref, + sarzak::Ty, + NewRef, RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + lhs_p: Box<(ParserExpression, Range)>, + rhs_p: Box<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + debug!("ParserExpression::Equals lhs {:?}", lhs_p); + debug!("ParserExpression::Equals rhs {:?}", rhs_p); + + let (lhs, lhs_ty) = inter_expression( + &new_ref!(ParserExpression, lhs_p.0.to_owned()), + &lhs_p.1, + block, + context, + import_stack, + lu_dog, + )?; + let (rhs, rhs_ty) = inter_expression( + &new_ref!(ParserExpression, rhs_p.0.to_owned()), + &rhs_p.1, + block, + context, + import_stack, + lu_dog, + )?; + + typecheck( + (&lhs_ty, &lhs_p.1), + (&rhs_ty, &rhs_p.1), + location!(), + context, + lu_dog, + )?; + + let expr = Comparison::new_equal(true, lu_dog); + let expr = Operator::new_comparison(&lhs.0, Some(&rhs.0), &expr, lu_dog); + let expr = Expression::new_operator(true, &expr, lu_dog); + + let ty = Ty::new_boolean(context.sarzak); + let ty = ValueType::new_ty(true, &ty, lu_dog); + + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/field_access.rs b/src/dwarf/extruder/expression/field_access.rs new file mode 100644 index 00000000..8bff7a14 --- /dev/null +++ b/src/dwarf/extruder/expression/field_access.rs @@ -0,0 +1,257 @@ +use std::ops::Range; + +use log::debug; +use snafu::location; + +use crate::{ + dwarf::{ + error::{DwarfError, Result}, + extruder::{inter_expression, update_span_value, Context, ExprSpan, PrintableValueType}, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, FieldAccess, FieldAccessTarget, Span, + ValueType, ValueTypeEnum, XValue, + }, + new_ref, s_read, + sarzak::Ty, + NewRef, RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + lhs: Box<(ParserExpression, Range)>, + rhs: (String, Range), + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + debug!("ParserExpression::FieldAccess lhs {:?}", lhs); + debug!("ParserExpression::FieldAccess rhs {:?}", rhs); + + let (lhs, lhs_ty) = inter_expression( + &new_ref!(ParserExpression, lhs.0.clone()), + &lhs.1, + block, + context, + import_stack, + lu_dog, + )?; + + let id = s_read!(lhs_ty).id; + let ty = lu_dog.exhume_value_type(&id).unwrap(); + let ty_read = s_read!(ty); + + match &ty_read.subtype { + // We matched on the lhs type. + ValueTypeEnum::Function(ref _id) => Ok((lhs, ty.clone())), + ValueTypeEnum::WoogStruct(ref id) => { + let woog_struct = lu_dog.exhume_woog_struct(id).unwrap(); + let fields = s_read!(woog_struct).r7_field(lu_dog); + let field = fields.iter().find(|f| s_read!(f).name == rhs.0); + + if let Some(field) = field { + let field = lu_dog.exhume_field(&s_read!(field).id); + let func = if let Some(impl_) = + s_read!(woog_struct).r8c_implementation_block(lu_dog).pop() + { + let funcs = s_read!(impl_).r9_function(lu_dog); + funcs.iter().find(|f| s_read!(f).name == rhs.0).cloned() + } else { + None + }; + + debug!("field {:?}", field); + debug!("func {:?}", func); + + // We need to grab the type from the field: what we have above is the type + // of the struct. + if let Some(field) = field { + let fat = FieldAccessTarget::new_field(true, &field, lu_dog); + let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); + let expr = Expression::new_field_access(true, &expr, lu_dog); + let ty = s_read!(field).r5_value_type(lu_dog)[0].clone(); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) + } else if let Some(func) = func { + let fat = FieldAccessTarget::new_function(true, &func, lu_dog); + let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); + let expr = Expression::new_field_access(true, &expr, lu_dog); + let ty = s_read!(func).r10_value_type(lu_dog)[0].clone(); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) + } else { + let span = s_read!(span); + let span = span.start as usize..span.end as usize; + Err(vec![DwarfError::StructFieldNotFound { + field: rhs.0.clone(), + file: context.file_name.to_owned(), + span, + location: location!(), + program: context.source_string.to_owned(), + }]) + } + } else { + Err(vec![DwarfError::StructFieldNotFound { + field: rhs.0.clone(), + file: context.file_name.to_owned(), + span: rhs.1.to_owned(), + location: location!(), + program: context.source_string.to_owned(), + }]) + } + } + ValueTypeEnum::Ty(id) => { + debug!("FieldAccess: ValueTypeEnum::Ty() {:?}", id); + let ty = context.sarzak.exhume_ty(id).unwrap(); + let ty = ty.read().unwrap(); + match *ty { + Ty::Object(id) => { + // We get here for objects imported from a plug-in. + let woog_struct = lu_dog + .iter_woog_struct() + .inspect(|ref ws| { + debug!("{ws:?}"); + }) + .find(|ws| s_read!(ws).object == Some(id)) + .unwrap(); + + if let Some(field) = lu_dog.exhume_field_id_by_name(&rhs.0) { + let field = lu_dog.exhume_field(&field); + let func = if let Some(impl_) = + s_read!(woog_struct).r8c_implementation_block(lu_dog).pop() + { + let funcs = s_read!(impl_).r9_function(lu_dog); + funcs.iter().find(|f| s_read!(f).name == rhs.0).cloned() + } else { + None + }; + + // We need to grab the type from the field: what we have above is the type + // of the struct. + if let Some(field) = field { + let fat = FieldAccessTarget::new_field(true, &field, lu_dog); + let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); + let expr = Expression::new_field_access(true, &expr, lu_dog); + let ty = s_read!(field).r5_value_type(lu_dog)[0].clone(); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) + } else if let Some(func) = func { + let fat = FieldAccessTarget::new_function(true, &func, lu_dog); + let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); + let expr = Expression::new_field_access(true, &expr, lu_dog); + let ty = s_read!(func).r10_value_type(lu_dog)[0].clone(); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) + } else { + let span = s_read!(span); + let span = span.start as usize..span.end as usize; + Err(vec![DwarfError::StructFieldNotFound { + field: rhs.0.clone(), + file: context.file_name.to_owned(), + span, + location: location!(), + program: context.source_string.to_owned(), + }]) + } + } else { + Err(vec![DwarfError::StructFieldNotFound { + field: rhs.0.clone(), + file: context.file_name.to_owned(), + span: rhs.1.to_owned(), + location: location!(), + program: context.source_string.to_owned(), + }]) + } + } + _ => { + debug!("returning lhs"); + Ok((lhs, lhs_ty)) + } + } + } + ValueTypeEnum::ZObjectStore(ref id) => { + let store = lu_dog.exhume_z_object_store(id).unwrap(); + let name = &s_read!(store).name; + let id = lu_dog.exhume_woog_struct_id_by_name(name).unwrap(); + let woog_struct = lu_dog.exhume_woog_struct(&id).unwrap(); + let fields = s_read!(woog_struct).r7_field(lu_dog); + let field = fields.iter().find(|f| s_read!(f).name == rhs.0); + + if let Some(field) = field { + let field = lu_dog.exhume_field(&s_read!(field).id); + let func = if let Some(impl_) = + s_read!(woog_struct).r8c_implementation_block(lu_dog).pop() + { + let funcs = s_read!(impl_).r9_function(lu_dog); + funcs.iter().find(|f| s_read!(f).name == rhs.0).cloned() + } else { + None + }; + + debug!("field {:?}", field); + debug!("func {:?}", func); + + // We need to grab the type from the field: what we have above is the type + // of the struct. + if let Some(field) = field { + let fat = FieldAccessTarget::new_field(true, &field, lu_dog); + let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); + let expr = Expression::new_field_access(true, &expr, lu_dog); + let ty = s_read!(field).r5_value_type(lu_dog)[0].clone(); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) + } else if let Some(func) = func { + let fat = FieldAccessTarget::new_function(true, &func, lu_dog); + let expr = FieldAccess::new(&lhs.0, &fat, &woog_struct, lu_dog); + let expr = Expression::new_field_access(true, &expr, lu_dog); + let ty = s_read!(func).r10_value_type(lu_dog)[0].clone(); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) + } else { + let span = s_read!(span); + let span = span.start as usize..span.end as usize; + Err(vec![DwarfError::StructFieldNotFound { + field: rhs.0.clone(), + file: context.file_name.to_owned(), + span, + location: location!(), + program: context.source_string.to_owned(), + }]) + } + } else { + Err(vec![DwarfError::StructFieldNotFound { + field: rhs.0.clone(), + file: context.file_name.to_owned(), + span: rhs.1.to_owned(), + location: location!(), + program: context.source_string.to_owned(), + }]) + } + } + what => { + dbg!(&what); + Err(vec![DwarfError::NotAStruct { + file: context.file_name.to_owned(), + span: rhs.1.to_owned(), + ty: PrintableValueType(true, &ty, context, lu_dog).to_string(), + program: context.source_string.to_owned(), + }]) + } + } +} diff --git a/src/dwarf/extruder/expression/float_literal.rs b/src/dwarf/extruder/expression/float_literal.rs new file mode 100644 index 00000000..d9d3b361 --- /dev/null +++ b/src/dwarf/extruder/expression/float_literal.rs @@ -0,0 +1,36 @@ +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{update_span_value, Context, ExprSpan}, + DwarfFloat, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, FloatLiteral, Literal, Span, + ValueType, XValue, + }, + sarzak::Ty, + RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + literal: DwarfFloat, + span: RefType, + block: &RefType, + context: &mut Context, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let expr = Expression::new_literal( + true, + &Literal::new_float_literal(true, &FloatLiteral::new(literal, lu_dog), lu_dog), + lu_dog, + ); + let ty = ValueType::new_ty(true, &Ty::new_float(context.sarzak), lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/for_loop.rs b/src/dwarf/extruder/expression/for_loop.rs new file mode 100644 index 00000000..972fbcd5 --- /dev/null +++ b/src/dwarf/extruder/expression/for_loop.rs @@ -0,0 +1,111 @@ +use std::ops::Range; + +use log::debug; +use snafu::location; + +use crate::{ + dwarf::{ + error::{DwarfError, Result}, + extruder::{inter_expression, update_span_value, Context, ExprSpan, PrintableValueType}, + Expression as ParserExpression, WrappedValueType, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, ForLoop, Span, ValueType, + ValueTypeEnum, XValue, + }, + new_ref, s_read, + sarzak::Ty, + NewRef, RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + iter: (String, Range), + collection: Box<(ParserExpression, Range)>, + body: Box<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + debug!("For"); + + let cspan = &collection.1; + let collection = new_ref!(ParserExpression, collection.0.clone()); + + let (collection, collection_ty) = + inter_expression(&collection, cspan, block, context, import_stack, lu_dog)?; + + let collection_ty = match s_read!(collection_ty).subtype { + ValueTypeEnum::List(ref id) => { + let list = lu_dog.exhume_list(id).unwrap(); + let list = s_read!(list); + list.r36_value_type(lu_dog)[0].clone() + } + ValueTypeEnum::Range(_) => { + // 🚧 I'm punting here. I think range can be something other than an int. + // For example, what if you wanted a..f? I need to think about this, and + // check what rust does. I'm actually too tired right now to think about + // it. Related to range_type_bug. + // 🚧 Of course rust does not work on chars. Doesn't mean I don't want to. + ValueType::new_ty(true, &Ty::new_integer(context.sarzak), lu_dog) + } + ValueTypeEnum::Ty(ref id) => { + let ty = context.sarzak.exhume_ty(id).unwrap(); + let ty = ty.read().unwrap(); + match &*ty { + Ty::ZString(_) => ValueType::new_char(true, lu_dog), + _ => { + let ty = PrintableValueType(true, &collection_ty, context, lu_dog).to_string(); + return Err(vec![DwarfError::NotAList { + file: context.file_name.to_owned(), + span: cspan.to_owned(), + ty, + location: location!(), + program: context.source_string.to_owned(), + }]); + } + } + } + _ => { + let ty = PrintableValueType(true, &collection_ty, context, lu_dog).to_string(); + return Err(vec![DwarfError::NotAList { + file: context.file_name.to_owned(), + span: cspan.to_owned(), + ty, + location: location!(), + program: context.source_string.to_owned(), + }]); + } + }; + + let bspan = &body.1; + let body = match &body.0 { + ParserExpression::Block(a_sink, body, vars, tys) if vars.is_empty() && tys.is_empty() => { + ParserExpression::Block( + a_sink.to_owned(), + body.to_owned(), + vec![iter.0.to_owned()], + vec![WrappedValueType(collection_ty)], + ) + } + _ => unreachable!(), + }; + let body = new_ref!(ParserExpression, body.to_owned()); + + let ((body, _), _body_ty) = + inter_expression(&body, bspan, block, context, import_stack, lu_dog)?; + + // I think that the model should be changed so that the For Loop takes + // an Expression rather than a Body. + let for_loop = ForLoop::new(iter.0.to_owned(), &body, &collection.0, lu_dog); + let expr = Expression::new_for_loop(true, &for_loop, lu_dog); + let ty = ValueType::new_empty(true, lu_dog); + + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/format_string.rs b/src/dwarf/extruder/expression/format_string.rs new file mode 100644 index 00000000..e3ba38d2 --- /dev/null +++ b/src/dwarf/extruder/expression/format_string.rs @@ -0,0 +1,69 @@ +use std::ops::Range; + +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{inter_expression, update_span_value, Context, ExprSpan}, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, ExpressionBit, FormatBit, + FormatString, Literal, Span, ValueType, XValue, + }, + new_ref, s_read, s_write, + sarzak::Ty, + NewRef, RefType, SarzakStorePtr, +}; + +macro_rules! link_format_bits { + ($last:expr, $next:expr, $store:expr) => {{ + let next = s_read!($next); + if let Some(last) = $last { + let last = $store.exhume_format_bit(&last).unwrap().clone(); + let mut last = s_write!(last); + last.next = Some(next.id); + } + + Some(next.id) + }}; +} + +pub fn inter( + bits: &Vec<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let format_string = FormatString::new(None, lu_dog); + let literal = Literal::new_format_string(true, &format_string, lu_dog); + let expr = Expression::new_literal(true, &literal, lu_dog); + let ty = ValueType::new_ty(true, &Ty::new_z_string(context.sarzak), lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + let mut last_format_bit_uuid: Option = None; + for (bit, span) in bits { + let ((expr, _), _) = inter_expression( + &new_ref!(ParserExpression, bit.to_owned()), + &span, + block, + context, + import_stack, + lu_dog, + )?; + + let expr_bit = ExpressionBit::new(&expr, lu_dog); + let format_bit = FormatBit::new_expression_bit(&format_string, None, &expr_bit, lu_dog); + + if last_format_bit_uuid.is_none() { + s_write!(format_string).first_format_bit = Some(s_read!(format_bit).id); + } + last_format_bit_uuid = link_format_bits!(last_format_bit_uuid, format_bit, lu_dog); + } + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/function_call.rs b/src/dwarf/extruder/expression/function_call.rs new file mode 100644 index 00000000..1ef8b0b9 --- /dev/null +++ b/src/dwarf/extruder/expression/function_call.rs @@ -0,0 +1,104 @@ +use std::ops::Range; + +use log::debug; +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{ + inter_expression, link_argument, update_span_value, Context, ExprSpan, + PrintableValueType, + }, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Argument, Block, Call, Expression, FunctionCall, Span, + ValueType, ValueTypeEnum, XValue, + }, + new_ref, s_read, s_write, DwarfInteger, NewRef, RefType, SarzakStorePtr, +}; + +pub fn inter( + func: Box<(ParserExpression, Range)>, + args: &Vec<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + debug!("func {func:?}"); + let fspan = &func.1; + let func = &func.0; + debug!("args {args:?}"); + + let (func_expr, ret_ty) = inter_expression( + &new_ref!(ParserExpression, func.to_owned()), + fspan, + block, + context, + import_stack, + lu_dog, + )?; + debug!("func_expr {func_expr:?}"); + + let ret_ty = if let ValueTypeEnum::Lambda(ref l) = s_read!(ret_ty).subtype { + let l = lu_dog.exhume_lambda(l).unwrap(); + let ret_ty = s_read!(l).return_type.clone(); + let ret_ty = lu_dog.exhume_value_type(&ret_ty).unwrap(); + ret_ty + } else { + ret_ty.clone() + }; + + let name = match func { + ParserExpression::LocalVariable(name) => name, + _ => "not-a-local-variable", + }; + + let func_call = FunctionCall::new(name.to_owned(), lu_dog); + let func_call = Call::new_function_call(true, None, Some(&func_expr.0), &func_call, lu_dog); + let func = Expression::new_call(true, &func_call, lu_dog); + let value = XValue::new_expression(block, &ret_ty, &func, lu_dog); + update_span_value(&span, &value, location!()); + + let mut last_arg_uuid: Option = None; + // Note that position makes each arg unique. I don't remember if + // that is the explicit intention or not. + for (position, arg) in args.iter().enumerate() { + let (arg_expr, _ty) = inter_expression( + &new_ref!(ParserExpression, arg.0.to_owned()), + &arg.1, + block, + context, + import_stack, + lu_dog, + )?; + let arg = Argument::new( + position as DwarfInteger, + &arg_expr.0, + &func_call, + None, + lu_dog, + ); + + if position == 0 { + s_write!(func_call).argument = Some(s_read!(arg).id); + } + + last_arg_uuid = link_argument!(last_arg_uuid, arg, lu_dog); + } + + debug!( + "ParserExpression::FunctionCall exit {:?}", + (&func_call, s_read!(func_call).r28_argument(lu_dog)) + ); + + debug!( + "return type {}", + PrintableValueType(true, &ret_ty, context, lu_dog).to_string() + ); + + Ok(((func, span), ret_ty)) +} diff --git a/src/dwarf/extruder/expression/group.rs b/src/dwarf/extruder/expression/group.rs new file mode 100644 index 00000000..e4bc766a --- /dev/null +++ b/src/dwarf/extruder/expression/group.rs @@ -0,0 +1,29 @@ +use std::ops::Range; + +use crate::{ + dwarf::{ + error::Result, + extruder::{inter_expression, Context, ExprSpan}, + Expression as ParserExpression, + }, + lu_dog::{store::ObjectStore as LuDogStore, Block, Span, ValueType}, + new_ref, NewRef, RefType, +}; + +pub fn inter( + expr: Box<(ParserExpression, Range)>, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let (expr, ty) = inter_expression( + &new_ref!(ParserExpression, expr.0.to_owned()), + &expr.1, + block, + context, + import_stack, + lu_dog, + )?; + Ok((expr, ty)) +} diff --git a/src/dwarf/extruder/expression/gt.rs b/src/dwarf/extruder/expression/gt.rs new file mode 100644 index 00000000..4f3a2170 --- /dev/null +++ b/src/dwarf/extruder/expression/gt.rs @@ -0,0 +1,74 @@ +use std::ops::Range; + +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{inter_expression, typecheck, update_span_value, Context, ExprSpan}, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Comparison, Expression, Operator, Span, ValueType, + XValue, + }, + new_ref, + sarzak::Ty, + NewRef, RefType, +}; + +pub fn inter( + lhs_p: Box<(ParserExpression, Range)>, + rhs_p: Box<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let (lhs, lhs_ty) = inter_expression( + &new_ref!(ParserExpression, lhs_p.0.to_owned()), + &lhs_p.1, + block, + context, + import_stack, + lu_dog, + )?; + let (rhs, rhs_ty) = inter_expression( + &new_ref!(ParserExpression, rhs_p.0.to_owned()), + &rhs_p.1, + block, + context, + import_stack, + lu_dog, + )?; + + // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 + // 🚧 THIS IS SUPER IMPORTANT! + // 🚧 + // 🚧 We need to check the types of the LHS and RHS to make sure that they are the same, + // 🚧 or at least compatible. Need to look into rust rules. + // 🚧 We also need to check that the types implement PartialEq, and whatever else... + // 🚧 + // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 + + typecheck( + (&lhs_ty, &lhs_p.1), + (&rhs_ty, &rhs_p.1), + location!(), + context, + lu_dog, + )?; + + let expr = Comparison::new_greater_than(true, lu_dog); + let expr = Operator::new_comparison(&lhs.0, Some(&rhs.0), &expr, lu_dog); + let expr = Expression::new_operator(true, &expr, lu_dog); + + let ty = Ty::new_boolean(context.sarzak); + let ty = ValueType::new_ty(true, &ty, lu_dog); + + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/gte.rs b/src/dwarf/extruder/expression/gte.rs new file mode 100644 index 00000000..ceabaf4b --- /dev/null +++ b/src/dwarf/extruder/expression/gte.rs @@ -0,0 +1,74 @@ +use std::ops::Range; + +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{inter_expression, typecheck, update_span_value, Context, ExprSpan}, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Comparison, Expression, Operator, Span, ValueType, + XValue, + }, + new_ref, + sarzak::Ty, + NewRef, RefType, +}; + +pub fn inter( + lhs_p: Box<(ParserExpression, Range)>, + rhs_p: Box<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let (lhs, lhs_ty) = inter_expression( + &new_ref!(ParserExpression, lhs_p.0.to_owned()), + &lhs_p.1, + block, + context, + import_stack, + lu_dog, + )?; + let (rhs, rhs_ty) = inter_expression( + &new_ref!(ParserExpression, rhs_p.0.to_owned()), + &rhs_p.1, + block, + context, + import_stack, + lu_dog, + )?; + + // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 + // 🚧 THIS IS SUPER IMPORTANT! + // 🚧 + // 🚧 We need to check the types of the LHS and RHS to make sure that they are the same, + // 🚧 or at least compatible. Need to look into rust rules. + // 🚧 We also need to check that the types implement PartialEq, and whatever else... + // 🚧 + // 🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧 + + typecheck( + (&lhs_ty, &lhs_p.1), + (&rhs_ty, &rhs_p.1), + location!(), + context, + lu_dog, + )?; + + let expr = Comparison::new_greater_than_or_equal(true, lu_dog); + let expr = Operator::new_comparison(&lhs.0, Some(&rhs.0), &expr, lu_dog); + let expr = Expression::new_operator(true, &expr, lu_dog); + + let ty = Ty::new_boolean(context.sarzak); + let ty = ValueType::new_ty(true, &ty, lu_dog); + + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/halt.rs b/src/dwarf/extruder/expression/halt.rs new file mode 100644 index 00000000..b59be236 --- /dev/null +++ b/src/dwarf/extruder/expression/halt.rs @@ -0,0 +1,40 @@ +use std::ops::Range; + +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{inter_expression, update_span_value, Context, ExprSpan}, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, HaltAndCatchFire, Span, ValueType, + XValue, + }, + new_ref, NewRef, RefType, +}; +pub fn inter( + expr: Box<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let (expr, _ty) = inter_expression( + &new_ref!(ParserExpression, expr.0.to_owned()), + &expr.1, + block, + context, + import_stack, + lu_dog, + )?; + let ty = ValueType::new_empty(true, lu_dog); + let halt = HaltAndCatchFire::new(&expr.0, lu_dog); + let expr = Expression::new_halt_and_catch_fire(true, &halt, lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/if_expr.rs b/src/dwarf/extruder/expression/if_expr.rs new file mode 100644 index 00000000..f8675f48 --- /dev/null +++ b/src/dwarf/extruder/expression/if_expr.rs @@ -0,0 +1,107 @@ +use std::ops::Range; + +use log::debug; +use snafu::location; + +use crate::{ + dwarf::{ + error::{DwarfError, Result}, + extruder::{ + inter_expression, typecheck, update_span_value, Context, ExprSpan, PrintableValueType, + }, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, ExpressionEnum, Span, ValueType, + ValueTypeEnum, XIf, XValue, + }, + new_ref, s_read, + sarzak::Ty, + NewRef, RefType, +}; + +pub fn inter( + conditional: Box<(ParserExpression, Range)>, + true_block: Box<(ParserExpression, Range)>, + false_block: Option)>>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + debug!("conditional {:?}", conditional); + let cspan = &conditional.1; + let conditional = new_ref!(ParserExpression, conditional.0.to_owned()); + let (conditional, conditional_ty) = + inter_expression(&conditional, cspan, block, context, import_stack, lu_dog)?; + debug!("ParserExpression::If {:?}", conditional_ty); + + // Check that the conditional expression evaluates to a boolean. + // Note that this first check is necessary to unwrap the sarzak type + // from the lu_dog type. + if let ValueTypeEnum::Ty(ref ty) = s_read!(conditional_ty).subtype { + let s_ty = context.sarzak.exhume_ty(ty).unwrap(); + let s_ty = s_ty.read().unwrap(); + if let Ty::Boolean(_) = &*s_ty { + // Good Times. + } else { + let bty = ValueType::new_ty(true, &Ty::new_boolean(context.sarzak), lu_dog); + let bty = PrintableValueType(true, &bty, context, lu_dog); + let ty = PrintableValueType(true, &conditional_ty, context, lu_dog); + return Err(vec![DwarfError::TypeMismatch { + expected: bty.to_string(), + found: ty.to_string(), + file: context.file_name.to_owned(), + expected_span: cspan.to_owned(), + found_span: cspan.to_owned(), + location: location!(), + program: context.source_string.to_owned(), + }]); + } + } else { + let bty = ValueType::new_ty(true, &Ty::new_boolean(context.sarzak), lu_dog); + let bty = PrintableValueType(true, &bty, context, lu_dog); + let ty = PrintableValueType(true, &conditional_ty, context, lu_dog); + return Err(vec![DwarfError::TypeMismatch { + expected: bty.to_string(), + found: ty.to_string(), + file: context.file_name.to_owned(), + expected_span: cspan.to_owned(), + found_span: cspan.to_owned(), + location: location!(), + program: context.source_string.to_owned(), + }]); + } + + let tspan = &true_block.1; + let true_block = new_ref!(ParserExpression, true_block.0.to_owned()); + let (true_block, true_ty) = + inter_expression(&true_block, tspan, block, context, import_stack, lu_dog)?; + let true_block = if let ExpressionEnum::Block(true_block) = s_read!(true_block.0).subtype { + true_block + } else { + panic!("Expected a block expression"); + }; + let true_block = lu_dog.exhume_block(&true_block).unwrap(); + + let false_block = if let Some(false_block) = false_block { + let fspan = &false_block.1; + let false_block = new_ref!(ParserExpression, false_block.0.to_owned()); + let (false_block, _false_ty) = + inter_expression(&false_block, fspan, block, context, import_stack, lu_dog)?; + Some(false_block.0) + } else { + None + }; + + let if_expr = XIf::new(false_block.as_ref(), &conditional.0, &true_block, lu_dog); + let expr = Expression::new_x_if(true, &if_expr, lu_dog); + + let ty = true_ty; + + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/index.rs b/src/dwarf/extruder/expression/index.rs new file mode 100644 index 00000000..c8822359 --- /dev/null +++ b/src/dwarf/extruder/expression/index.rs @@ -0,0 +1,99 @@ +use std::ops::Range; + +use log::debug; +use snafu::location; + +use crate::{ + dwarf::{ + error::{DwarfError, Result}, + extruder::{ + inter_expression, typecheck, update_span_value, Context, ExprSpan, PrintableValueType, + }, + Expression as ParserExpression, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, Index, Span, ValueType, ValueTypeEnum, + XValue, + }, + new_ref, s_read, + sarzak::Ty, + NewRef, RefType, +}; + +pub fn inter( + target_p: Box<(ParserExpression, Range)>, + index_p: Box<(ParserExpression, Range)>, + span: RefType, + block: &RefType, + context: &mut Context, + import_stack: &mut Vec, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + debug!("index {target_p:?}, {index_p:?}"); + let (target, target_ty) = inter_expression( + &new_ref!(ParserExpression, target_p.0.to_owned()), + &target_p.1, + block, + context, + import_stack, + lu_dog, + )?; + debug!("target: {target:?}, ty: {target_ty:?}"); + let (index, index_ty) = inter_expression( + &new_ref!(ParserExpression, index_p.0.to_owned()), + &index_p.1, + block, + context, + import_stack, + lu_dog, + )?; + + let int_ty = ValueType::new_ty(true, &Ty::new_integer(context.sarzak), lu_dog); + + let index_span = s_read!(index.1).start as usize..s_read!(index.1).end as usize; + typecheck( + (&int_ty, &index_span), + (&index_ty, &index_p.1), + location!(), + context, + lu_dog, + )?; + + // We need to dereference the list and return the underlying type. + let target_ty = if let ValueTypeEnum::List(ref ty) = s_read!(target_ty).subtype { + let list = lu_dog.exhume_list(ty).unwrap(); + let ty = &s_read!(list).r36_value_type(lu_dog)[0]; + ty.clone() + } else if let ValueTypeEnum::Ty(ref ty) = s_read!(target_ty).subtype { + let ty = context.sarzak.exhume_ty(ty).unwrap(); + let ty = ty.read().unwrap(); + if let Ty::ZString(_) = &*ty { + ValueType::new_char(true, lu_dog) + } else { + let ty = PrintableValueType(true, &target_ty, context, lu_dog).to_string(); + return Err(vec![DwarfError::NotAList { + file: context.file_name.to_owned(), + span: target_p.1.clone(), + ty, + location: location!(), + program: context.source_string.to_owned(), + }]); + } + } else { + let ty = PrintableValueType(true, &target_ty, context, lu_dog).to_string(); + return Err(vec![DwarfError::NotAList { + file: context.file_name.to_owned(), + span: target_p.1.clone(), + ty, + location: location!(), + program: context.source_string.to_owned(), + }]); + }; + + let index = Index::new(&index.0, &target.0, lu_dog); + let expr = Expression::new_index(true, &index, lu_dog); + let value = XValue::new_expression(block, &target_ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), target_ty)) +} diff --git a/src/dwarf/extruder/expression/integer_literal.rs b/src/dwarf/extruder/expression/integer_literal.rs new file mode 100644 index 00000000..60c75e57 --- /dev/null +++ b/src/dwarf/extruder/expression/integer_literal.rs @@ -0,0 +1,36 @@ +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{update_span_value, Context, ExprSpan}, + DwarfInteger, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, IntegerLiteral, Literal, Span, + ValueType, XValue, + }, + sarzak::Ty, + RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + literal: DwarfInteger, + span: RefType, + block: &RefType, + context: &mut Context, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let expr = Expression::new_literal( + true, + &Literal::new_integer_literal(true, &IntegerLiteral::new(literal, lu_dog), lu_dog), + lu_dog, + ); + let ty = ValueType::new_ty(true, &Ty::new_integer(context.sarzak), lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/src/dwarf/extruder/expression/string_literal.rs b/src/dwarf/extruder/expression/string_literal.rs new file mode 100644 index 00000000..3d649774 --- /dev/null +++ b/src/dwarf/extruder/expression/string_literal.rs @@ -0,0 +1,39 @@ +use snafu::location; + +use crate::{ + dwarf::{ + error::Result, + extruder::{update_span_value, Context, ExprSpan}, + }, + lu_dog::{ + store::ObjectStore as LuDogStore, Block, Expression, Literal, Span, StringLiteral, + ValueType, XValue, + }, + sarzak::Ty, + RefType, +}; + +// Let's just say that I don't get this lint. The docs say you have to box it +// first, but what about when it's already boxed? I don't get it. +pub fn inter( + literal: String, + span: RefType, + block: &RefType, + context: &mut Context, + lu_dog: &mut LuDogStore, +) -> Result<(ExprSpan, RefType)> { + let expr = Expression::new_literal( + true, + &Literal::new_string_literal( + true, + &StringLiteral::new(literal.to_owned(), lu_dog), + lu_dog, + ), + lu_dog, + ); + let ty = ValueType::new_ty(true, &Ty::new_z_string(context.sarzak), lu_dog); + let value = XValue::new_expression(block, &ty, &expr, lu_dog); + update_span_value(&span, &value, location!()); + + Ok(((expr, span), ty)) +} diff --git a/tests/harness/expression/group/group.tao b/tests/harness/expression/group/group.tao index d3d8ba8d..02966130 100644 --- a/tests/harness/expression/group/group.tao +++ b/tests/harness/expression/group/group.tao @@ -1,9 +1,4 @@ fn main() { chacha::assert_eq((1 + 1), 2); chacha::assert_eq((2 + 2) / 4, 1); - - let a = 3; - let b = 3.14; - let c = if a >= (b as int) { a } else { b }; - chacha::assert_eq(c, a); }