diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2026-05-19 20:01:42 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2026-05-22 17:52:21 -0400 |
| commit | ea82d201e7efb2065d0cea459bea0fcda1985762 (patch) | |
| tree | fc7494275ddf85e7e68f3c333a79bd3404590dd6 /rust/src/types.rs | |
| parent | ede9c92ba6155be37571743df7172aec76dd3c4b (diff) | |
Refactor calling convention Rust API to allow default implementations
Also implements the new calling convention APIs in Rust
Diffstat (limited to 'rust/src/types.rs')
| -rw-r--r-- | rust/src/types.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/rust/src/types.rs b/rust/src/types.rs index a7ec517e..167c8bbd 100644 --- a/rust/src/types.rs +++ b/rust/src/types.rs @@ -454,7 +454,7 @@ impl TypeBuilder { parameters: Vec<FunctionParameter>, variable_arguments: bool, ) -> Self { - let mut owned_raw_return_value = ReturnValue::into_rust_raw(return_value.into()); + let mut owned_raw_return_value = ReturnValue::into_rust_raw(&return_value.into()); let mut variable_arguments = Conf::new(variable_arguments, MAX_CONFIDENCE).into(); let mut can_return = Conf::new(true, MIN_CONFIDENCE).into(); let mut pure = Conf::new(false, MIN_CONFIDENCE).into(); @@ -511,7 +511,7 @@ impl TypeBuilder { calling_convention: C, stack_adjust: Conf<i64>, ) -> Self { - let mut owned_raw_return_value = ReturnValue::into_rust_raw(return_value.into()); + let mut owned_raw_return_value = ReturnValue::into_rust_raw(&return_value.into()); let mut variable_arguments = Conf::new(variable_arguments, MAX_CONFIDENCE).into(); let mut can_return = Conf::new(true, MIN_CONFIDENCE).into(); let mut pure = Conf::new(false, MIN_CONFIDENCE).into(); @@ -934,7 +934,7 @@ impl Type { parameters: Vec<FunctionParameter>, variable_arguments: bool, ) -> Ref<Self> { - let mut owned_raw_return_value = ReturnValue::into_rust_raw(return_value.into()); + let mut owned_raw_return_value = ReturnValue::into_rust_raw(&return_value.into()); let mut variable_arguments = Conf::new(variable_arguments, MAX_CONFIDENCE).into(); let mut can_return = Conf::new(true, MIN_CONFIDENCE).into(); let mut pure = Conf::new(false, MIN_CONFIDENCE).into(); @@ -990,7 +990,7 @@ impl Type { calling_convention: C, stack_adjust: Conf<i64>, ) -> Ref<Self> { - let mut owned_raw_return_value = ReturnValue::into_rust_raw(return_value.into()); + let mut owned_raw_return_value = ReturnValue::into_rust_raw(&return_value.into()); let mut variable_arguments = Conf::new(variable_arguments, MAX_CONFIDENCE).into(); let mut can_return = Conf::new(true, MIN_CONFIDENCE).into(); let mut pure = Conf::new(false, MIN_CONFIDENCE).into(); @@ -1365,9 +1365,9 @@ impl ReturnValue { owned } - pub(crate) fn into_rust_raw(value: Self) -> BNReturnValue { + pub(crate) fn into_rust_raw(value: &Self) -> BNReturnValue { BNReturnValue { - type_: unsafe { Ref::into_raw(value.ty.contents) }.handle, + type_: unsafe { Ref::into_raw(value.ty.contents.clone()) }.handle, typeConfidence: value.ty.confidence, defaultLocation: value.location.is_none(), location: ValueLocation::into_rust_raw( |
