diff --git a/Cargo.lock b/Cargo.lock index d9cce2f7c..0470e48b7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -691,7 +691,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -726,7 +726,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -758,7 +758,7 @@ checksum = "edf3ee19dbc0a46d740f6f0926bde8c50f02bdbc7b536842da28f6ac56513a8b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -887,7 +887,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -1024,7 +1024,7 @@ checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -1273,7 +1273,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -1733,7 +1733,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -1808,7 +1808,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -1941,7 +1941,7 @@ checksum = "3fe2568f851fd6144a45fa91cfed8fe5ca8fc0b56ba6797bfc1ed2771b90e37c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -1968,7 +1968,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -2065,9 +2065,9 @@ dependencies = [ [[package]] name = "exhaust" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba10f1843d67206bab864e012ab9d487210ced1faee97874b01fb067b9bbc2b4" +checksum = "082ed653edce9291203f208d53228a83245db04292de8b828b3ec57e09a002fd" dependencies = [ "exhaust-macros", "paste", @@ -2075,14 +2075,14 @@ dependencies = [ [[package]] name = "exhaust-macros" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efef8bd869b75de6b8a65c530a33fa34f33520a3c904ad82d163f6b06ad5ae1" +checksum = "0eb5f293989a35ec2146ae89af4096078383222d3bd1edf8a7ea62782707c1c5" dependencies = [ - "itertools 0.10.5", + "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -2211,7 +2211,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -2325,7 +2325,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -2515,7 +2515,7 @@ dependencies = [ "inflections", "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -2973,7 +2973,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b23a0c8dfe501baac4adf6ebbfa6eddf8f0c07f56b058cc1288017e32397846c" dependencies = [ "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -3719,7 +3719,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -3789,7 +3789,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -4239,7 +4239,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -4280,7 +4280,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -4473,7 +4473,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -4553,9 +4553,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -5038,7 +5038,7 @@ dependencies = [ "re_log", "re_tracing", "rust-format", - "syn 2.0.69", + "syn 2.0.77", "tempfile", "unindent", "xshell 0.2.6", @@ -5367,7 +5367,7 @@ dependencies = [ "quote", "rust-embed-utils", "shellexpand", - "syn 2.0.69", + "syn 2.0.77", "walkdir", ] @@ -5522,7 +5522,7 @@ checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -5554,7 +5554,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -5856,7 +5856,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -5872,9 +5872,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.69" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201fcda3845c23e8212cd466bfebf0bd20694490fc0356ae8e428e0824a915a6" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", @@ -6000,7 +6000,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -6089,7 +6089,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -6222,7 +6222,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -6471,7 +6471,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", "wasm-bindgen-shared", ] @@ -6505,7 +6505,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6875,7 +6875,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -6886,7 +6886,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -7392,7 +7392,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index b8a6f8860..7ada52794 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -83,7 +83,7 @@ either = { version = "1.10.0", default-features = false } embedded-graphics = "0.8.0" embedded-graphics-core = "0.4.0" euclid = { version = "0.22.10", default-features = false } -exhaust = { version = "0.1.0", default-features = false } +exhaust = { version = "0.2.0", default-features = false } flume = { version = "0.11.0", default-features = false, features = ["async"] } fnv = "1.0.7" futures-channel = { version = "0.3.28", default-features = false, features = ["alloc"] } @@ -276,3 +276,4 @@ overflow-checks = true # Here are some patches we might want to apply for development: # # wgpu = { git = "https://github.com/gfx-rs/wgpu/", branch = "trunk" } +# exhaust = { git = "https://github.com/kpreid/exhaust/", branch = "main" } diff --git a/all-is-cubes-wasm/Cargo.lock b/all-is-cubes-wasm/Cargo.lock index 129224fe3..07e19a904 100644 --- a/all-is-cubes-wasm/Cargo.lock +++ b/all-is-cubes-wasm/Cargo.lock @@ -47,7 +47,7 @@ dependencies = [ "futures-core", "hashbrown", "indoc", - "itertools 0.13.0", + "itertools", "log", "manyfmt", "mutants", @@ -93,7 +93,7 @@ dependencies = [ "exhaust", "futures-core", "hashbrown", - "itertools 0.13.0", + "itertools", "log", "macro_rules_attribute", "noise", @@ -119,7 +119,7 @@ dependencies = [ "futures-util", "gloo-timers", "half", - "itertools 0.13.0", + "itertools", "log", "num-traits", "pollster", @@ -148,7 +148,7 @@ dependencies = [ "futures-channel", "futures-util", "indoc", - "itertools 0.13.0", + "itertools", "log", "mutants", "num-traits", @@ -169,7 +169,7 @@ dependencies = [ "futures-core", "gltf-json", "image", - "itertools 0.13.0", + "itertools", "log", "rectangle-pack", "serde_json", @@ -375,7 +375,7 @@ checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -513,7 +513,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -590,9 +590,9 @@ dependencies = [ [[package]] name = "exhaust" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba10f1843d67206bab864e012ab9d487210ced1faee97874b01fb067b9bbc2b4" +checksum = "082ed653edce9291203f208d53228a83245db04292de8b828b3ec57e09a002fd" dependencies = [ "exhaust-macros", "paste", @@ -600,14 +600,14 @@ dependencies = [ [[package]] name = "exhaust-macros" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efef8bd869b75de6b8a65c530a33fa34f33520a3c904ad82d163f6b06ad5ae1" +checksum = "0eb5f293989a35ec2146ae89af4096078383222d3bd1edf8a7ea62782707c1c5" dependencies = [ - "itertools 0.10.5", + "itertools", "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -679,7 +679,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -727,7 +727,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -814,7 +814,7 @@ dependencies = [ "inflections", "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -987,15 +987,6 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.13.0" @@ -1443,9 +1434,9 @@ checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -1595,7 +1586,7 @@ checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -1693,7 +1684,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -1709,9 +1700,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.69" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201fcda3845c23e8212cd466bfebf0bd20694490fc0356ae8e428e0824a915a6" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", @@ -1756,7 +1747,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -1816,7 +1807,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", "wasm-bindgen-shared", ] @@ -1850,7 +1841,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -1883,7 +1874,7 @@ checksum = "b7f89739351a2e03cb94beb799d47fb2cac01759b40ec441f7de39b00cbf7ef0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] [[package]] @@ -2179,5 +2170,5 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.69", + "syn 2.0.77", ] diff --git a/all-is-cubes-wasm/Cargo.toml b/all-is-cubes-wasm/Cargo.toml index af10133c6..84e298c38 100644 --- a/all-is-cubes-wasm/Cargo.toml +++ b/all-is-cubes-wasm/Cargo.toml @@ -211,3 +211,4 @@ overflow-checks = true # Here are some patches we might want to apply for development: # # wgpu = { git = "https://github.com/gfx-rs/wgpu/", branch = "trunk" } +# exhaust = { git = "https://github.com/kpreid/exhaust/", branch = "main" } diff --git a/all-is-cubes/src/linking.rs b/all-is-cubes/src/linking.rs index 8efad5f3e..e49ef58e4 100644 --- a/all-is-cubes/src/linking.rs +++ b/all-is-cubes/src/linking.rs @@ -276,7 +276,7 @@ impl<'provider, E: Exhaust + fmt::Debug + Clone + Eq + Hash, V> IntoIterator pub struct ModuleIter<'provider, E: Exhaust, V> { /// Using the `Exhaust` iterator instead of the `HashMap` iterator guarantees a deterministic /// iteration order. (We don't currently publicly promise that, though.) - key_iter: ::Iter, + key_iter: exhaust::Iter, map: &'provider HbHashMap, } @@ -295,8 +295,10 @@ impl<'provider, E: Exhaust + Eq + Hash, V> Iterator for ModuleIter<'provider, E, } } -impl ExactSizeIterator for ModuleIter<'_, E, V> where - E: Exhaust + Eq + Hash +impl ExactSizeIterator for ModuleIter<'_, E, V> +where + E: Exhaust + Eq + Hash, + exhaust::Iter: ExactSizeIterator, { } diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index ded438bfd..41075de74 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -17,6 +17,11 @@ all-is-cubes-mesh = { path = "../all-is-cubes-mesh", features = ["arbitrary"] } arbitrary = { version = "1.3.2", features = ["derive"] } libfuzzer-sys = "0.4" +[patch.crates-io] +# Here are some patches we might want to apply for development: +# +# exhaust = { git = "https://github.com/kpreid/exhaust/", branch = "main" } + [[bin]] name = "fuzz_block_eval" path = "fuzz_targets/fuzz_block_eval.rs"