diff --git a/Cargo.lock b/Cargo.lock index 3165318fe..dfb630ce3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -26,7 +26,7 @@ dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] @@ -80,7 +80,7 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" dependencies = [ - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -90,7 +90,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -166,9 +166,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fca2be1d5c43812bae364ee3f30b3afcb7877cf59f4aeb94c66f313a41d2fac9" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" [[package]] name = "cap-fs-ext" @@ -179,7 +179,7 @@ dependencies = [ "cap-primitives", "cap-std", "io-lifetimes", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -207,7 +207,7 @@ dependencies = [ "ipnet", "maybe-owned", "rustix", - "windows-sys", + "windows-sys 0.52.0", "winx", ] @@ -249,12 +249,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.7" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" +checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" dependencies = [ "jobserver", "libc", + "shlex", ] [[package]] @@ -265,9 +266,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.5.12" +version = "4.5.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c53aa12ec67affac065e7c7dd20a42fa2a4094921b655711d5d3107bb3d52bed" +checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" dependencies = [ "clap_builder", "clap_derive", @@ -275,9 +276,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.12" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbdf2dd5fe10889e0c61942ff5d948aaf12fd0b4504408ab0cbb1916c2cffa9" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", @@ -287,9 +288,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.11" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -325,9 +326,9 @@ checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpp_demangle" @@ -340,9 +341,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -465,7 +466,7 @@ dependencies = [ "itertools", "log", "smallvec", - "wasmparser", + "wasmparser 0.215.0", "wasmtime-types", ] @@ -585,6 +586,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + [[package]] name = "encoding_rs" version = "0.8.34" @@ -607,7 +614,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -624,7 +631,7 @@ checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" dependencies = [ "cfg-if", "rustix", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -644,7 +651,7 @@ checksum = "033b337d725b97690d86893f9de22b67b80dcc4e9ad815f348254c38119db8fb" dependencies = [ "io-lifetimes", "rustix", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -840,9 +847,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -856,7 +863,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9f046b9af244f13b3bd939f55d16830ac3a201e8a9ba9661bfcb03e2be72b9b" dependencies = [ "io-lifetimes", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -923,9 +930,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] @@ -938,9 +945,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libm" @@ -1011,21 +1018,21 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ "hermit-abi", "libc", "wasi", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] name = "object" -version = "0.36.2" +version = "0.36.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" +checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" dependencies = [ "crc32fast", "hashbrown 0.14.5", @@ -1071,22 +1078,23 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "postcard" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55c51ee6c0db07e68448e336cf8ea4131a620edefebf9893e759b2d793420f8" +checksum = "5f7f0a8d620d71c457dd1d47df76bb18960378da56af4527aaa10f515eee732e" dependencies = [ "cobs", - "embedded-io", + "embedded-io 0.4.0", + "embedded-io 0.6.1", "serde", ] [[package]] name = "ppv-lite86" -version = "0.2.18" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee4364d9f3b902ef14fab8a1ddffb783a1cb6b4bba3bfc1fa3922732c7de97f" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" dependencies = [ - "zerocopy 0.6.6", + "zerocopy", ] [[package]] @@ -1189,9 +1197,9 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", @@ -1242,7 +1250,7 @@ dependencies = [ "libc", "linux-raw-sys", "once_cell", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -1262,18 +1270,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.204" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", @@ -1282,9 +1290,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.121" +version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609" +checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" dependencies = [ "itoa", "memchr", @@ -1321,6 +1329,12 @@ dependencies = [ "dirs", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "slice-group-by" version = "0.3.1" @@ -1343,7 +1357,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -1375,9 +1389,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -1396,7 +1410,7 @@ dependencies = [ "fd-lock", "io-lifetimes", "rustix", - "windows-sys", + "windows-sys 0.52.0", "winx", ] @@ -1424,10 +1438,10 @@ name = "test-helpers" version = "0.0.0" dependencies = [ "codegen-macro", - "wasm-encoder", + "wasm-encoder 0.216.0", "wit-bindgen-core", "wit-component", - "wit-parser", + "wit-parser 0.216.0", ] [[package]] @@ -1475,9 +1489,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.2" +version = "1.39.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" +checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" dependencies = [ "backtrace", "bytes", @@ -1485,7 +1499,7 @@ dependencies = [ "mio", "pin-project-lite", "socket2", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -1597,9 +1611,9 @@ checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" [[package]] name = "url" @@ -1638,19 +1652,20 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", @@ -1663,9 +1678,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1673,9 +1688,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", @@ -1686,9 +1701,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "wasm-encoder" @@ -1697,14 +1712,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb56df3e06b8e6b77e37d2969a50ba51281029a9aeb3855e76b7f49b6418847" dependencies = [ "leb128", - "wasmparser", +] + +[[package]] +name = "wasm-encoder" +version = "0.216.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04c23aebea22c8a75833ae08ed31ccc020835b12a41999e58c31464271b94a88" +dependencies = [ + "leb128", + "wasmparser 0.216.0", ] [[package]] name = "wasm-metadata" -version = "0.215.0" +version = "0.216.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6bb07c5576b608f7a2a9baa2294c1a3584a249965d695a9814a496cb6d232f" +checksum = "47c8154d703a6b0e45acf6bd172fa002fc3c7058a9f7615e517220aeca27c638" dependencies = [ "anyhow", "indexmap", @@ -1712,8 +1736,8 @@ dependencies = [ "serde_derive", "serde_json", "spdx", - "wasm-encoder", - "wasmparser", + "wasm-encoder 0.216.0", + "wasmparser 0.216.0", ] [[package]] @@ -1730,6 +1754,20 @@ dependencies = [ "serde", ] +[[package]] +name = "wasmparser" +version = "0.216.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcdee6bea3619d311fb4b299721e89a986c3470f804b6d534340e412589028e3" +dependencies = [ + "ahash", + "bitflags", + "hashbrown 0.14.5", + "indexmap", + "semver", + "serde", +] + [[package]] name = "wasmprinter" version = "0.215.0" @@ -1738,7 +1776,7 @@ checksum = "d8e9a325d85053408209b3d2ce5eaddd0dd6864d1cff7a007147ba073157defc" dependencies = [ "anyhow", "termcolor", - "wasmparser", + "wasmparser 0.215.0", ] [[package]] @@ -1779,8 +1817,8 @@ dependencies = [ "smallvec", "sptr", "target-lexicon", - "wasm-encoder", - "wasmparser", + "wasm-encoder 0.215.0", + "wasmparser 0.215.0", "wasmtime-asm-macros", "wasmtime-cache", "wasmtime-component-macro", @@ -1794,7 +1832,7 @@ dependencies = [ "wasmtime-versioned-export-macros", "wasmtime-winch", "wat", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -1822,7 +1860,7 @@ dependencies = [ "serde_derive", "sha2", "toml", - "windows-sys", + "windows-sys 0.52.0", "zstd", ] @@ -1838,7 +1876,7 @@ dependencies = [ "syn", "wasmtime-component-util", "wasmtime-wit-bindgen", - "wit-parser", + "wit-parser 0.215.0", ] [[package]] @@ -1866,7 +1904,7 @@ dependencies = [ "object", "target-lexicon", "thiserror", - "wasmparser", + "wasmparser 0.215.0", "wasmtime-environ", "wasmtime-versioned-export-macros", ] @@ -1891,8 +1929,8 @@ dependencies = [ "serde", "serde_derive", "target-lexicon", - "wasm-encoder", - "wasmparser", + "wasm-encoder 0.215.0", + "wasmparser 0.215.0", "wasmprinter", "wasmtime-component-util", "wasmtime-types", @@ -1910,7 +1948,7 @@ dependencies = [ "rustix", "wasmtime-asm-macros", "wasmtime-versioned-export-macros", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -1934,7 +1972,7 @@ dependencies = [ "anyhow", "cfg-if", "libc", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -1954,7 +1992,7 @@ dependencies = [ "serde", "serde_derive", "smallvec", - "wasmparser", + "wasmparser 0.215.0", ] [[package]] @@ -1996,7 +2034,7 @@ dependencies = [ "url", "wasmtime", "wiggle", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -2010,7 +2048,7 @@ dependencies = [ "gimli", "object", "target-lexicon", - "wasmparser", + "wasmparser 0.215.0", "wasmtime-cranelift", "wasmtime-environ", "winch-codegen", @@ -2025,7 +2063,7 @@ dependencies = [ "anyhow", "heck 0.4.1", "indexmap", - "wit-parser", + "wit-parser 0.215.0", ] [[package]] @@ -2039,24 +2077,24 @@ dependencies = [ [[package]] name = "wast" -version = "215.0.0" +version = "216.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff1d00d893593249e60720be04a7c1f42f1c4dc3806a2869f4e66ab61eb54cb" +checksum = "f7eb1f2eecd913fdde0dc6c3439d0f24530a98ac6db6cb3d14d92a5328554a08" dependencies = [ "bumpalo", "leb128", "memchr", "unicode-width", - "wasm-encoder", + "wasm-encoder 0.216.0", ] [[package]] name = "wat" -version = "1.215.0" +version = "1.216.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670bf4d9c8cf76ae242d70ded47c546525b6dafaa6871f9bcb065344bf2b4e3d" +checksum = "ac0409090fb5154f95fb5ba3235675fd9e579e731524d63b6a2f653e1280c82a" dependencies = [ - "wast 215.0.0", + "wast 216.0.0", ] [[package]] @@ -2123,7 +2161,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys", + "windows-sys 0.59.0", ] [[package]] @@ -2144,7 +2182,7 @@ dependencies = [ "regalloc2", "smallvec", "target-lexicon", - "wasmparser", + "wasmparser 0.215.0", "wasmtime-cranelift", "wasmtime-environ", ] @@ -2167,6 +2205,15 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + [[package]] name = "windows-targets" version = "0.52.6" @@ -2247,7 +2294,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9643b83820c0cd246ecabe5fa454dd04ba4fa67996369466d0747472d337346" dependencies = [ "bitflags", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -2266,11 +2313,11 @@ dependencies = [ "clap", "heck 0.5.0", "test-helpers", - "wasm-encoder", + "wasm-encoder 0.216.0", "wasm-metadata", "wit-bindgen-core", "wit-component", - "wit-parser", + "wit-parser 0.216.0", ] [[package]] @@ -2281,8 +2328,8 @@ dependencies = [ "clap", "heck 0.5.0", "test-artifacts", - "wasm-encoder", - "wasmparser", + "wasm-encoder 0.216.0", + "wasmparser 0.216.0", "wasmtime", "wasmtime-wasi", "wit-bindgen-c", @@ -2294,7 +2341,7 @@ dependencies = [ "wit-bindgen-rust", "wit-bindgen-teavm-java", "wit-component", - "wit-parser", + "wit-parser 0.216.0", ] [[package]] @@ -2303,7 +2350,7 @@ version = "0.30.0" dependencies = [ "anyhow", "heck 0.5.0", - "wit-parser", + "wit-parser 0.216.0", ] [[package]] @@ -2315,12 +2362,12 @@ dependencies = [ "heck 0.5.0", "indexmap", "test-helpers", - "wasm-encoder", + "wasm-encoder 0.216.0", "wasm-metadata", - "wasmparser", + "wasmparser 0.216.0", "wit-bindgen-core", "wit-component", - "wit-parser", + "wit-parser 0.216.0", ] [[package]] @@ -2414,9 +2461,9 @@ dependencies = [ [[package]] name = "wit-component" -version = "0.215.0" +version = "0.216.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f725e3885fc5890648be5c5cbc1353b755dc932aa5f1aa7de968b912a3280743" +checksum = "7e2ca3ece38ea2447a9069b43074ba73d96dde1944cba276c54e41371745f9dc" dependencies = [ "anyhow", "bitflags", @@ -2425,11 +2472,11 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "wasm-encoder", + "wasm-encoder 0.216.0", "wasm-metadata", - "wasmparser", + "wasmparser 0.216.0", "wat", - "wit-parser", + "wit-parser 0.216.0", ] [[package]] @@ -2447,29 +2494,37 @@ dependencies = [ "serde_derive", "serde_json", "unicode-xid", - "wasmparser", + "wasmparser 0.215.0", ] [[package]] -name = "witx" -version = "0.9.1" +name = "wit-parser" +version = "0.216.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e366f27a5cabcddb2706a78296a40b8fcc451e1a6aba2fc1d94b4a01bdaaef4b" +checksum = "a4d108165c1167a4ccc8a803dcf5c28e0a51d6739fd228cc7adce768632c764c" dependencies = [ "anyhow", + "id-arena", + "indexmap", "log", - "thiserror", - "wast 35.0.2", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser 0.216.0", ] [[package]] -name = "zerocopy" -version = "0.6.6" +name = "witx" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854e949ac82d619ee9a14c66a1b674ac730422372ccb759ce0c39cabcf2bf8e6" +checksum = "e366f27a5cabcddb2706a78296a40b8fcc451e1a6aba2fc1d94b4a01bdaaef4b" dependencies = [ - "byteorder", - "zerocopy-derive 0.6.6", + "anyhow", + "log", + "thiserror", + "wast 35.0.2", ] [[package]] @@ -2478,18 +2533,8 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy-derive" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "byteorder", + "zerocopy-derive", ] [[package]] @@ -2514,18 +2559,18 @@ dependencies = [ [[package]] name = "zstd-safe" -version = "7.2.0" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa556e971e7b568dc775c136fc9de8c779b1c2fc3a63defaafadffdbd3181afa" +checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.12+zstd.1.5.6" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 618abcbf3..d0074e2a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,11 +32,11 @@ indexmap = "2.0.0" prettyplease = "0.2.20" syn = { version = "2.0", features = ["printing"] } -wasmparser = "0.215.0" -wasm-encoder = "0.215.0" -wasm-metadata = "0.215.0" -wit-parser = "0.215.0" -wit-component = "0.215.0" +wasmparser = "0.216.0" +wasm-encoder = "0.216.0" +wasm-metadata = "0.216.0" +wit-parser = "0.216.0" +wit-component = "0.216.0" wit-bindgen-core = { path = 'crates/core', version = '0.30.0' } wit-bindgen-c = { path = 'crates/c', version = '0.30.0' } diff --git a/crates/c/src/lib.rs b/crates/c/src/lib.rs index 179f0b978..2da9a640d 100644 --- a/crates/c/src/lib.rs +++ b/crates/c/src/lib.rs @@ -3028,7 +3028,7 @@ impl Bindgen for FunctionBindgen<'_, '_> { uwriteln!(self.src, "uint8_t *{ptr} = {};", operands[0]); let i = self.locals.tmp("i"); uwriteln!(self.src, "for (size_t {i} = 0; {i} < {len}; {i}++) {{"); - let size = self.gen.gen.sizes.size(element); + let size = self.gen.gen.sizes.size(element).size_wasm32(); uwriteln!(self.src, "uint8_t *base = {ptr} + {i} * {size};"); uwriteln!(self.src, "(void) base;"); uwrite!(self.src, "{body}"); diff --git a/crates/core/src/abi.rs b/crates/core/src/abi.rs index d696b459a..f0175afaa 100644 --- a/crates/core/src/abi.rs +++ b/crates/core/src/abi.rs @@ -800,21 +800,23 @@ impl<'a, B: Bindgen> Generator<'a, B> { // ... otherwise if parameters are indirect space is // allocated from them and each argument is lowered // individually into memory. - let (size, align) = self + let info = self .bindgen .sizes() .record(func.params.iter().map(|t| &t.1)); let ptr = match self.variant { // When a wasm module calls an import it will provide // space that isn't explicitly deallocated. - AbiVariant::GuestImport => self.bindgen.return_pointer(size, align), + AbiVariant::GuestImport => self + .bindgen + .return_pointer(info.size.size_wasm32(), info.align.align_wasm32()), // When calling a wasm module from the outside, though, // malloc needs to be called. AbiVariant::GuestExport => { self.emit(&Instruction::Malloc { realloc: "cabi_realloc", - size, - align, + size: info.size.size_wasm32(), + align: info.align.align_wasm32(), }); self.stack.pop().unwrap() } @@ -822,9 +824,9 @@ impl<'a, B: Bindgen> Generator<'a, B> { let mut offset = 0usize; for (nth, (_, ty)) in func.params.iter().enumerate() { self.emit(&Instruction::GetArg { nth }); - offset = align_to(offset, self.bindgen.sizes().align(ty)); + offset = align_to(offset, self.bindgen.sizes().align(ty).align_wasm32()); self.write_to_memory(ty, ptr.clone(), offset as i32); - offset += self.bindgen.sizes().size(ty); + offset += self.bindgen.sizes().size(ty).size_wasm32(); } self.stack.push(ptr); @@ -833,8 +835,10 @@ impl<'a, B: Bindgen> Generator<'a, B> { // If necessary we may need to prepare a return pointer for // this ABI. if self.variant == AbiVariant::GuestImport && sig.retptr { - let (size, align) = self.bindgen.sizes().params(func.results.iter_types()); - let ptr = self.bindgen.return_pointer(size, align); + let info = self.bindgen.sizes().params(func.results.iter_types()); + let ptr = self + .bindgen + .return_pointer(info.size.size_wasm32(), info.align.align_wasm32()); self.return_pointer = Some(ptr.clone()); self.stack.push(ptr); } @@ -904,9 +908,9 @@ impl<'a, B: Bindgen> Generator<'a, B> { self.emit(&Instruction::GetArg { nth: 0 }); let ptr = self.stack.pop().unwrap(); for (_, ty) in func.params.iter() { - offset = align_to(offset, self.bindgen.sizes().align(ty)); + offset = align_to(offset, self.bindgen.sizes().align(ty).align_wasm32()); self.read_from_memory(ty, ptr.clone(), offset as i32); - offset += self.bindgen.sizes().size(ty); + offset += self.bindgen.sizes().size(ty).size_wasm32(); } } @@ -917,12 +921,15 @@ impl<'a, B: Bindgen> Generator<'a, B> { // it's been read by the guest we need to deallocate it. if let AbiVariant::GuestExport = self.variant { if sig.indirect_params { - let (size, align) = self + let info = self .bindgen .sizes() .record(func.params.iter().map(|t| &t.1)); self.emit(&Instruction::GetArg { nth: 0 }); - self.emit(&Instruction::GuestDeallocate { size, align }); + self.emit(&Instruction::GuestDeallocate { + size: info.size.size_wasm32(), + align: info.align.align_wasm32(), + }); } } @@ -959,9 +966,10 @@ impl<'a, B: Bindgen> Generator<'a, B> { // (statically) and then write the result into that // memory, returning the pointer at the end. AbiVariant::GuestExport => { - let (size, align) = - self.bindgen.sizes().params(func.results.iter_types()); - let ptr = self.bindgen.return_pointer(size, align); + let info = self.bindgen.sizes().params(func.results.iter_types()); + let ptr = self + .bindgen + .return_pointer(info.size.size_wasm32(), info.align.align_wasm32()); self.write_params_to_memory(func.results.iter_types(), ptr.clone(), 0); self.stack.push(ptr); } @@ -998,6 +1006,7 @@ impl<'a, B: Bindgen> Generator<'a, B> { .sizes() .field_offsets(func.results.iter_types()) { + let offset = offset.size_wasm32(); let offset = i32::try_from(offset).unwrap(); self.deallocate(ty, addr.clone(), offset); } @@ -1535,8 +1544,12 @@ impl<'a, B: Bindgen> Generator<'a, B> { tag: Int, cases: impl IntoIterator> + Clone, ) { - let payload_offset = - offset + (self.bindgen.sizes().payload_offset(tag, cases.clone()) as i32); + let payload_offset = offset + + (self + .bindgen + .sizes() + .payload_offset(tag, cases.clone()) + .size_wasm32() as i32); for (i, ty) in cases.into_iter().enumerate() { self.push_block(); self.emit(&Instruction::VariantPayloadName); @@ -1581,6 +1594,7 @@ impl<'a, B: Bindgen> Generator<'a, B> { .zip(fields) { self.stack.push(op); + let field_offset = field_offset.size_wasm32(); self.write_to_memory(ty, addr.clone(), offset + (field_offset as i32)); } } @@ -1715,8 +1729,12 @@ impl<'a, B: Bindgen> Generator<'a, B> { ) { self.stack.push(addr.clone()); self.load_intrepr(offset, tag); - let payload_offset = - offset + (self.bindgen.sizes().payload_offset(tag, cases.clone()) as i32); + let payload_offset = offset + + (self + .bindgen + .sizes() + .payload_offset(tag, cases.clone()) + .size_wasm32() as i32); for ty in cases { self.push_block(); if let Some(ty) = ty { @@ -1743,7 +1761,8 @@ impl<'a, B: Bindgen> Generator<'a, B> { offset: i32, ) { for (field_offset, ty) in self.bindgen.sizes().field_offsets(tys).iter() { - self.read_from_memory(ty, addr.clone(), offset + (*field_offset as i32)); + let field_offset = field_offset.size_wasm32(); + self.read_from_memory(ty, addr.clone(), offset + (field_offset as i32)); } } @@ -1882,8 +1901,12 @@ impl<'a, B: Bindgen> Generator<'a, B> { ) { self.stack.push(addr.clone()); self.load_intrepr(offset, tag); - let payload_offset = - offset + (self.bindgen.sizes().payload_offset(tag, cases.clone()) as i32); + let payload_offset = offset + + (self + .bindgen + .sizes() + .payload_offset(tag, cases.clone()) + .size_wasm32() as i32); for ty in cases { self.push_block(); if let Some(ty) = ty { @@ -1895,6 +1918,7 @@ impl<'a, B: Bindgen> Generator<'a, B> { fn deallocate_fields(&mut self, tys: &[Type], addr: B::Operand, offset: i32) { for (field_offset, ty) in self.bindgen.sizes().field_offsets(tys) { + let field_offset = field_offset.size_wasm32(); self.deallocate(ty, addr.clone(), offset + (field_offset as i32)); } } diff --git a/crates/csharp/src/lib.rs b/crates/csharp/src/lib.rs index 12f8ad6e9..7b9253ed7 100644 --- a/crates/csharp/src/lib.rs +++ b/crates/csharp/src/lib.rs @@ -2522,7 +2522,7 @@ impl Bindgen for FunctionBindgen<'_, '_> { let address = self.locals.tmp("address"); let buffer = self.locals.tmp("buffer"); let gc_handle = self.locals.tmp("gcHandle"); - let size = self.gen.gen.sizes.size(element); + let size = self.gen.gen.sizes.size(element).size_wasm32(); uwrite!( self.src, " @@ -2597,7 +2597,7 @@ impl Bindgen for FunctionBindgen<'_, '_> { assert!(block_results.is_empty()); let list = &operands[0]; - let size = self.gen.gen.sizes.size(element); + let size = self.gen.gen.sizes.size(element).size_wasm32(); let ty = self.gen.type_name_with_qualifier(element, true); let index = self.locals.tmp("index"); @@ -2641,7 +2641,7 @@ impl Bindgen for FunctionBindgen<'_, '_> { let length = &operands[1]; let array = self.locals.tmp("array"); let ty = self.gen.type_name_with_qualifier(element, true); - let size = self.gen.gen.sizes.size(element); + let size = self.gen.gen.sizes.size(element).size_wasm32(); let index = self.locals.tmp("index"); let result = match &block_results[..] { diff --git a/crates/moonbit/src/lib.rs b/crates/moonbit/src/lib.rs index 9b72fce1d..86379d270 100644 --- a/crates/moonbit/src/lib.rs +++ b/crates/moonbit/src/lib.rs @@ -2026,8 +2026,8 @@ impl Bindgen for FunctionBindgen<'_, '_> { assert!(block_results.is_empty()); let op = &operands[0]; - let size = self.gen.gen.sizes.size(element); - let align = self.gen.gen.sizes.align(element); + let size = self.gen.gen.sizes.size(element).size_wasm32(); + let align = self.gen.gen.sizes.align(element).align_wasm32(); let address = self.locals.tmp("address"); let ty = self.gen.type_name(element, true); let index = self.locals.tmp("index"); @@ -2067,7 +2067,7 @@ impl Bindgen for FunctionBindgen<'_, '_> { let length = &operands[1]; let array = self.locals.tmp("array"); let ty = self.gen.type_name(element, true); - let size = self.gen.gen.sizes.size(element); + let size = self.gen.gen.sizes.size(element).size_wasm32(); // let align = self.gen.gen.sizes.align(element); let index = self.locals.tmp("index"); @@ -2364,7 +2364,7 @@ impl Bindgen for FunctionBindgen<'_, '_> { let address = &operands[0]; let length = &operands[1]; - let size = self.gen.gen.sizes.size(element); + let size = self.gen.gen.sizes.size(element).size_wasm32(); // let align = self.gen.gen.sizes.align(element); if !body.trim().is_empty() { diff --git a/crates/rust/src/bindgen.rs b/crates/rust/src/bindgen.rs index 5a6a2740d..1e9dc9ff1 100644 --- a/crates/rust/src/bindgen.rs +++ b/crates/rust/src/bindgen.rs @@ -715,8 +715,8 @@ impl Bindgen for FunctionBindgen<'_, '_> { operand0 = operands[0] )); self.push_str(&format!("let {len} = {vec}.len();\n")); - let size = self.gen.sizes.size(element); - let align = self.gen.sizes.align(element); + let size = self.gen.sizes.size(element).size_wasm32(); + let align = self.gen.sizes.align(element).align_wasm32(); self.push_str(&format!( "let {layout} = {alloc}::Layout::from_size_align_unchecked({vec}.len() * {size}, {align});\n", )); @@ -746,8 +746,8 @@ impl Bindgen for FunctionBindgen<'_, '_> { Instruction::ListLift { element, .. } => { let body = self.blocks.pop().unwrap(); let tmp = self.tmp(); - let size = self.gen.sizes.size(element); - let align = self.gen.sizes.align(element); + let size = self.gen.sizes.size(element).size_wasm32(); + let align = self.gen.sizes.align(element).align_wasm32(); let len = format!("len{tmp}"); let base = format!("base{tmp}"); let result = format!("result{tmp}"); @@ -1038,8 +1038,8 @@ impl Bindgen for FunctionBindgen<'_, '_> { Instruction::GuestDeallocateList { element } => { let body = self.blocks.pop().unwrap(); let tmp = self.tmp(); - let size = self.gen.sizes.size(element); - let align = self.gen.sizes.align(element); + let size = self.gen.sizes.size(element).size_wasm32(); + let align = self.gen.sizes.align(element).align_wasm32(); let len = format!("len{tmp}"); let base = format!("base{tmp}"); self.push_str(&format!( diff --git a/crates/teavm-java/src/lib.rs b/crates/teavm-java/src/lib.rs index e42381bc9..63ebfe81a 100644 --- a/crates/teavm-java/src/lib.rs +++ b/crates/teavm-java/src/lib.rs @@ -1667,8 +1667,8 @@ impl Bindgen for FunctionBindgen<'_, '_> { assert!(block_results.is_empty()); let op = &operands[0]; - let size = self.gen.gen.sizes.size(element); - let align = self.gen.gen.sizes.align(element); + let size = self.gen.gen.sizes.size(element).size_wasm32(); + let align = self.gen.gen.sizes.align(element).align_wasm32(); let address = self.locals.tmp("address"); let ty = self.gen.type_name(element); let index = self.locals.tmp("index"); @@ -1708,8 +1708,8 @@ impl Bindgen for FunctionBindgen<'_, '_> { let length = &operands[1]; let array = self.locals.tmp("array"); let ty = self.gen.type_name(element); - let size = self.gen.gen.sizes.size(element); - let align = self.gen.gen.sizes.align(element); + let size = self.gen.gen.sizes.size(element).size_wasm32(); + let align = self.gen.gen.sizes.align(element).align_wasm32(); let index = self.locals.tmp("index"); let result = match &block_results[..] { @@ -2006,8 +2006,8 @@ impl Bindgen for FunctionBindgen<'_, '_> { let address = &operands[0]; let length = &operands[1]; - let size = self.gen.gen.sizes.size(element); - let align = self.gen.gen.sizes.align(element); + let size = self.gen.gen.sizes.size(element).size_wasm32(); + let align = self.gen.gen.sizes.align(element).align_wasm32(); if !body.trim().is_empty() { let index = self.locals.tmp("index");