diff options
| author | KyleMiles <krm504@nyu.edu> | 2023-05-10 11:17:31 -0400 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2023-05-10 11:22:15 -0400 |
| commit | 8873db8d15e85b0e7c9067ac4a750928904d5e21 (patch) | |
| tree | 30c005cc1c11cf8fdf9535c23c6bb7d025703847 /rust/src | |
| parent | 590ff3e4e90a01738929163cc0abf9535b839f2b (diff) | |
Partially revert my previous commit: Allow extra type bounds, but suppress clippy with comment
Diffstat (limited to 'rust/src')
| -rw-r--r-- | rust/src/callingconvention.rs | 18 | ||||
| -rw-r--r-- | rust/src/custombinaryview.rs | 8 |
2 files changed, 18 insertions, 8 deletions
diff --git a/rust/src/callingconvention.rs b/rust/src/callingconvention.rs index aa6b71ad..86abbd6c 100644 --- a/rust/src/callingconvention.rs +++ b/rust/src/callingconvention.rs @@ -286,12 +286,15 @@ where }) } - extern "C" fn cb_incoming_reg_value( + #[allow(clippy::extra_unused_type_parameters)] // TODO : This is bad; need to finish this stub + extern "C" fn cb_incoming_reg_value<C>( _ctxt: *mut c_void, _reg: u32, _func: *mut BNFunction, val: *mut BNRegisterValue, - ) { + ) where + C: CallingConventionBase, + { ffi_wrap!("CallingConvention::incoming_reg_value", unsafe { //let ctxt = &*(ctxt as *mut CustomCallingConventionContext<C>); let val = &mut *val; @@ -301,12 +304,15 @@ where }) } - extern "C" fn cb_incoming_flag_value( + #[allow(clippy::extra_unused_type_parameters)] // TODO : This is bad; need to finish this stub + extern "C" fn cb_incoming_flag_value<C>( _ctxt: *mut c_void, _flag: u32, _func: *mut BNFunction, val: *mut BNRegisterValue, - ) { + ) where + C: CallingConventionBase, + { ffi_wrap!("CallingConvention::incoming_flag_value", unsafe { //let ctxt = &*(ctxt as *mut CustomCallingConventionContext<C>); let val = &mut *val; @@ -391,8 +397,8 @@ where getGlobalPointerRegister: Some(cb_global_pointer_reg::<C>), getImplicitlyDefinedRegisters: Some(cb_implicitly_defined_registers::<C>), - getIncomingRegisterValue: Some(cb_incoming_reg_value), - getIncomingFlagValue: Some(cb_incoming_flag_value), + getIncomingRegisterValue: Some(cb_incoming_reg_value::<C>), + getIncomingFlagValue: Some(cb_incoming_flag_value::<C>), getIncomingVariableForParameterVariable: Some(cb_incoming_var_for_param::<C>), getParameterVariableForIncomingVariable: Some(cb_incoming_param_for_var::<C>), diff --git a/rust/src/custombinaryview.rs b/rust/src/custombinaryview.rs index aa4eef27..740d0f40 100644 --- a/rust/src/custombinaryview.rs +++ b/rust/src/custombinaryview.rs @@ -93,7 +93,11 @@ where }) } - extern "C" fn cb_parse(_ctxt: *mut c_void, _data: *mut BNBinaryView) -> *mut BNBinaryView { + #[allow(clippy::extra_unused_type_parameters)] // TODO : This is bad; need to finish this stub + extern "C" fn cb_parse<T>(_ctxt: *mut c_void, _data: *mut BNBinaryView) -> *mut BNBinaryView + where + T: CustomBinaryViewType, + { ffi_wrap!("BinaryViewTypeBase::parse", ptr::null_mut()) } @@ -124,7 +128,7 @@ where let mut bn_obj = BNCustomBinaryViewType { context: ctxt as *mut _, create: Some(cb_create::<T>), - parse: Some(cb_parse), + parse: Some(cb_parse::<T>), isValidForData: Some(cb_valid::<T>), isDeprecated: Some(cb_deprecated::<T>), getLoadSettingsForData: Some(cb_load_settings::<T>), |
