From 5e9a53adf2e263e284c9904dc66d37b7c0ef1295 Mon Sep 17 00:00:00 2001 From: Arthur LE MOIGNE Date: Fri, 12 Jan 2024 11:21:00 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=B7=EF=B8=8F=20Update=20argument=20typ?= =?UTF-8?q?e=20of=20FieldMap::set=5Ffield?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickfix/src/group.rs | 4 ++-- quickfix/src/header.rs | 4 ++-- quickfix/src/lib.rs | 2 +- quickfix/src/message.rs | 4 ++-- quickfix/src/trailer.rs | 4 ++-- quickfix/tests/utils/msg_const.rs | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/quickfix/src/group.rs b/quickfix/src/group.rs index 7a73488..5efa280 100644 --- a/quickfix/src/group.rs +++ b/quickfix/src/group.rs @@ -37,8 +37,8 @@ impl FieldMap for Group { unsafe { FixGroup_getField(self.0, tag) }.map(read_checked_cstr) } - fn set_field(&mut self, tag: i32, value: &str) -> Result<(), QuickFixError> { - let ffi_value = CString::new(value)?; + fn set_field>(&mut self, tag: i32, value: V) -> Result<(), QuickFixError> { + let ffi_value = CString::new(value.as_ref())?; ffi_code_to_result(unsafe { FixGroup_setField(self.0, tag, ffi_value.as_ptr()) }) } diff --git a/quickfix/src/header.rs b/quickfix/src/header.rs index 7e2931f..dd55aa4 100644 --- a/quickfix/src/header.rs +++ b/quickfix/src/header.rs @@ -25,8 +25,8 @@ impl FieldMap for Header { unsafe { FixHeader_getField(self.0, tag) }.map(read_checked_cstr) } - fn set_field(&mut self, tag: i32, value: &str) -> Result<(), QuickFixError> { - let ffi_value = CString::new(value)?; + fn set_field>(&mut self, tag: i32, value: V) -> Result<(), QuickFixError> { + let ffi_value = CString::new(value.as_ref())?; ffi_code_to_result(unsafe { FixHeader_setField(self.0, tag, ffi_value.as_ptr()) }) } diff --git a/quickfix/src/lib.rs b/quickfix/src/lib.rs index 4ef53b7..40abeca 100644 --- a/quickfix/src/lib.rs +++ b/quickfix/src/lib.rs @@ -157,7 +157,7 @@ pub trait FieldMap { fn get_field(&self, tag: i32) -> Option; /// Set field value for a given tag number. - fn set_field(&mut self, tag: i32, value: &str) -> Result<(), QuickFixError>; + fn set_field>(&mut self, tag: i32, value: V) -> Result<(), QuickFixError>; /// Remove a field from collection. fn remove_field(&mut self, tag: i32) -> Result<(), QuickFixError>; diff --git a/quickfix/src/message.rs b/quickfix/src/message.rs index 30c7a52..04a7343 100644 --- a/quickfix/src/message.rs +++ b/quickfix/src/message.rs @@ -180,8 +180,8 @@ impl FieldMap for Message { unsafe { FixMessage_getField(self.0, tag) }.map(read_checked_cstr) } - fn set_field(&mut self, tag: i32, value: &str) -> Result<(), QuickFixError> { - let ffi_value = CString::new(value)?; + fn set_field>(&mut self, tag: i32, value: V) -> Result<(), QuickFixError> { + let ffi_value = CString::new(value.as_ref())?; ffi_code_to_result(unsafe { FixMessage_setField(self.0, tag, ffi_value.as_ptr()) }) } diff --git a/quickfix/src/trailer.rs b/quickfix/src/trailer.rs index 79a6043..50bd85c 100644 --- a/quickfix/src/trailer.rs +++ b/quickfix/src/trailer.rs @@ -25,8 +25,8 @@ impl FieldMap for Trailer { unsafe { FixTrailer_getField(self.0, tag) }.map(read_checked_cstr) } - fn set_field(&mut self, tag: i32, value: &str) -> Result<(), QuickFixError> { - let ffi_value = CString::new(value)?; + fn set_field>(&mut self, tag: i32, value: V) -> Result<(), QuickFixError> { + let ffi_value = CString::new(value.as_ref())?; ffi_code_to_result(unsafe { FixTrailer_setField(self.0, tag, ffi_value.as_ptr()) }) } diff --git a/quickfix/tests/utils/msg_const.rs b/quickfix/tests/utils/msg_const.rs index 5470d61..170c74d 100644 --- a/quickfix/tests/utils/msg_const.rs +++ b/quickfix/tests/utils/msg_const.rs @@ -17,11 +17,11 @@ pub fn build_news(headline: &str, lines: &[&str]) -> Result