From e666bb5a0e483cb6901ff5f0a406ad5dc102d99e Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Sun, 24 Sep 2023 18:24:02 +0200 Subject: [PATCH] Fixes for newer clippy --- src/dynamic_data/models/battle.rs | 2 +- src/dynamic_data/models/executing_move.rs | 4 ++++ src/dynamic_data/models/pokemon.rs | 4 ++-- .../serialization/serialized_pokemon.rs | 6 ++--- src/ffi/ffi_handle.rs | 5 +--- src/ffi/mod.rs | 12 +++++----- src/lib.rs | 1 + src/script_implementations/wasm/extern_ref.rs | 11 ++------- src/script_implementations/wasm/script.rs | 24 ------------------- .../wasm/script_function_cache.rs | 5 +--- tests/integration.rs | 1 + 11 files changed, 22 insertions(+), 53 deletions(-) diff --git a/src/dynamic_data/models/battle.rs b/src/dynamic_data/models/battle.rs index 24419ea..65adf95 100755 --- a/src/dynamic_data/models/battle.rs +++ b/src/dynamic_data/models/battle.rs @@ -253,7 +253,7 @@ impl Battle { data.target_side(), data.target_index(), data.used_move().move_data().target(), - choice.user().deref(), + choice.user(), ) { return false; } diff --git a/src/dynamic_data/models/executing_move.rs b/src/dynamic_data/models/executing_move.rs index b962995..473d845 100755 --- a/src/dynamic_data/models/executing_move.rs +++ b/src/dynamic_data/models/executing_move.rs @@ -233,3 +233,7 @@ impl ScriptSource for ExecutingMove { Ok(()) } } + +unsafe impl Send for ExecutingMove {} + +unsafe impl Sync for ExecutingMove {} diff --git a/src/dynamic_data/models/pokemon.rs b/src/dynamic_data/models/pokemon.rs index 1fcfa1b..1f213f1 100755 --- a/src/dynamic_data/models/pokemon.rs +++ b/src/dynamic_data/models/pokemon.rs @@ -137,9 +137,9 @@ pub struct WeakPokemonReference { data: Weak, } -unsafe impl Send for WeakPokemonReference {} +unsafe impl Send for PokemonData {} -unsafe impl Sync for WeakPokemonReference {} +unsafe impl Sync for PokemonData {} impl Pokemon { /// Instantiates a new Pokemon. diff --git a/src/dynamic_data/models/serialization/serialized_pokemon.rs b/src/dynamic_data/models/serialization/serialized_pokemon.rs index dee6ffc..44dc013 100644 --- a/src/dynamic_data/models/serialization/serialized_pokemon.rs +++ b/src/dynamic_data/models/serialization/serialized_pokemon.rs @@ -104,9 +104,9 @@ impl Into> for &Pokemon { weight: self.weight(), height: self.height(), happiness: self.happiness(), - stat_boosts: self.stat_boosts().deref().deref().clone(), - individual_values: self.individual_values().deref().deref().clone(), - effort_values: self.effort_values().deref().deref().clone(), + stat_boosts: self.stat_boosts().deref().clone(), + individual_values: self.individual_values().deref().clone(), + effort_values: self.effort_values().deref().clone(), nature: self.library().static_data().natures().get_nature_name(self.nature())?, nickname: self.nickname().clone(), ability_index: *self.real_ability(), diff --git a/src/ffi/ffi_handle.rs b/src/ffi/ffi_handle.rs index e1e8c9f..3e9f81e 100644 --- a/src/ffi/ffi_handle.rs +++ b/src/ffi/ffi_handle.rs @@ -36,10 +36,7 @@ pub(super) struct FFIHandle { impl Clone for FFIHandle { fn clone(&self) -> Self { - Self { - handle: self.handle, - _marker: std::marker::PhantomData, - } + *self } } diff --git a/src/ffi/mod.rs b/src/ffi/mod.rs index 391f570..e5ffca2 100644 --- a/src/ffi/mod.rs +++ b/src/ffi/mod.rs @@ -5,7 +5,7 @@ mod ffi_handle; /// The foreign function interfaces for that static data mod static_data; -pub(self) use ffi_handle::*; +use ffi_handle::*; /// Helper type for clearer functions. #[repr(transparent)] @@ -86,15 +86,15 @@ macro_rules! ffi_handle_vec_stringkey_getters { }; } -pub(self) use ffi_handle_arc_dyn_getter; -pub(self) use ffi_handle_arc_stringkey_getter; -pub(self) use ffi_handle_vec_stringkey_getters; -pub(self) use ffi_handle_vec_value_getters; +use ffi_handle_arc_dyn_getter; +use ffi_handle_arc_stringkey_getter; +use ffi_handle_vec_stringkey_getters; +use ffi_handle_vec_value_getters; use std::ffi::{c_char, CString}; /// Helper utility class to wrap a pointer for extern functions. #[repr(C)] -pub(self) struct ExternPointer { +struct ExternPointer { /// The wrapped pointer. ptr: *mut T, } diff --git a/src/lib.rs b/src/lib.rs index 3e4b9c3..3b399e4 100755 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,6 +7,7 @@ #![allow(incomplete_features)] #![allow(ambiguous_glob_reexports)] #![allow(hidden_glob_reexports)] +#![allow(clippy::arc_with_non_send_sync)] // Documentation linters #![deny(missing_docs)] #![deny(clippy::missing_docs_in_private_items)] diff --git a/src/script_implementations/wasm/extern_ref.rs b/src/script_implementations/wasm/extern_ref.rs index dfd2570..ac01919 100755 --- a/src/script_implementations/wasm/extern_ref.rs +++ b/src/script_implementations/wasm/extern_ref.rs @@ -24,10 +24,7 @@ impl Copy for ExternRef {} impl Clone for ExternRef { fn clone(&self) -> Self { - Self { - index: self.index, - _phantom: Default::default(), - } + *self } } @@ -148,11 +145,7 @@ pub(crate) struct VecExternRef { impl Clone for VecExternRef { fn clone(&self) -> Self { - Self { - index: self.index, - size: self.size, - _phantom: Default::default(), - } + *self } } diff --git a/src/script_implementations/wasm/script.rs b/src/script_implementations/wasm/script.rs index 04f1f96..d5610e1 100755 --- a/src/script_implementations/wasm/script.rs +++ b/src/script_implementations/wasm/script.rs @@ -314,7 +314,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_move_type(env) { let ptr = env.allocate_temp::(*move_type); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *move_type = *ptr.value(); @@ -335,7 +334,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_effectiveness(env) { let ptr = env.allocate_temp(*effectiveness); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *effectiveness = *ptr.value(); @@ -356,7 +354,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().block_critical(env) { let ptr = env.allocate_temp(*block_critical); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *block_critical = *ptr.value(); @@ -377,7 +374,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().block_incoming_critical(env) { let ptr = env.allocate_temp(*block_critical); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *block_critical = *ptr.value(); @@ -392,7 +388,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_accuracy(env) { let ptr = env.allocate_temp(*accuracy); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *accuracy = *ptr.value(); @@ -407,7 +402,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_critical_stage(env) { let ptr = env.allocate_temp(*stage); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *stage = *ptr.value(); @@ -428,7 +422,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_critical_modifier(env) { let ptr = env.allocate_temp(*modifier); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *modifier = *ptr.value(); @@ -449,7 +442,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_stab_modifier(env) { let ptr = env.allocate_temp(*modifier); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *modifier = *ptr.value(); @@ -464,7 +456,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_base_power(env) { let ptr = env.allocate_temp(*base_power); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *base_power = *ptr.value(); @@ -485,7 +476,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().bypass_defensive_stat_boost(env) { let ptr = env.allocate_temp(*bypass); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *bypass = *ptr.value(); @@ -506,7 +496,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().bypass_offensive_stat_boost(env) { let ptr = env.allocate_temp(*bypass); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *bypass = *ptr.value(); @@ -527,7 +516,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_offensive_stat_value(env) { let ptr = env.allocate_temp(*amount); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *amount = *ptr.value(); @@ -548,7 +536,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_defensive_stat_value(env) { let ptr = env.allocate_temp(*amount); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *amount = *ptr.value(); @@ -569,7 +556,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_damage_stat_modifier(env) { let ptr = env.allocate_temp(*modifier); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *modifier = *ptr.value(); @@ -590,7 +576,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_damage_modifier(env) { let ptr = env.allocate_temp(*modifier); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *modifier = *ptr.value(); @@ -605,7 +590,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_damage(env) { let ptr = env.allocate_temp(*damage); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *damage = *ptr.value(); @@ -626,7 +610,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_incoming_damage(env) { let ptr = env.allocate_temp(*damage); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *damage = *ptr.value(); @@ -640,7 +623,6 @@ impl Script for WebAssemblyScript { } let env = &self.environment; if let Some(func) = env.script_function_cache().on_incoming_hit(env) { - let target = target; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit); } Ok(()) @@ -652,7 +634,6 @@ impl Script for WebAssemblyScript { } let env = &self.environment; if let Some(func) = env.script_function_cache().on_opponent_faints(env) { - let target = target; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit); } Ok(()) @@ -701,7 +682,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().prevent_secondary_effect(env) { let ptr = env.allocate_temp(*prevent); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *prevent = *ptr.value(); @@ -716,7 +696,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_effect_chance(env) { let ptr = env.allocate_temp(*chance); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *chance = *ptr.value(); @@ -737,7 +716,6 @@ impl Script for WebAssemblyScript { let env = &self.environment; if let Some(func) = env.script_function_cache().change_incoming_effect_chance(env) { let ptr = env.allocate_temp(*chance); - let target = target; let w_ptr = ptr.wasm_ptr; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit, w_ptr); *chance = *ptr.value(); @@ -751,7 +729,6 @@ impl Script for WebAssemblyScript { } let env = &self.environment; if let Some(func) = env.script_function_cache().on_secondary_effect(env) { - let target = target; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target), hit); } Ok(()) @@ -763,7 +740,6 @@ impl Script for WebAssemblyScript { } let env = &self.environment; if let Some(func) = env.script_function_cache().on_after_hits(env) { - let target = target; call_func!(func, env, self, ex_ref!(env, mv), ex_ref!(env, target)); } Ok(()) diff --git a/src/script_implementations/wasm/script_function_cache.rs b/src/script_implementations/wasm/script_function_cache.rs index 88b0340..c8dded4 100755 --- a/src/script_implementations/wasm/script_function_cache.rs +++ b/src/script_implementations/wasm/script_function_cache.rs @@ -81,10 +81,7 @@ pub(super) struct WasmPtr { impl Clone for WasmPtr { fn clone(&self) -> Self { - Self { - v: self.v, - _phantom: Default::default(), - } + *self } } diff --git a/tests/integration.rs b/tests/integration.rs index 70783d2..adad245 100755 --- a/tests/integration.rs +++ b/tests/integration.rs @@ -1,6 +1,7 @@ #![feature(custom_test_frameworks)] #![feature(lazy_cell)] #![allow(clippy::borrowed_box)] +#![allow(clippy::arc_with_non_send_sync)] use std::sync::{Arc, LazyLock};