From db40ec503479de71de6257e9ca5b6eecc49394d1 Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Fri, 6 Feb 2026 09:51:12 +0100 Subject: [PATCH] cargo update (rand) --- Cargo.lock | 231 ++++++++++++++++++++++++++++++++++++++++++----- Cargo.toml | 2 +- src/device.rs | 10 +- src/device/pi.rs | 4 +- src/device/si.rs | 5 +- 5 files changed, 217 insertions(+), 35 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5b0c47f..a42d5d4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -179,9 +179,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" [[package]] name = "arbitrary" @@ -735,6 +735,17 @@ dependencies = [ "libc", ] +[[package]] +name = "chacha20" +version = "0.10.0-rc.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14f3c04cdd19f5ed3271e460267fb1d94b7899ae1f7bb10ac3dfc3afb749d659" +dependencies = [ + "cfg-if", + "cpufeatures", + "rand_core 0.10.0", +] + [[package]] name = "chrono" version = "0.4.43" @@ -896,9 +907,9 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.3.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" [[package]] name = "convert_case" @@ -1834,6 +1845,22 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "rand_core 0.10.0", + "wasip2", + "wasip3", + "wasm-bindgen", +] + [[package]] name = "gif" version = "0.14.1" @@ -1955,7 +1982,7 @@ dependencies = [ "mimalloc", "open", "postcard", - "rand_chacha", + "rand 0.10.0-rc.9", "regex", "reqwest", "rfd", @@ -1994,7 +2021,7 @@ dependencies = [ "parking_lot", "portable-atomic", "quanta", - "rand", + "rand 0.9.2", "smallvec", "spinning_top", "web-time", @@ -2567,6 +2594,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "idna" version = "1.1.0" @@ -2642,6 +2675,8 @@ checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", "hashbrown 0.16.1", + "serde", + "serde_core", ] [[package]] @@ -2855,6 +2890,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "lebe" version = "0.5.3" @@ -3258,9 +3299,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" [[package]] name = "num-derive" @@ -4148,7 +4189,7 @@ dependencies = [ "bytes", "getrandom 0.3.4", "lru-slab", - "rand", + "rand 0.9.2", "ring", "rustc-hash 2.1.1", "rustls", @@ -4196,7 +4237,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha", - "rand_core", + "rand_core 0.9.5", +] + +[[package]] +name = "rand" +version = "0.10.0-rc.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8cd8be2e7e2fd2ee3e09045798e65c906682ec9f16293defc4790dd775d5a3" +dependencies = [ + "chacha20", + "getrandom 0.4.1", + "rand_core 0.10.0", ] [[package]] @@ -4206,7 +4258,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.9.5", ] [[package]] @@ -4218,6 +4270,12 @@ dependencies = [ "getrandom 0.3.4", ] +[[package]] +name = "rand_core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" + [[package]] name = "rav1e" version = "0.8.1" @@ -4245,7 +4303,7 @@ dependencies = [ "num-traits", "paste", "profiling", - "rand", + "rand 0.9.2", "rand_chacha", "simd_helpers", "thiserror 2.0.18", @@ -5453,9 +5511,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.45" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9e442fc33d7fdb45aa9bfeb312c095964abdf596f7567261062b2a7107aaabd" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", "js-sys", @@ -5467,9 +5525,9 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b36ee98fd31ec7426d599183e8fe26932a8dc1fb76ddb6214d05493377d34ca" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "tiny-skia" @@ -5770,7 +5828,7 @@ dependencies = [ "http", "httparse", "log", - "rand", + "rand 0.9.2", "sha1", "thiserror 2.0.18", "utf-8", @@ -6047,6 +6105,15 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen", +] + [[package]] name = "wasm-bindgen" version = "0.2.108" @@ -6106,6 +6173,40 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.10.0", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + [[package]] name = "wayland-backend" version = "0.3.12" @@ -6854,6 +6955,88 @@ name = "wit-bindgen" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.10.0", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] [[package]] name = "write-fonts" @@ -7089,18 +7272,18 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" [[package]] name = "zerocopy" -version = "0.8.38" +version = "0.8.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57cf3aa6855b23711ee9852dfc97dfaa51c45feaba5b645d0c777414d494a961" +checksum = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.38" +version = "0.8.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a616990af1a287837c4fe6596ad77ef57948f787e46ce28e166facc0cc1cb75" +checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" dependencies = [ "proc-macro2", "quote", @@ -7184,9 +7367,9 @@ dependencies = [ [[package]] name = "zip" -version = "7.3.0" +version = "7.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "268bf6f9ceb991e07155234071501490bb41fd1e39c6a588106dad10ae2a5804" +checksum = "cc12baa6db2b15a140161ce53d72209dacea594230798c24774139b54ecaa980" dependencies = [ "aes", "bzip2", @@ -7194,7 +7377,7 @@ dependencies = [ "crc32fast", "deflate64", "flate2", - "getrandom 0.3.4", + "getrandom 0.4.1", "hmac", "indexmap", "lzma-rust2", diff --git a/Cargo.toml b/Cargo.toml index dd549cf..8a8f8ea 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ regex = "1.11" tokio-tungstenite = "0.28" futures = "0.3" socket2 = { version = "0.6", features = ["all"] } -rand_chacha = "0.9" +rand = { version = "0.10.0-rc.9", features = ["chacha"] } fatfs = "0.3" semver = "1.0" postcard = { version = "1.1", features = ["use-std"] } diff --git a/src/device.rs b/src/device.rs index 293a4fe..80fd653 100644 --- a/src/device.rs +++ b/src/device.rs @@ -10,7 +10,7 @@ include!(concat!(env!("OUT_DIR"), "/simd_bindings.rs")); #[cfg(target_arch = "x86_64")] use std::arch::x86_64::*; -use rand_chacha::rand_core::{RngCore, SeedableRng}; +use rand::{Rng, SeedableRng}; use crate::{cheats, netplay, ui}; use std::{collections::HashMap, fs, io::Read}; @@ -87,8 +87,8 @@ pub fn run_game(device: &mut Device, rom_contents: Vec, game_settings: ui::g ui::video::close(&device.ui); } -fn set_rng() -> rand_chacha::ChaCha8Rng { - rand_chacha::ChaCha8Rng::from_os_rng() +fn set_rng() -> rand::rngs::ChaCha8Rng { + rand::rngs::ChaCha8Rng::try_from_rng(&mut rand::rngs::SysRng).unwrap() } fn init_rng(device: &mut Device) { @@ -100,7 +100,7 @@ fn init_rng(device: &mut Device) { rng_seed = netplay::receive_rng(netplay); } } - device.rng = rand_chacha::ChaCha8Rng::seed_from_u64(rng_seed); + device.rng = rand::rngs::ChaCha8Rng::seed_from_u64(rng_seed); } fn swap_rom(contents: Vec) -> Option> { @@ -206,7 +206,7 @@ pub struct Device { pub si: si::Si, pub ri: ri::Ri, #[serde(skip, default = "set_rng")] - pub rng: rand_chacha::ChaCha8Rng, + pub rng: rand::rngs::ChaCha8Rng, pub vru: controller::vru::Vru, pub transferpaks: [controller::transferpak::TransferPak; 4], pub cheats: cheats::Cheats, diff --git a/src/device/pi.rs b/src/device/pi.rs index 2ca4f02..c5d9a27 100644 --- a/src/device/pi.rs +++ b/src/device/pi.rs @@ -1,6 +1,6 @@ use crate::device; use crate::ui; -use rand_chacha::rand_core::RngCore; +use rand::Rng; const PI_DRAM_ADDR_REG: u32 = 0; const PI_CART_ADDR_REG: u32 = 1; @@ -169,7 +169,7 @@ pub fn write_regs(device: &mut device::Device, address: u64, value: u32, mask: u } } -fn randomize_interrupt_time(rng: &mut rand_chacha::ChaCha8Rng) -> u64 { +fn randomize_interrupt_time(rng: &mut rand::rngs::ChaCha8Rng) -> u64 { rng.next_u64() % 0x10 } diff --git a/src/device/si.rs b/src/device/si.rs index 32e1b04..03e561d 100644 --- a/src/device/si.rs +++ b/src/device/si.rs @@ -1,7 +1,6 @@ -use rand_chacha::rand_core::RngCore; - use crate::device; use crate::ui; +use rand::Rng; const SI_DRAM_ADDR_REG: u32 = 0; const SI_PIF_ADDR_RD64B_REG: u32 = 1; @@ -39,7 +38,7 @@ pub fn read_regs( device.si.regs[((address & 0xFFFF) >> 2) as usize] } -fn randomize_interrupt_time(rng: &mut rand_chacha::ChaCha8Rng) -> u64 { +fn randomize_interrupt_time(rng: &mut rand::rngs::ChaCha8Rng) -> u64 { rng.next_u64() % 0x100 }