diff --git a/crates/solidity/src/build/contract.rs b/crates/solidity/src/build/contract.rs index d29981d..fdd0d72 100644 --- a/crates/solidity/src/build/contract.rs +++ b/crates/solidity/src/build/contract.rs @@ -149,7 +149,9 @@ impl Contract { } let hexadecimal_bytecode = hex::encode(self.build.bytecode); combined_json_contract.bin = Some(hexadecimal_bytecode); - combined_json_contract.bin_runtime = combined_json_contract.bin.clone(); + combined_json_contract + .bin_runtime + .clone_from(&combined_json_contract.bin); combined_json_contract.factory_deps = Some(self.build.factory_dependencies); diff --git a/crates/solidity/src/evmla/assembly/instruction/stack.rs b/crates/solidity/src/evmla/assembly/instruction/stack.rs index 87e9f89..a429d21 100644 --- a/crates/solidity/src/evmla/assembly/instruction/stack.rs +++ b/crates/solidity/src/evmla/assembly/instruction/stack.rs @@ -55,7 +55,7 @@ where format!("dup{offset}").as_str(), )?; - *original = element.original.to_owned(); + element.original.clone_into(original); Ok(value) } @@ -84,8 +84,12 @@ where let swap_value = context.build_load(swap_pointer, format!("swap{offset}_swap_value").as_str())?; - context.evmla_mut().stack[height - 1].original = swap_element.original.to_owned(); - context.evmla_mut().stack[height - offset - 1].original = top_element.original.to_owned(); + swap_element + .original + .clone_into(&mut context.evmla_mut().stack[height - 1].original); + top_element + .original + .clone_into(&mut context.evmla_mut().stack[height - offset - 1].original); context.build_store(top_pointer, swap_value)?; context.build_store(swap_pointer, top_value)?; diff --git a/crates/solidity/src/evmla/ethereal_ir/function/mod.rs b/crates/solidity/src/evmla/ethereal_ir/function/mod.rs index d1a993b..7d87141 100644 --- a/crates/solidity/src/evmla/ethereal_ir/function/mod.rs +++ b/crates/solidity/src/evmla/ethereal_ir/function/mod.rs @@ -968,7 +968,7 @@ impl Function { )?; if let Some(mut queue_element) = queue_element { - queue_element.stack = block_element.stack.to_owned(); + block_element.stack.clone_into(&mut queue_element.stack); queue.push(queue_element); }