From 6036474f470c7ecf39ff0b6fe74777fdbe8d6371 Mon Sep 17 00:00:00 2001 From: Lucy Date: Sun, 22 Dec 2024 16:41:34 -0500 Subject: [PATCH 1/4] Use `[workspace.lints]` instead of manually specifying them in each crate, and fix a bunch of clippy lints. --- Cargo.toml | 13 ++++++ auxtools-impl/Cargo.toml | 3 ++ auxtools-impl/src/lib.rs | 12 ++---- auxtools/Cargo.toml | 3 ++ auxtools/src/bytecode_manager.rs | 6 +-- auxtools/src/debug.rs | 11 +++-- auxtools/src/hooks.rs | 14 +++--- auxtools/src/lib.rs | 4 +- auxtools/src/list.rs | 74 +++++++++++++++++--------------- auxtools/src/proc.rs | 9 ++-- auxtools/src/raw_types/values.rs | 4 +- auxtools/src/sigscan.rs | 4 +- auxtools/src/sigscan/windows.rs | 2 +- auxtools/src/string.rs | 9 +--- auxtools/src/value.rs | 2 +- auxtools/src/weak_value.rs | 2 +- tests/auxtest/src/lib.rs | 4 +- tests/auxtest/src/lists.rs | 10 ++--- tests/auxtest/src/value_from.rs | 3 +- tests/auxtest/src/weak.rs | 2 +- 20 files changed, 99 insertions(+), 92 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 42050376..b40fd3e8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,19 @@ repository = "https://github.com/wilox/auxtools" rust-version = "1.76" version = "0.1.0" +[workspace.lints.rust] +static_mut_refs = "allow" + +[workspace.lints.clippy] +complexity = { level = "warn", priority = -1 } +correctness = { level = "warn", priority = -1 } +perf = { level = "warn", priority = -1 } +style = { level = "warn", priority = -1 } +suspicious = { level = "warn", priority = -1 } +missing_safety_doc = "allow" +missing_transmute_annotations = "allow" +type_complexity = "allow" + [profile.release] opt-level = 3 lto = 'thin' diff --git a/auxtools-impl/Cargo.toml b/auxtools-impl/Cargo.toml index f3da4ebe..8c1015ad 100644 --- a/auxtools-impl/Cargo.toml +++ b/auxtools-impl/Cargo.toml @@ -20,3 +20,6 @@ hex = "0.4" [dependencies.syn] version = "1.0" features = ["full"] + +[lints] +workspace = true diff --git a/auxtools-impl/src/lib.rs b/auxtools-impl/src/lib.rs index 8d950087..5dc8fd36 100644 --- a/auxtools-impl/src/lib.rs +++ b/auxtools-impl/src/lib.rs @@ -1,5 +1,3 @@ -#![warn(clippy::complexity, clippy::correctness, clippy::perf, clippy::style)] - use proc_macro::TokenStream; use quote::quote; use syn::{parse_macro_input, spanned::Spanned, Lit}; @@ -201,7 +199,6 @@ pub fn pin_dll(attr: TokenStream) -> TokenStream { /// Value::null() /// } /// ``` - #[proc_macro_attribute] pub fn hook(attr: TokenStream, item: TokenStream) -> TokenStream { let input = syn::parse_macro_input!(item as syn::ItemFn); @@ -251,12 +248,9 @@ pub fn hook(attr: TokenStream, item: TokenStream) -> TokenStream { if let syn::Pat::Ident(p) = &*arg.pat { arg_names.push(p.ident.clone()); let index = arg_names.len() - 1; - proc_arg_unpacker.push( - (quote! { - &args[#index] - }) - .into() - ); + proc_arg_unpacker.push(quote! { + &args[#index] + }); } } let _default_null = quote! { diff --git a/auxtools/Cargo.toml b/auxtools/Cargo.toml index 43ceaa23..c5a861ee 100644 --- a/auxtools/Cargo.toml +++ b/auxtools/Cargo.toml @@ -30,3 +30,6 @@ winapi = { version = "0.3.9", features = ["winuser", "libloaderapi", "psapi", "p [target.'cfg(unix)'.dependencies] libc = "0.2" + +[lints] +workspace = true diff --git a/auxtools/src/bytecode_manager.rs b/auxtools/src/bytecode_manager.rs index a55dc725..a1a0ded4 100644 --- a/auxtools/src/bytecode_manager.rs +++ b/auxtools/src/bytecode_manager.rs @@ -77,11 +77,11 @@ pub fn set_bytecode(proc: &Proc, mut bytecode: Vec) { (*ptr).as_mut().unwrap() }; - if !state.original.contains_key(&proc.id) { + state.original.entry(proc.id).or_insert_with(|| { let (ptr, len) = unsafe { proc.bytecode_mut_ptr() }; - state.original.insert(proc.id, (ptr, len)); - } + (ptr, len) + }); let (ptr, len) = { let len = bytecode.len(); diff --git a/auxtools/src/debug.rs b/auxtools/src/debug.rs index 0269416a..67070d8b 100644 --- a/auxtools/src/debug.rs +++ b/auxtools/src/debug.rs @@ -40,10 +40,7 @@ impl StackFrame { // values than names) let args = (0..(*instance).args_count) .map(|i| { - let name = match param_names.get(i as usize) { - Some(name) => Some(name.clone()), - None => None - }; + let name = param_names.get(i as usize).cloned(); (name, Value::from_raw(*((*instance).args).add(i as usize))) }) .collect(); @@ -89,6 +86,12 @@ enum CallStackKind { Suspended } +impl Default for CallStacks { + fn default() -> Self { + Self::new() + } +} + impl CallStacks { pub fn new() -> CallStacks { let mut suspended = vec![]; diff --git a/auxtools/src/hooks.rs b/auxtools/src/hooks.rs index 7d6d84a6..3a4f4a33 100644 --- a/auxtools/src/hooks.rs +++ b/auxtools/src/hooks.rs @@ -80,7 +80,7 @@ pub fn init() -> Result<(), String> { let runtime_hook = RawDetour::new(raw_types::funcs::runtime_byond as *const (), runtime_hook as *const ()).unwrap(); runtime_hook.enable().unwrap(); - runtime_original = std::mem::transmute(runtime_hook.trampoline()); + runtime_original = runtime_hook.trampoline() as *const () as *const c_void; let call_hook = RawDetour::new( raw_types::funcs::call_proc_by_id_byond as *const (), @@ -89,7 +89,7 @@ pub fn init() -> Result<(), String> { .unwrap(); call_hook.enable().unwrap(); - call_proc_by_id_original = std::mem::transmute(call_hook.trampoline()); + call_proc_by_id_original = call_hook.trampoline() as *const () as *const c_void; DETOURS.with(|detours_cell| { let mut detours = detours_cell.borrow_mut(); @@ -121,11 +121,11 @@ thread_local! { fn hook_by_id(id: raw_types::procs::ProcId, hook: ProcHook, hook_path: String) -> Result<(), HookFailure> { PROC_HOOKS.with(|h| { let mut map = h.borrow_mut(); - if map.contains_key(&id) { - return Err(HookFailure::AlreadyHooked); - } else { - map.insert(id, (hook, hook_path)); + if let std::collections::hash_map::Entry::Vacant(e) = map.entry(id) { + e.insert((hook, hook_path)); Ok(()) + } else { + Err(HookFailure::AlreadyHooked) } }) } @@ -187,7 +187,7 @@ extern "C" fn call_proc_by_id_hook( match result { Ok(r) => { - let result_raw = (&r).raw; + let result_raw = r.raw; // Stealing our reference out of the Value std::mem::forget(r); Some(result_raw) diff --git a/auxtools/src/lib.rs b/auxtools/src/lib.rs index 7f86cf8c..1277e572 100644 --- a/auxtools/src/lib.rs +++ b/auxtools/src/lib.rs @@ -1,5 +1,3 @@ -#![warn(clippy::complexity, clippy::correctness, clippy::perf, clippy::style)] - //! For when BYOND is not enough. Probably often. //#[cfg(not(target_pointer_width = "32"))] @@ -294,7 +292,7 @@ byond_ffi_fn! { auxtools_init(_input) { return Some("FAILED (Could not pin the library in memory.)".to_owned()); } - if let Err(_) = hooks::init() { + if hooks::init().is_err() { return Some("Failed (Couldn't initialize proc hooking)".to_owned()); } diff --git a/auxtools/src/list.rs b/auxtools/src/list.rs index 9a069fcc..f313580e 100644 --- a/auxtools/src/list.rs +++ b/auxtools/src/list.rs @@ -93,43 +93,47 @@ impl List { length } + pub fn is_empty(&self) -> bool { + self.len() == 0 + } + pub fn is_list(value: &Value) -> bool { - match value.raw.tag { + matches!( + value.raw.tag, raw_types::values::ValueTag::List - | raw_types::values::ValueTag::ArgList - | raw_types::values::ValueTag::MobContents - | raw_types::values::ValueTag::TurfContents - | raw_types::values::ValueTag::AreaContents - | raw_types::values::ValueTag::WorldContents - | raw_types::values::ValueTag::ObjContents - | raw_types::values::ValueTag::MobVars - | raw_types::values::ValueTag::ObjVars - | raw_types::values::ValueTag::TurfVars - | raw_types::values::ValueTag::AreaVars - | raw_types::values::ValueTag::ClientVars - | raw_types::values::ValueTag::Vars - | raw_types::values::ValueTag::MobOverlays - | raw_types::values::ValueTag::MobUnderlays - | raw_types::values::ValueTag::ObjOverlays - | raw_types::values::ValueTag::ObjUnderlays - | raw_types::values::ValueTag::TurfOverlays - | raw_types::values::ValueTag::TurfUnderlays - | raw_types::values::ValueTag::AreaOverlays - | raw_types::values::ValueTag::AreaUnderlays - | raw_types::values::ValueTag::ImageOverlays - | raw_types::values::ValueTag::ImageUnderlays - | raw_types::values::ValueTag::ImageVars - | raw_types::values::ValueTag::TurfVisContents - | raw_types::values::ValueTag::ObjVisContents - | raw_types::values::ValueTag::MobVisContents - | raw_types::values::ValueTag::ImageVisContents - | raw_types::values::ValueTag::TurfVisLocs - | raw_types::values::ValueTag::ObjVisLocs - | raw_types::values::ValueTag::MobVisLocs - | raw_types::values::ValueTag::WorldVars - | raw_types::values::ValueTag::GlobalVars => true, - _ => false - } + | raw_types::values::ValueTag::ArgList + | raw_types::values::ValueTag::MobContents + | raw_types::values::ValueTag::TurfContents + | raw_types::values::ValueTag::AreaContents + | raw_types::values::ValueTag::WorldContents + | raw_types::values::ValueTag::ObjContents + | raw_types::values::ValueTag::MobVars + | raw_types::values::ValueTag::ObjVars + | raw_types::values::ValueTag::TurfVars + | raw_types::values::ValueTag::AreaVars + | raw_types::values::ValueTag::ClientVars + | raw_types::values::ValueTag::Vars + | raw_types::values::ValueTag::MobOverlays + | raw_types::values::ValueTag::MobUnderlays + | raw_types::values::ValueTag::ObjOverlays + | raw_types::values::ValueTag::ObjUnderlays + | raw_types::values::ValueTag::TurfOverlays + | raw_types::values::ValueTag::TurfUnderlays + | raw_types::values::ValueTag::AreaOverlays + | raw_types::values::ValueTag::AreaUnderlays + | raw_types::values::ValueTag::ImageOverlays + | raw_types::values::ValueTag::ImageUnderlays + | raw_types::values::ValueTag::ImageVars + | raw_types::values::ValueTag::TurfVisContents + | raw_types::values::ValueTag::ObjVisContents + | raw_types::values::ValueTag::MobVisContents + | raw_types::values::ValueTag::ImageVisContents + | raw_types::values::ValueTag::TurfVisLocs + | raw_types::values::ValueTag::ObjVisLocs + | raw_types::values::ValueTag::MobVisLocs + | raw_types::values::ValueTag::WorldVars + | raw_types::values::ValueTag::GlobalVars + ) } } diff --git a/auxtools/src/proc.rs b/auxtools/src/proc.rs index 29864d40..52134979 100644 --- a/auxtools/src/proc.rs +++ b/auxtools/src/proc.rs @@ -81,14 +81,14 @@ impl Proc { pub fn parameter_names(&self) -> Vec { unsafe { let (data, count) = raw_types::misc::get_parameters((*self.entry).metadata.get_parameters()); - (0..count).map(|i| StringRef::from_variable_id((*data.add(i as usize)).name)).collect() + (0..count).map(|i| StringRef::from_variable_id((*data.add(i)).name)).collect() } } pub fn local_names(&self) -> Vec { unsafe { let (names, count) = raw_types::misc::get_locals((*self.entry).metadata.get_locals()); - (0..count).map(|i| StringRef::from_variable_id(*names.add(i as usize))).collect() + (0..count).map(|i| StringRef::from_variable_id(*names.add(i))).collect() } } @@ -211,10 +211,7 @@ pub fn clear_procs() { pub fn get_proc_override>(path: S, override_id: u32) -> Option { let s = strip_path(path.into()); - PROCS_BY_NAME.with(|h| match h.borrow().get(&s)?.get(override_id as usize) { - Some(p) => Some(p.clone()), - None => None - }) + PROCS_BY_NAME.with(|h| h.borrow().get(&s)?.get(override_id as usize).cloned()) } /// Retrieves the 0th override of a proc. diff --git a/auxtools/src/raw_types/values.rs b/auxtools/src/raw_types/values.rs index 8f3db677..24254fc6 100644 --- a/auxtools/src/raw_types/values.rs +++ b/auxtools/src/raw_types/values.rs @@ -68,7 +68,7 @@ impl fmt::Display for Value { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { unsafe { match self.tag { - ValueTag::Null => write!(f, "{}", "null"), + ValueTag::Null => write!(f, "null"), ValueTag::Number => write!(f, "{}", self.data.number), ValueTag::String => { let id = self.data.string; @@ -86,7 +86,7 @@ impl fmt::Debug for Value { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { unsafe { match self.tag { - ValueTag::Null => write!(f, "{}", "null"), + ValueTag::Null => write!(f, "null"), ValueTag::Number => write!(f, "{:?}", self.data.number), ValueTag::String => { let id = self.data.string; diff --git a/auxtools/src/sigscan.rs b/auxtools/src/sigscan.rs index 788b72a9..2d16b15b 100644 --- a/auxtools/src/sigscan.rs +++ b/auxtools/src/sigscan.rs @@ -164,9 +164,9 @@ pub struct Signature { impl Signature { pub fn find(&self, scanner: &Scanner) -> Option<*const std::ffi::c_void> { - scanner.find(&self.bytes).map(|address| unsafe { + scanner.find(self.bytes).map(|address| unsafe { match self.treatment { - SignatureTreatment::NoOffset | SignatureTreatment::OffsetByInt(0) => std::mem::transmute(address as *const std::ffi::c_void), + SignatureTreatment::NoOffset | SignatureTreatment::OffsetByInt(0) => address as *const std::ffi::c_void, SignatureTreatment::OffsetByInt(i) => (address.offset(i) as *const *const std::ffi::c_void).read_unaligned(), SignatureTreatment::OffsetByCall => { let offset = (address.offset(1) as *const isize).read_unaligned(); diff --git a/auxtools/src/sigscan/windows.rs b/auxtools/src/sigscan/windows.rs index 0208df29..49ba09ed 100644 --- a/auxtools/src/sigscan/windows.rs +++ b/auxtools/src/sigscan/windows.rs @@ -57,7 +57,7 @@ impl Scanner { unsafe { while data_current <= data_end { - if signature[signature_offset] == None || signature[signature_offset] == Some(*data_current) { + if signature[signature_offset].is_none() || signature[signature_offset] == Some(*data_current) { if signature.len() <= signature_offset + 1 { if result.is_some() { // Found two matches. diff --git a/auxtools/src/string.rs b/auxtools/src/string.rs index ef58239e..01c43d13 100644 --- a/auxtools/src/string.rs +++ b/auxtools/src/string.rs @@ -82,14 +82,9 @@ impl fmt::Debug for StringRef { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let mut format = vec![]; - let mut iter = self.data().into_iter(); - - loop { - let byte = match iter.next() { - Some(x) => *x, - None => break - }; + let mut iter = self.data().iter(); + while let Some(&byte) = iter.next() { if byte == 0xFF { // NOTE: Doesn't hold state for formatting, so some strings relying on are a // little off diff --git a/auxtools/src/value.rs b/auxtools/src/value.rs index a653b97f..16e0099c 100644 --- a/auxtools/src/value.rs +++ b/auxtools/src/value.rs @@ -248,7 +248,7 @@ impl Value { pub fn to_dmstring(&self) -> DMResult { match self.raw.tag { raw_types::values::ValueTag::Null | raw_types::values::ValueTag::Number | raw_types::values::ValueTag::String => { - return Ok(string::StringRef::new(format!("{}", self.raw).as_str())?) + return string::StringRef::new(format!("{}", self.raw).as_str()) } _ => {} diff --git a/auxtools/src/weak_value.rs b/auxtools/src/weak_value.rs index daf9508d..64dad318 100644 --- a/auxtools/src/weak_value.rs +++ b/auxtools/src/weak_value.rs @@ -44,7 +44,7 @@ fn get_next_id() -> f32 { /// /// let weakref = callbacks.get(some_id); /// if let Some(thing) = weakref.upgrade() { -/// thing.call("callback", &[])?; +/// thing.call("callback", &[])?; /// } /// ``` #[derive(Copy, Clone)] diff --git a/tests/auxtest/src/lib.rs b/tests/auxtest/src/lib.rs index eb28696d..77d553bc 100644 --- a/tests/auxtest/src/lib.rs +++ b/tests/auxtest/src/lib.rs @@ -17,8 +17,6 @@ fn inc_counter() { #[hook("/proc/auxtest_out")] fn out(msg: Value) { - use std::io::{self, Write}; - - writeln!(io::stderr(), "\n{}", msg.as_string()?).unwrap(); + eprintln!("\n{}", msg.as_string()?); Ok(Value::null()) } diff --git a/tests/auxtest/src/lists.rs b/tests/auxtest/src/lists.rs index 6925fa2c..4cb42d7a 100644 --- a/tests/auxtest/src/lists.rs +++ b/tests/auxtest/src/lists.rs @@ -5,14 +5,14 @@ fn test_lists() { let list_a = List::new(); // Should be empty - if list_a.len() != 0 { + if !list_a.is_empty() { return Err(runtime!("test_lists: list_a's len != 0")); } // Add 3 values - list_a.append(&Value::from(101)); - list_a.append(&Value::from(102)); - list_a.append(&Value::from(103)); + list_a.append(Value::from(101)); + list_a.append(Value::from(102)); + list_a.append(Value::from(103)); // Should contain 3 things if list_a.len() != 3 { @@ -32,7 +32,7 @@ fn test_lists() { } // Remove list_a[2] - list_a.remove(&Value::from(102)); + list_a.remove(Value::from(102)); // Now list_a[2] should be 103 if list_a.get(2)?.as_number()? != 103.0 { diff --git a/tests/auxtest/src/value_from.rs b/tests/auxtest/src/value_from.rs index 95cef9b5..0ddc4f29 100644 --- a/tests/auxtest/src/value_from.rs +++ b/tests/auxtest/src/value_from.rs @@ -12,8 +12,7 @@ fn test_value_from() { // Vectors // The simplest case: A Vec of Value's. - let mut vector: Vec = Vec::new(); - vector.push(5.into()); + let vector: Vec = vec![5.into()]; let value = Value::from(&vector); let list = List::from_value(&value)?; if list.len() != 1 { diff --git a/tests/auxtest/src/weak.rs b/tests/auxtest/src/weak.rs index 2a2a64b7..c100d042 100644 --- a/tests/auxtest/src/weak.rs +++ b/tests/auxtest/src/weak.rs @@ -10,7 +10,7 @@ fn test_weak_values(someval: Value) { Proc::find("/proc/del_value") .ok_or_else(|| runtime!("test_weak_values: /proc/del_value not defined"))? - .call(&[&someval])?; + .call(&[someval])?; Proc::find("/proc/create_datum_for_weak") .ok_or_else(|| runtime!("test_weak_values: /proc/create_datum_for_weak not defined"))? From 28fef494b139d9e901c7a57174b460530c061302 Mon Sep 17 00:00:00 2001 From: Lucy Date: Sun, 22 Dec 2024 16:45:24 -0500 Subject: [PATCH 2/4] Add `auxtools_check_signatures`, and allow auxtools to be loaded as an independent dll it can be used. --- auxtools/Cargo.toml | 3 +++ auxtools/src/lib.rs | 21 +++++++++++++++++++++ auxtools/src/sigscan.rs | 16 ++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/auxtools/Cargo.toml b/auxtools/Cargo.toml index c5a861ee..ff43729e 100644 --- a/auxtools/Cargo.toml +++ b/auxtools/Cargo.toml @@ -8,6 +8,9 @@ rust-version.workspace = true repository.workspace = true license.workspace = true +[lib] +crate-type = ["lib", "cdylib"] + [build-dependencies] cc = "1.0" diff --git a/auxtools/src/lib.rs b/auxtools/src/lib.rs index 1277e572..2e04eae5 100644 --- a/auxtools/src/lib.rs +++ b/auxtools/src/lib.rs @@ -404,3 +404,24 @@ byond_ffi_fn! { auxtools_full_shutdown(_input) { }; Some("SUCCESS".to_owned()) } } + +byond_ffi_fn! { auxtools_check_signatures(_input) { + let byondcore = match sigscan::Scanner::for_module(BYONDCORE) { + Some(v) => v, + None => return Some("FAILED (Couldn't create scanner for byondcore.dll)".to_owned()) + }; + if let Err(e) = version::init() { + return Some(format!("FAILED ({})", e)); + } + let mut missing = Vec::<&'static str>::new(); + for (name, found) in SIGNATURES0.check_all(&byondcore) { + if !found { + missing.push(name); + } + } + if missing.is_empty() { + Some("SUCCESS".to_owned()) + } else { + Some(format!("MISSING: {}", missing.join(", "))) + } +} } diff --git a/auxtools/src/sigscan.rs b/auxtools/src/sigscan.rs index 2d16b15b..c74182b1 100644 --- a/auxtools/src/sigscan.rs +++ b/auxtools/src/sigscan.rs @@ -19,6 +19,12 @@ macro_rules! signature { }; } +#[macro_export] +macro_rules! count { + () => (0usize); + ( $x:tt $($xs:tt)* ) => (1_usize + count!($($xs)*)); +} + #[macro_export] macro_rules! signatures { ( $( $name:ident => $sig:expr ),*) => { @@ -26,6 +32,16 @@ macro_rules! signatures { $( pub $name: $crate::sigscan::SignatureMap, )* } + impl Signatures { + #[allow(dead_code)] + pub fn check_all(&self, scanner: &$crate::sigscan::Scanner) -> [(&'static str, bool); count!($($name)*)] { + let version = $crate::version::get().1; + [$( + (stringify!($name), self.$name.find(scanner, version).is_some()), + )*] + } + } + static SIGNATURES0: $crate::sigscan::once_cell::sync::Lazy = $crate::sigscan::once_cell::sync::Lazy::new(|| Signatures { $( $name: $sig, )* }); From 78a47772cc3b042580fe2e734596b840dc124ba8 Mon Sep 17 00:00:00 2001 From: Lucy Date: Sun, 22 Dec 2024 16:55:13 -0500 Subject: [PATCH 3/4] Update dependencies (except `clap` because I'm lazy) --- Cargo.lock | 1394 +++++++++++++++++++------------- Cargo.toml | 4 + auxcov/Cargo.toml | 2 +- auxcov/src/codecov.rs | 4 +- auxtools-impl/Cargo.toml | 5 +- auxtools/Cargo.toml | 19 +- debug_server/Cargo.toml | 17 +- instruction_hooking/Cargo.toml | 8 +- tests/auxtest/Cargo.toml | 2 +- tests/byond_get/Cargo.toml | 6 +- tests/byond_get/src/main.rs | 2 +- 11 files changed, 845 insertions(+), 618 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 401340ee..e6a38a73 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,29 +23,22 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher", "cpufeatures", ] [[package]] name = "ahash" -version = "0.3.8" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217" -dependencies = [ - "const-random", -] - -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ + "cfg-if", "getrandom 0.2.15", "once_cell", "version_check", + "zerocopy", ] [[package]] @@ -72,20 +65,11 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -98,43 +82,52 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] -name = "anyhow" -version = "1.0.89" +name = "arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" +dependencies = [ + "derive_arbitrary", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "atty" @@ -175,7 +168,7 @@ dependencies = [ name = "auxtools" version = "0.1.0" dependencies = [ - "ahash 0.7.8", + "ahash", "auxtools-impl", "cc", "ctor", @@ -196,7 +189,7 @@ dependencies = [ "hex", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.91", ] [[package]] @@ -206,25 +199,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", "object", "rustc-demangle", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "base64ct" -version = "1.6.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bincode" @@ -258,9 +245,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.10.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +checksum = "786a307d683a5bf92e6fd5fd69a7eb613751668d1d8d67d802846dfe367c62c8" dependencies = [ "memchr", "serde", @@ -299,9 +286,9 @@ checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" [[package]] name = "bytemuck" -version = "1.19.0" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" +checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" [[package]] name = "byteorder" @@ -311,9 +298,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.2" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" [[package]] name = "bzip2" @@ -336,41 +323,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "camino" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-binutils" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec9a0e2ad2c6ec1516256bf9d0f07841a55265f2167e5d1c88ed1f99c73900da" -dependencies = [ - "anyhow", - "cargo_metadata 0.14.2", - "clap 2.34.0", - "regex", - "rustc-cfg", - "rustc-demangle", - "rustc_version", - "serde", - "toml", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - [[package]] name = "cargo_metadata" version = "0.9.1" @@ -383,24 +335,11 @@ dependencies = [ "serde_json", ] -[[package]] -name = "cargo_metadata" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" -dependencies = [ - "camino", - "cargo-platform", - "semver 1.0.23", - "serde", - "serde_json", -] - [[package]] name = "cc" -version = "1.1.30" +version = "1.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945" +checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e" dependencies = [ "jobserver", "libc", @@ -418,12 +357,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - [[package]] name = "cfg-if" version = "1.0.0" @@ -432,9 +365,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ "android-tzdata", "iana-time-zone", @@ -442,7 +375,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -477,21 +410,6 @@ dependencies = [ "inout", ] -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "ansi_term", - "atty", - "bitflags 1.3.2", - "strsim 0.8.0", - "textwrap 0.11.0", - "unicode-width", - "vec_map", -] - [[package]] name = "clap" version = "3.2.25" @@ -504,14 +422,14 @@ dependencies = [ "indexmap 1.9.3", "strsim 0.10.0", "termcolor", - "textwrap 0.16.1", + "textwrap", ] [[package]] name = "clap" -version = "4.5.20" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" dependencies = [ "clap_builder", "clap_derive", @@ -519,13 +437,13 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.20" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" dependencies = [ "anstream", "anstyle", - "clap_lex 0.7.2", + "clap_lex 0.7.4", "strsim 0.11.1", "terminal_size", ] @@ -539,7 +457,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.91", ] [[package]] @@ -553,9 +471,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "color_space" @@ -565,35 +483,15 @@ checksum = "52fdfaf2bee6357023bf7f95b15a8ef0b82759d2bce705cc45efcae9ae10f0ff" [[package]] name = "colorchoice" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" - -[[package]] -name = "const-random" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom 0.2.15", - "once_cell", - "tiny-keccak", -] +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "constant_time_eq" -version = "0.1.5" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "core-foundation" @@ -617,41 +515,56 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96e58d342ad113c2b878f16d5d034c03be492ae460cdbc02b7f0f2284d310c7d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + [[package]] name = "crc32fast" version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -668,15 +581,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crunchy" -version = "0.2.2" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crypto-common" @@ -690,23 +597,26 @@ dependencies = [ [[package]] name = "ctor" -version = "0.1.26" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" dependencies = [ "quote", - "syn 1.0.109", + "syn 2.0.91", ] [[package]] name = "dashmap" -version = "3.11.10" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f260e2fc850179ef410018660006951c1b55b79e8087e87111a2c388994b9b5" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ - "ahash 0.3.8", - "cfg-if 0.1.10", - "num_cpus", + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", ] [[package]] @@ -735,6 +645,12 @@ dependencies = [ "uuid", ] +[[package]] +name = "deflate64" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da692b8d1080ea3045efaab14434d40468c3d8657e42abddfffca87b428f4c1b" + [[package]] name = "deranged" version = "0.3.11" @@ -744,13 +660,24 @@ dependencies = [ "powerfmt", ] +[[package]] +name = "derive_arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + [[package]] name = "detour" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3c83fabcc3bc336e19320c13576ea708a15deec201d6b879b7ad1b92734d7b9" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "generic-array", "lazy_static", "libc", @@ -777,6 +704,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + [[package]] name = "dmasm" version = "0.1.0" @@ -815,11 +753,11 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -830,47 +768,25 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "failure" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" -dependencies = [ - "backtrace", - "failure_derive", -] - -[[package]] -name = "failure_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "synstructure", + "windows-sys 0.59.0", ] [[package]] name = "fastrand" -version = "2.1.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "flate2" -version = "1.0.34" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", "libz-sys", @@ -914,6 +830,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", + "futures-sink", ] [[package]] @@ -948,6 +865,7 @@ checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-core", "futures-io", + "futures-sink", "futures-task", "memchr", "pin-project-lite", @@ -980,7 +898,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "wasi 0.9.0+wasi-snapshot-preview1", ] @@ -991,22 +909,11 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "wasi 0.11.0+wasi-snapshot-preview1", ] -[[package]] -name = "ghost" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0e085ded9f1267c32176b40921b9754c474f7dd96f7e808d4a982e48aa1e854" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - [[package]] name = "gimli" version = "0.31.1" @@ -1039,13 +946,12 @@ dependencies = [ [[package]] name = "grcov" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e2becc71189fd0e151e0ea2b9df7b9ecf50e2c6b0d517937874d66bb330b59c" +checksum = "0c5f4731e3050bae8455c1c50d21c6187acac4fb003bc1ee9b6ea7e3e6d90d57" dependencies = [ - "cargo-binutils", "chrono", - "clap 4.5.20", + "clap 4.5.23", "crossbeam-channel", "flate2", "globset", @@ -1059,7 +965,8 @@ dependencies = [ "rayon", "regex", "rustc-hash", - "semver 1.0.23", + "rustc_version", + "semver 1.0.24", "serde", "serde_json", "simplelog", @@ -1082,17 +989,17 @@ checksum = "7d7402bc4451b9f3cc9a2467bb2faf3ad01b129ae9f47f9943a24ad7a2064d84" [[package]] name = "h2" -version = "0.3.26" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", "http", - "indexmap 2.6.0", + "indexmap 2.7.0", "slab", "tokio", "tokio-util", @@ -1107,9 +1014,15 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "hashbrown" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" [[package]] name = "heck" @@ -1155,9 +1068,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.12" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ "bytes", "fnv", @@ -1166,12 +1079,24 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.6" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", "pin-project-lite", ] @@ -1181,12 +1106,6 @@ version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - [[package]] name = "humansize" version = "2.1.3" @@ -1198,39 +1117,74 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.30" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", "h2", "http", "http-body", "httparse", - "httpdate", "itoa", "pin-project-lite", - "socket2", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] +[[package]] +name = "hyper-rustls" +version = "0.27.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +dependencies = [ + "futures-util", + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", +] + [[package]] name = "hyper-tls" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", + "http-body-util", "hyper", + "hyper-util", "native-tls", "tokio", "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", ] [[package]] @@ -1256,14 +1210,143 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -1294,19 +1377,19 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.2", ] [[package]] name = "infer" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb33622da908807a06f9513c19b3c1ad50fab3e4137d82a78107d502075aa199" +checksum = "bc150e5ce2330295b8616ce0e3f53250e53af31759a9dbedad1621ba29151847" dependencies = [ "cfb", ] @@ -1341,12 +1424,11 @@ source = "git+https://github.com/willox/SpacemanDMM?branch=fixes#6e6620cabc9e1cb [[package]] name = "inventory" -version = "0.2.3" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84344c6e0b90a9e2b6f3f9abe5cc74402684e348df7b32adca28747e0cef091a" +checksum = "e5d80fade88dd420ce0d9ab6f7c58ef2272dde38db874657950f827d4982c817" dependencies = [ - "ctor", - "ghost", + "rustversion", ] [[package]] @@ -1363,9 +1445,9 @@ checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jobserver" @@ -1378,10 +1460,11 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -1393,15 +1476,15 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.159" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libudis86-sys" @@ -1435,6 +1518,28 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "lockfree-object-pool" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" + [[package]] name = "lodepng" version = "3.10.7" @@ -1453,6 +1558,16 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "lzma-rs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "297e814c836ae64db86b36cf2a557ba54368d03f6afcd7d947c266692f71115e" +dependencies = [ + "byteorder", + "crc", +] + [[package]] name = "mach" version = "0.3.2" @@ -1477,7 +1592,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "digest", ] @@ -1510,20 +1625,19 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi 0.3.9", "libc", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", @@ -1611,9 +1725,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.5" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -1626,12 +1740,12 @@ checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "openssl" -version = "0.10.66" +version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ "bitflags 2.6.0", - "cfg-if 1.0.0", + "cfg-if", "foreign-types", "libc", "once_cell", @@ -1647,7 +1761,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.91", ] [[package]] @@ -1658,9 +1772,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.103" +version = "0.9.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" dependencies = [ "cc", "libc", @@ -1685,15 +1799,28 @@ checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" [[package]] name = "papergrid" -version = "0.9.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae7891b22598926e4398790c8fe6447930c72a67d36d983a49d6ce682ce83290" +checksum = "c7419ad52a7de9b60d33e11085a0fe3df1fbd5926aa3f93d3dd53afbc9e86725" dependencies = [ "bytecount", "fnv", "unicode-width", ] +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", +] + [[package]] name = "parse-zoneinfo" version = "0.3.1" @@ -1703,27 +1830,14 @@ dependencies = [ "regex", ] -[[package]] -name = "password-hash" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" -dependencies = [ - "base64ct", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "pbkdf2" -version = "0.11.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest", "hmac", - "password-hash", - "sha2", ] [[package]] @@ -1734,9 +1848,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.13" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", "thiserror", @@ -1745,9 +1859,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.13" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d3a6e3394ec80feb3b6393c725571754c6188490265c61aaf260810d6b95aa0" +checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e" dependencies = [ "pest", "pest_generator", @@ -1755,22 +1869,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.13" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94429506bde1ca69d1b5601962c73f4172ab4726571a59ea95931218cb0e930e" +checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.91", ] [[package]] name = "pest_meta" -version = "2.7.13" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac8a071862e93690b6e34e9a5fb8e33ff3734473ac0245b27232222c4906a33f" +checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea" dependencies = [ "once_cell", "pest", @@ -1861,9 +1975,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -1924,18 +2038,18 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.87" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] [[package]] name = "quick-xml" -version = "0.29.0" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" +checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" dependencies = [ "memchr", ] @@ -2050,11 +2164,20 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "redox_syscall" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "regex" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -2064,9 +2187,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -2105,20 +2228,24 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.27" +version = "0.12.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" dependencies = [ "base64", "bytes", "encoding_rs", + "futures-channel", "futures-core", "futures-util", "h2", "http", "http-body", + "http-body-util", "hyper", + "hyper-rustls", "hyper-tls", + "hyper-util", "ipnet", "js-sys", "log", @@ -2140,7 +2267,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg", + "windows-registry", ] [[package]] @@ -2153,12 +2280,18 @@ dependencies = [ ] [[package]] -name = "rustc-cfg" -version = "0.4.0" +name = "ring" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad221fe7cd09334f8735dcc157b1178e343f43dfaefcd1b09d7fd4fc0921b6f" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ - "failure", + "cc", + "cfg-if", + "getrandom 0.2.15", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", ] [[package]] @@ -2169,9 +2302,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "1.1.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" [[package]] name = "rustc_version" @@ -2179,31 +2312,67 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.24", ] [[package]] name = "rustix" -version = "0.38.37" +version = "0.38.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" dependencies = [ "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustls" +version = "0.23.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" +dependencies = [ + "once_cell", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", ] [[package]] name = "rustls-pemfile" -version = "1.0.4" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "base64", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", ] +[[package]] +name = "rustversion" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" + [[package]] name = "ryu" version = "1.0.18" @@ -2221,13 +2390,19 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + [[package]] name = "security-framework" version = "2.11.1" @@ -2243,9 +2418,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.0" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" +checksum = "1863fd3768cd83c56a7f60faa4dc0d403f1b6df0a38c3c25f44b7894e45370d5" dependencies = [ "core-foundation-sys", "libc", @@ -2263,12 +2438,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" [[package]] name = "semver-parser" @@ -2278,29 +2450,29 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.210" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.91", ] [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.134" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d" dependencies = [ "itoa", "memchr", @@ -2326,7 +2498,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest", ] @@ -2337,7 +2509,7 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest", ] @@ -2348,6 +2520,12 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + [[package]] name = "simplelog" version = "0.12.2" @@ -2398,25 +2576,25 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", ] [[package]] -name = "stable_deref_trait" -version = "1.2.0" +name = "spin" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] -name = "strsim" -version = "0.8.0" +name = "stable_deref_trait" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "strsim" @@ -2438,9 +2616,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "symbolic-common" -version = "12.12.0" +version = "12.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366f1b4c6baf6cfefc234bbd4899535fca0b06c74443039a73f6dfb2fad88d77" +checksum = "cd33e73f154e36ec223c18013f7064a2c120f1162fc086ac9933542def186b00" dependencies = [ "debugid", "memmap2", @@ -2450,9 +2628,9 @@ dependencies = [ [[package]] name = "symbolic-demangle" -version = "12.12.0" +version = "12.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aba05ba5b9962ea5617baf556293720a8b2d0a282aa14ee4bf10e22efc7da8c8" +checksum = "89e51191290147f071777e37fe111800bb82a9059f9c95b19d2dd41bfeddf477" dependencies = [ "cpp_demangle", "msvc-demangler", @@ -2473,9 +2651,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "d53cbcb5a243bd33b7858b1d7f4aca2153490815872d86d955d6ea29f743c035" dependencies = [ "proc-macro2", "quote", @@ -2484,38 +2662,40 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" -version = "0.12.6" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", - "unicode-xid", + "syn 2.0.91", ] [[package]] name = "system-configuration" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", @@ -2523,20 +2703,19 @@ dependencies = [ [[package]] name = "tabled" -version = "0.12.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce69a5028cd9576063ec1f48edb2c75339fd835e6094ef3e05b3a079bf594a6" +checksum = "77c9303ee60b9bedf722012ea29ae3711ba13a67c9b9ae28993838b63057cb1b" dependencies = [ "papergrid", "tabled_derive", - "unicode-width", ] [[package]] name = "tabled_derive" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99f688a08b54f4f02f0a3c382aefdb7884d3d69609f785bd253dc033243e3fe4" +checksum = "bf0fb8bfdc709786c154e24a66777493fb63ae97e3036d914c8666774c477069" dependencies = [ "heck 0.4.1", "proc-macro-error", @@ -2547,11 +2726,11 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fastrand", "once_cell", "rustix", @@ -2591,9 +2770,9 @@ dependencies = [ [[package]] name = "terminal_size" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef" +checksum = "5352447f921fda68cf61b4101566c0bdb5104eff6804d0678e5227580ab6a4e9" dependencies = [ "rustix", "windows-sys 0.59.0", @@ -2605,7 +2784,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8f41b1f729f5ff5177beab62e5a9251e318df8386e260ab3c944cff502ee78d" dependencies = [ - "cargo_metadata 0.9.1", + "cargo_metadata", "serde", "serde_json", "toml", @@ -2618,15 +2797,6 @@ dependencies = [ "auxtest", ] -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - [[package]] name = "textwrap" version = "0.16.1" @@ -2635,29 +2805,29 @@ checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" [[package]] name = "thiserror" -version = "1.0.64" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.91", ] [[package]] name = "time" -version = "0.3.36" +version = "0.3.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ "deranged", "itoa", @@ -2678,43 +2848,29 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" dependencies = [ "num-conv", "time-core", ] [[package]] -name = "tiny-keccak" -version = "2.0.2" +name = "tinystr" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ - "crunchy", + "displaydoc", + "zerovec", ] -[[package]] -name = "tinyvec" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - [[package]] name = "tokio" -version = "1.40.0" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", "bytes", @@ -2735,11 +2891,21 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" +dependencies = [ + "rustls", + "tokio", +] + [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ "bytes", "futures-core", @@ -2765,9 +2931,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "pin-project-lite", "tracing-core", @@ -2775,9 +2941,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", ] @@ -2850,50 +3016,47 @@ dependencies = [ "unic-common", ] -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-width" -version = "0.1.14" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] -name = "unicode-xid" -version = "0.2.6" +name = "untrusted" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", "percent-encoding", ] +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -2902,9 +3065,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" dependencies = [ "getrandom 0.2.15", ] @@ -2915,12 +3078,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - [[package]] name = "version_check" version = "0.9.5" @@ -2960,47 +3117,47 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.91", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3008,28 +3165,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.91", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" [[package]] name = "web-sys" -version = "0.3.72" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" dependencies = [ "js-sys", "wasm-bindgen", @@ -3072,49 +3229,55 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] -name = "windows-sys" -version = "0.48.0" +name = "windows-registry" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ - "windows-targets 0.48.5", + "windows-result", + "windows-strings", + "windows-targets", ] [[package]] -name = "windows-sys" -version = "0.52.0" +name = "windows-result" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-targets 0.52.6", + "windows-result", + "windows-targets", ] [[package]] name = "windows-sys" -version = "0.59.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] -name = "windows-targets" -version = "0.48.5" +name = "windows-sys" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", + "windows-targets", ] [[package]] @@ -3123,46 +3286,28 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -3175,24 +3320,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -3201,36 +3334,50 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] -name = "windows_x86_64_gnullvm" +name = "windows_x86_64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" +name = "write16" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" [[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" +name = "writeable" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] [[package]] -name = "winreg" -version = "0.50.0" +name = "yoke-derive" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ - "cfg-if 1.0.0", - "windows-sys 0.48.0", + "proc-macro2", + "quote", + "syn 2.0.91", + "synstructure", ] [[package]] @@ -3251,45 +3398,130 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.91", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", ] [[package]] name = "zip" -version = "0.6.6" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +checksum = "ae9c1ea7b3a5e1f4b922ff856a129881167511563dc219869afe3787fc0c1a45" dependencies = [ "aes", - "byteorder", + "arbitrary", "bzip2", "constant_time_eq", "crc32fast", "crossbeam-utils", + "deflate64", + "displaydoc", "flate2", "hmac", + "indexmap 2.7.0", + "lzma-rs", + "memchr", "pbkdf2", + "rand 0.8.5", "sha1", + "thiserror", "time", + "zeroize", + "zopfli", "zstd", ] +[[package]] +name = "zopfli" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" +dependencies = [ + "bumpalo", + "crc32fast", + "lockfree-object-pool", + "log", + "once_cell", + "simd-adler32", +] + [[package]] name = "zstd" -version = "0.11.2+zstd.1.5.2" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" dependencies = [ - "libc", "zstd-sys", ] diff --git a/Cargo.toml b/Cargo.toml index b40fd3e8..6a017796 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,10 @@ repository = "https://github.com/wilox/auxtools" rust-version = "1.76" version = "0.1.0" +[workspace.dependencies] +lazy_static = "1" +detour = { version = "0.8", default-features = false } + [workspace.lints.rust] static_mut_refs = "allow" diff --git a/auxcov/Cargo.toml b/auxcov/Cargo.toml index 0d201f82..981e3523 100644 --- a/auxcov/Cargo.toml +++ b/auxcov/Cargo.toml @@ -15,4 +15,4 @@ crate-type = ["cdylib", "lib"] auxtools = { path = "../auxtools" } instruction_hooking = { path = "../instruction_hooking" } dmasm = { git = "https://github.com/willox/dmasm" } -grcov = "0.8.18" +grcov = "0.8" diff --git a/auxcov/src/codecov.rs b/auxcov/src/codecov.rs index 6c0d1b75..7f717630 100644 --- a/auxcov/src/codecov.rs +++ b/auxcov/src/codecov.rs @@ -201,7 +201,7 @@ impl Tracker { impl Drop for Tracker { fn drop(&mut self) { let _result = self.finalize(); // dropping the result here because what can ya - // do? + // do? } } @@ -354,7 +354,7 @@ impl TrackerContext { // reee wtf mozilla, what is this shitty rust? let result = catch_unwind(|| { - output_cobertura(None, &result_tuples, Some(output_path), false); + output_cobertura(None, &result_tuples, Some(output_path), false, true); }); if result.is_err() { diff --git a/auxtools-impl/Cargo.toml b/auxtools-impl/Cargo.toml index 8c1015ad..42b25946 100644 --- a/auxtools-impl/Cargo.toml +++ b/auxtools-impl/Cargo.toml @@ -16,10 +16,7 @@ doctest = false proc-macro2 = "1.0" quote = "1.0" hex = "0.4" - -[dependencies.syn] -version = "1.0" -features = ["full"] +syn = { version = "2", features = ["full"] } [lints] workspace = true diff --git a/auxtools/Cargo.toml b/auxtools/Cargo.toml index ff43729e..37186b13 100644 --- a/auxtools/Cargo.toml +++ b/auxtools/Cargo.toml @@ -16,17 +16,14 @@ cc = "1.0" [dependencies] auxtools-impl = { path = "../auxtools-impl", version = "0.1.0", package = "auxtools-impl" } -once_cell = "1.10.0" -inventory = "0.2.3" -lazy_static = "1.4.0" -dashmap = "3.11.10" -ahash = "0.7.6" -fxhash = "0.2.1" -ctor = "0.1.22" - -[dependencies.detour] -version = "0.8.1" -default-features = false +once_cell = "1" +inventory = "0.3" +lazy_static = { workspace = true } +dashmap = "6" +ahash = "0.8" +fxhash = "0.2" +ctor = "0.2" +detour = { workspace = true } [target.'cfg(windows)'.dependencies] winapi = { version = "0.3.9", features = ["winuser", "libloaderapi", "psapi", "processthreadsapi"] } diff --git a/debug_server/Cargo.toml b/debug_server/Cargo.toml index d39d58b2..2649af24 100644 --- a/debug_server/Cargo.toml +++ b/debug_server/Cargo.toml @@ -14,19 +14,16 @@ crate-type = ["cdylib"] [dependencies] auxtools = { path = "../auxtools" } instruction_hooking = { path = "../instruction_hooking" } -lazy_static = "1.4.0" -serde = { version = "1.0.136", features = ["derive"] } -bincode = "1.3.3" -clap = "3.1.12" +lazy_static = { workspace = true } +serde = { version = "1", features = ["derive"] } +bincode = "1" +clap = "3" dmasm = { git = "https://github.com/willox/dmasm" } -region = "3.0.0" +region = "3" +detour = { workspace = true } [target.'cfg(windows)'.dependencies] -winapi = { version = "0.3.9", features = ["winuser", "libloaderapi", "errhandlingapi"] } +winapi = { version = "0.3", features = ["winuser", "libloaderapi", "errhandlingapi"] } [target.'cfg(unix)'.dependencies] libc = "0.2" - -[dependencies.detour] -version = "0.8.1" -default-features = false diff --git a/instruction_hooking/Cargo.toml b/instruction_hooking/Cargo.toml index 079b21e5..d46da823 100644 --- a/instruction_hooking/Cargo.toml +++ b/instruction_hooking/Cargo.toml @@ -14,12 +14,12 @@ cc = "1.0" [dependencies] auxtools = { path = "../auxtools" } dmasm = { git = "https://github.com/willox/dmasm" } -detour = { version = "0.8.1", default-features = false } -symbolic-common = "12.1" -symbolic-demangle = { version = "12.1", default-features = false } +detour = { version = "0.8", default-features = false } +symbolic-common = "12" +symbolic-demangle = { version = "12", default-features = false } [target.'cfg(windows)'.dependencies] -winapi = { version = "0.3.9", features = ["winuser", "libloaderapi", "errhandlingapi"] } +winapi = { version = "0.3", features = ["winuser", "libloaderapi", "errhandlingapi"] } [target.'cfg(unix)'.dependencies] libc = "0.2" diff --git a/tests/auxtest/Cargo.toml b/tests/auxtest/Cargo.toml index a9f4531e..14a53133 100644 --- a/tests/auxtest/Cargo.toml +++ b/tests/auxtest/Cargo.toml @@ -12,4 +12,4 @@ crate-type = ["cdylib"] auxtools = { path = "../../auxtools" } [dev-dependencies] -test-cdylib = "1.1.0" +test-cdylib = "1" diff --git a/tests/byond_get/Cargo.toml b/tests/byond_get/Cargo.toml index 044ef788..59471db1 100644 --- a/tests/byond_get/Cargo.toml +++ b/tests/byond_get/Cargo.toml @@ -6,6 +6,6 @@ edition = "2018" publish = false [dependencies] -clap = "3.1.12" -reqwest = { version = "0.11.10", features = ["blocking"] } -zip = "0.6.2" +clap = "3" +reqwest = { version = "0.12", features = ["blocking"] } +zip = "2" diff --git a/tests/byond_get/src/main.rs b/tests/byond_get/src/main.rs index d145ce98..2862ffc2 100644 --- a/tests/byond_get/src/main.rs +++ b/tests/byond_get/src/main.rs @@ -53,7 +53,7 @@ fn main() { continue; } - let local_path = file.enclosed_name().unwrap().strip_prefix("byond/").unwrap(); + let local_path = file.enclosed_name().unwrap().strip_prefix("byond/").unwrap().to_owned(); let mut path = destination.to_path_buf(); path.push(local_path); From 862d78f147c759b50882efc3311653d6120b9972 Mon Sep 17 00:00:00 2001 From: Lucy Date: Sun, 22 Dec 2024 17:15:54 -0500 Subject: [PATCH 4/4] Fix a lot more lints and iffy code --- auxcov/Cargo.toml | 3 + auxcov/src/codecov.rs | 30 +++---- auxcov/src/lib.rs | 14 +-- debug_server/Cargo.toml | 3 + debug_server/src/assemble_env.rs | 1 - debug_server/src/crash_handler_windows.rs | 2 +- debug_server/src/instruction_hooking.rs | 2 +- debug_server/src/server.rs | 103 +++++++++------------- debug_server/src/server_types.rs | 14 +-- instruction_hooking/Cargo.toml | 3 + instruction_hooking/build.rs | 7 +- instruction_hooking/src/lib.rs | 2 +- 12 files changed, 77 insertions(+), 107 deletions(-) diff --git a/auxcov/Cargo.toml b/auxcov/Cargo.toml index 981e3523..3a2e6a33 100644 --- a/auxcov/Cargo.toml +++ b/auxcov/Cargo.toml @@ -16,3 +16,6 @@ auxtools = { path = "../auxtools" } instruction_hooking = { path = "../instruction_hooking" } dmasm = { git = "https://github.com/willox/dmasm" } grcov = "0.8" + +[lints] +workspace = true diff --git a/auxcov/src/codecov.rs b/auxcov/src/codecov.rs index 7f717630..184557ba 100644 --- a/auxcov/src/codecov.rs +++ b/auxcov/src/codecov.rs @@ -29,9 +29,9 @@ pub struct Tracker { impl Tracker { pub fn new() -> Tracker { let mut hittable_lines = HashMap::>::new(); - let mut i: u32 = 0; + let mut i = 0_u32; while let Some(proc) = Proc::from_id(raw_types::procs::ProcId(i)) { - i = i + 1; + i += 1; let mut current_file_option; let bytecode; @@ -63,7 +63,7 @@ impl Tracker { continue; } - hittable_lines.entry(file_name).or_insert(HashSet::new()).insert(line); + hittable_lines.entry(file_name).or_default().insert(line); } } _ => {} @@ -123,7 +123,7 @@ impl Tracker { return; } - let filename_id = StringId::from(ctx.filename); + let filename_id = ctx.filename; let proc_map_index = proc_instance.proc.0 as usize; let line = ctx.line as usize; @@ -158,16 +158,13 @@ impl Tracker { } } - if let Some(remove_index) = remove_index_option { - self.contexts.remove(remove_index); - if let Err(error) = result { - return Err(error); + match remove_index_option { + Some(remove_index) => { + self.contexts.remove(remove_index); + result.map(|_| true) } - - return Ok(true); + None => Ok(false) } - - Ok(false) } fn finalize(&mut self) -> Result<(), Vec> { @@ -177,9 +174,7 @@ impl Tracker { if let Err(error) = result { match &mut errors_option { None => { - let mut new_error_vec = Vec::new(); - new_error_vec.push(error); - errors_option = Some(new_error_vec); + errors_option = Some(vec![error]); } Some(existing_vec) => { existing_vec.push(error); @@ -346,10 +341,7 @@ impl TrackerContext { let output_path = Path::new(&self.output_file_name); let mut path_buf = output_path.to_path_buf(); if path_buf.pop() { - let create_dir_result = create_dir_all(path_buf); - if let Err(create_dir_error) = create_dir_result { - return Err(create_dir_error); - } + create_dir_all(path_buf)?; } // reee wtf mozilla, what is this shitty rust? diff --git a/auxcov/src/lib.rs b/auxcov/src/lib.rs index 4234fd65..d74feff2 100644 --- a/auxcov/src/lib.rs +++ b/auxcov/src/lib.rs @@ -40,12 +40,7 @@ where // that. #[hook("/proc/start_code_coverage")] fn start_code_coverage(coverage_file: Value) { - let coverage_file_string_result = coverage_file.as_string(); - if let Err(runtime) = coverage_file_string_result { - return Err(runtime); - } - - let coverage_file_string = coverage_file_string_result.unwrap(); + let coverage_file_string = coverage_file.as_string()?; let mut init_result = false; with_tracker_option( @@ -64,12 +59,7 @@ fn start_code_coverage(coverage_file: Value) { #[hook("/proc/stop_code_coverage")] fn stop_code_coverage(coverage_file: Value) { - let coverage_file_string_result = coverage_file.as_string(); - if let Err(runtime) = coverage_file_string_result { - return Err(runtime); - } - - let coverage_file_string = coverage_file_string_result.unwrap(); + let coverage_file_string = coverage_file.as_string()?; let mut result = Ok(Value::null()); with_tracker_option( diff --git a/debug_server/Cargo.toml b/debug_server/Cargo.toml index 2649af24..3af1aadd 100644 --- a/debug_server/Cargo.toml +++ b/debug_server/Cargo.toml @@ -27,3 +27,6 @@ winapi = { version = "0.3", features = ["winuser", "libloaderapi", "errhandlinga [target.'cfg(unix)'.dependencies] libc = "0.2" + +[lints] +workspace = true diff --git a/debug_server/src/assemble_env.rs b/debug_server/src/assemble_env.rs index 16229c5b..ed65037d 100644 --- a/debug_server/src/assemble_env.rs +++ b/debug_server/src/assemble_env.rs @@ -1,5 +1,4 @@ use auxtools::*; -use dmasm; pub struct AssembleEnv; diff --git a/debug_server/src/crash_handler_windows.rs b/debug_server/src/crash_handler_windows.rs index 809e3f27..d8da00ab 100644 --- a/debug_server/src/crash_handler_windows.rs +++ b/debug_server/src/crash_handler_windows.rs @@ -16,7 +16,7 @@ extern "system" fn exception_filter(_: *mut EXCEPTION_POINTERS) -> LONG { } } - return EXCEPTION_EXECUTE_HANDLER; + EXCEPTION_EXECUTE_HANDLER } #[init(full)] diff --git a/debug_server/src/instruction_hooking.rs b/debug_server/src/instruction_hooking.rs index 614e4bd0..863fbf15 100644 --- a/debug_server/src/instruction_hooking.rs +++ b/debug_server/src/instruction_hooking.rs @@ -381,7 +381,7 @@ pub fn hook_instruction(proc: &Proc, offset: u32) -> Result<(), InstructionHookE unsafe { ORIGINAL_BYTECODE.lock().unwrap().insert( PtrKey::new(opcode_ptr), - std::slice::from_raw_parts(opcode_ptr, instruction_length as usize).to_vec() + std::slice::from_raw_parts(opcode_ptr, instruction_length).to_vec() ); } diff --git a/debug_server/src/server.rs b/debug_server/src/server.rs index b1a49fed..58493dcd 100644 --- a/debug_server/src/server.rs +++ b/debug_server/src/server.rs @@ -148,7 +148,7 @@ impl Server { } pub fn connect(addr: &SocketAddr) -> std::io::Result { - let stream = TcpStream::connect_timeout(&addr, std::time::Duration::from_secs(5))?; + let stream = TcpStream::connect_timeout(addr, std::time::Duration::from_secs(5))?; let (requests_sender, requests_receiver) = mpsc::channel(); let server_thread = ServerThread { requests: requests_sender }; @@ -171,7 +171,7 @@ impl Server { }; server.process_until_configured(); - return Ok(server); + Ok(server) } pub fn listen(addr: &SocketAddr) -> std::io::Result { @@ -231,9 +231,9 @@ impl Server { } if reached_offset { - return current_line_number; + current_line_number } else { - return None; + None } } @@ -242,38 +242,31 @@ impl Server { } fn get_offset(&self, proc: ProcRef, line: u32) -> Option { - match auxtools::Proc::find_override(proc.path, proc.override_id) { - Some(proc) => { - let mut offset = None; - let mut at_offset = false; + let proc = auxtools::Proc::find_override(proc.path, proc.override_id)?; + let mut offset = None; + let mut at_offset = false; - let bytecode = unsafe { proc.bytecode() }; + let bytecode = unsafe { proc.bytecode() }; - let mut env = disassemble_env::DisassembleEnv; - let (nodes, _error) = dmasm::disassembler::disassemble(bytecode, &mut env); + let mut env = disassemble_env::DisassembleEnv; + let (nodes, _error) = dmasm::disassembler::disassemble(bytecode, &mut env); - for node in nodes { - if let dmasm::Node::Instruction(ins, debug) = node { - if at_offset { - offset = Some(debug.offset); - break; - } + for node in nodes { + if let dmasm::Node::Instruction(ins, debug) = node { + if at_offset { + offset = Some(debug.offset); + break; + } - if let dmasm::Instruction::DbgLine(current_line) = ins { - if current_line == line { - at_offset = true; - } - } + if let dmasm::Instruction::DbgLine(current_line) = ins { + if current_line == line { + at_offset = true; } } - - return offset; - } - - None => { - return None; } } + + offset } fn is_object(value: &Value) -> bool { @@ -352,7 +345,7 @@ impl Server { variables.push(self.value_to_variable(format!("[{}]", i), &key)); } - return Ok(variables); + Ok(variables) } fn object_to_variables(&mut self, value: &Value) -> Result, Runtime> { @@ -481,7 +474,7 @@ impl Server { let mut vars = vec![self.value_to_variable(".".to_owned(), &frame.dot)]; for (name, local) in &frame.locals { - vars.push(self.value_to_variable(String::from(name), &local)); + vars.push(self.value_to_variable(String::from(name), local)); } vars @@ -901,8 +894,8 @@ impl Server { } fn handle_eval(&mut self, frame_id: Option, command: &str, context: Option) { - if command.starts_with('#') { - let response = self.handle_command(frame_id, &command[1..]); + if let Some(command) = command.strip_prefix('#') { + let response = self.handle_command(frame_id, command); self.send_or_disconnect(Response::Eval(EvalResponse { value: response, variables: None @@ -933,7 +926,7 @@ impl Server { } fn handle_disassemble(&mut self, path: &str, id: u32) -> String { - let response = match auxtools::Proc::find_override(path, id) { + match auxtools::Proc::find_override(path, id) { Some(proc) => { // Make sure to temporarily remove all breakpoints in this proc let breaks = get_hooked_offsets(&proc); @@ -964,9 +957,7 @@ impl Server { } None => "Proc not found".to_owned() - }; - - return response; + } } // returns true if we need to break @@ -1010,17 +1001,13 @@ impl Server { } Request::CurrentInstruction { frame_id } => { - let response = match self.get_stack_frame(frame_id) { - Some(frame) => Some(InstructionRef { - proc: ProcRef { - path: frame.proc.path.to_owned(), - override_id: frame.proc.override_id() - }, - offset: frame.offset as u32 - }), - - None => None - }; + let response = self.get_stack_frame(frame_id).map(|frame| InstructionRef { + proc: ProcRef { + path: frame.proc.path.to_owned(), + override_id: frame.proc.override_id() + }, + offset: frame.offset as u32 + }); self.send_or_disconnect(Response::CurrentInstruction(response)); } @@ -1050,14 +1037,10 @@ impl Server { } fn wait_for_connection(&mut self) { - match &self.stream { - ServerStream::Waiting(receiver) => { - if let Ok(stream) = receiver.recv() { - self.stream = ServerStream::Connected(stream); - } + if let ServerStream::Waiting(receiver) = &self.stream { + if let Ok(stream) = receiver.recv() { + self.stream = ServerStream::Connected(stream); } - - _ => () } } @@ -1074,23 +1057,17 @@ impl Server { pub fn handle_breakpoint(&mut self, _ctx: *mut raw_types::procs::ExecutionContext, reason: BreakpointReason) -> ContinueKind { // Ignore all breakpoints unless we're connected - if !self.check_connected() { + if !self.check_connected() || (matches!(reason, BreakpointReason::Runtime(_)) && !self.should_catch_runtimes) { return ContinueKind::Continue; } - if let BreakpointReason::Runtime(_) = reason { - if !self.should_catch_runtimes { - return ContinueKind::Continue; - } - } - self.state = Some(State::new()); // Exit now if this is a conditional breakpoint and the condition doesn't pass! - if let BreakpointReason::Breakpoint = reason { + if reason == BreakpointReason::Breakpoint { let proc = unsafe { (*(*_ctx).proc_instance).proc }; let offset = unsafe { (*_ctx).bytecode_offset }; - let condition = self.conditional_breakpoints.get(&(proc, offset)).map(|x| x.clone()); + let condition = self.conditional_breakpoints.get(&(proc, offset)).cloned(); if let Some(condition) = condition { if let Some(result) = self.eval_expr(Some(0), &condition) { diff --git a/debug_server/src/server_types.rs b/debug_server/src/server_types.rs index 8e9757e3..a62fa399 100644 --- a/debug_server/src/server_types.rs +++ b/debug_server/src/server_types.rs @@ -113,7 +113,7 @@ pub struct InstructionRef { pub offset: u32 } -#[derive(Serialize, Deserialize, Debug)] +#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] pub enum BreakpointReason { Breakpoint, Step, @@ -121,7 +121,7 @@ pub enum BreakpointReason { Runtime(String) } -#[derive(Serialize, Deserialize, Debug)] +#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] pub enum ContinueKind { Continue, StepOver { stack_id: u32 }, @@ -129,20 +129,20 @@ pub enum ContinueKind { StepOut { stack_id: u32 } } -#[derive(Serialize, Deserialize, Debug)] +#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] pub struct Stack { pub id: u32, pub name: String } -#[derive(Serialize, Deserialize, Debug)] +#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] pub struct StackFrame { pub id: u32, pub instruction: InstructionRef, pub line: Option } -#[derive(Serialize, Deserialize, Debug, Clone)] +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub enum BreakpointSetResult { Success { line: Option }, Failed @@ -151,14 +151,14 @@ pub enum BreakpointSetResult { #[derive(Clone, Hash, Eq, PartialEq, Serialize, Deserialize, Debug)] pub struct VariablesRef(pub i32); -#[derive(Serialize, Deserialize, Debug)] +#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] pub struct Variable { pub name: String, pub value: String, pub variables: Option } -#[derive(Serialize, Deserialize, Debug)] +#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] pub struct EvalResponse { pub value: String, pub variables: Option diff --git a/instruction_hooking/Cargo.toml b/instruction_hooking/Cargo.toml index d46da823..56787170 100644 --- a/instruction_hooking/Cargo.toml +++ b/instruction_hooking/Cargo.toml @@ -23,3 +23,6 @@ winapi = { version = "0.3", features = ["winuser", "libloaderapi", "errhandlinga [target.'cfg(unix)'.dependencies] libc = "0.2" + +[lints] +workspace = true diff --git a/instruction_hooking/build.rs b/instruction_hooking/build.rs index 25b92d5c..e369d6ee 100644 --- a/instruction_hooking/build.rs +++ b/instruction_hooking/build.rs @@ -1,14 +1,17 @@ use std::env; fn main() { + let target_family = env::var("CARGO_CFG_TARGET_FAMILY").expect("CARGO_CFG_TARGET_FAMILY not set"); + let target_env = env::var("CARGO_CFG_TARGET_ENV").expect("CARGO_CFG_TARGET_ENV not set"); + let mut build = cc::Build::new(); build.cpp(true).file("src/execute_instruction_data.cpp"); - match env::var("CARGO_CFG_TARGET_FAMILY").unwrap().as_str() { + match target_family.as_str() { "unix" => { build.file("src/execute_instruction_hook.unix.S"); } - "windows" => match env::var("CARGO_CFG_TARGET_ENV").unwrap().as_str() { + "windows" => match target_env.as_str() { "gnu" => { build.file("src/execute_instruction_hook.windows.S"); build.file("src/514/execute_instruction_hook.windows.S"); diff --git a/instruction_hooking/src/lib.rs b/instruction_hooking/src/lib.rs index 3ba6a589..a039621f 100644 --- a/instruction_hooking/src/lib.rs +++ b/instruction_hooking/src/lib.rs @@ -73,7 +73,7 @@ fn instruction_hooking_init() -> Result<(), String> { hook.enable().map_err(|_| "Couldn't enable execute_instruction detour")?; - execute_instruction_original = std::mem::transmute(hook.trampoline()); + execute_instruction_original = hook.trampoline() as *const () as *const c_void; // We never remove or disable the hook, so just forget about it. std::mem::forget(hook);