From 59a1c06165d830288f5862cc32d9f9fbe4344da7 Mon Sep 17 00:00:00 2001 From: Jan-Niklas Burfeind Date: Wed, 26 Jun 2024 15:58:01 +0200 Subject: [PATCH] refactor: Omit unnecessary type casts on same types --- lib/src/core/mod.rs | 2 +- lib/src/server/address_space/address_space.rs | 2 +- lib/src/server/address_space/variable.rs | 7 +------ lib/src/server/server.rs | 6 +++--- lib/src/types/node_id.rs | 2 +- lib/src/types/variant.rs | 6 +++--- samples/simple-server/src/main.rs | 4 ++-- 7 files changed, 12 insertions(+), 17 deletions(-) diff --git a/lib/src/core/mod.rs b/lib/src/core/mod.rs index 628c8391e..ca93982c9 100644 --- a/lib/src/core/mod.rs +++ b/lib/src/core/mod.rs @@ -68,7 +68,7 @@ pub mod debug { let mut hex_line = format!("{:08x}: ", 0); for (i, b) in buf.iter().enumerate() { - let value = *b as u8; + let value = { *b }; if i > 0 && i % line_len == 0 { trace!(target: "hex", "{} {}", hex_line, char_line); hex_line = format!("{:08}: ", i); diff --git a/lib/src/server/address_space/address_space.rs b/lib/src/server/address_space/address_space.rs index 9fc7ff24f..5b64e7827 100644 --- a/lib/src/server/address_space/address_space.rs +++ b/lib/src/server/address_space/address_space.rs @@ -332,7 +332,7 @@ impl AddressSpace { ); self.set_variable_value( Server_ServerCapabilities_MinSupportedSampleRate, - constants::MIN_SAMPLING_INTERVAL as f64, + constants::MIN_SAMPLING_INTERVAL, &now, &now, ); diff --git a/lib/src/server/address_space/variable.rs b/lib/src/server/address_space/variable.rs index fb4becfd4..42149586e 100644 --- a/lib/src/server/address_space/variable.rs +++ b/lib/src/server/address_space/variable.rs @@ -410,12 +410,7 @@ impl Variable { if let Some(ref array_dimensions) = array.dimensions { // Multidimensional arrays encode/decode dimensions with Int32 in Part 6, but arrayDimensions in Part 3 // wants them as u32. Go figure... So convert Int32 to u32 - Some( - array_dimensions - .iter() - .map(|v| *v as u32) - .collect::>(), - ) + Some(array_dimensions.iter().map(|v| *v).collect::>()) } else { Some(vec![array.values.len() as u32]) } diff --git a/lib/src/server/server.rs b/lib/src/server/server.rs index 7475f81b0..4bb666000 100644 --- a/lib/src/server/server.rs +++ b/lib/src/server/server.rs @@ -105,9 +105,9 @@ impl Server { "opc.tcp://{}:{}", config.tcp_config.host, config.tcp_config.port ); - let max_subscriptions = config.limits.max_subscriptions as usize; - let max_monitored_items_per_sub = config.limits.max_monitored_items_per_sub as usize; - let max_monitored_item_queue_size = config.limits.max_monitored_item_queue_size as usize; + let max_subscriptions = config.limits.max_subscriptions; + let max_monitored_items_per_sub = config.limits.max_monitored_items_per_sub; + let max_monitored_item_queue_size = config.limits.max_monitored_item_queue_size; let diagnostics = Arc::new(RwLock::new(ServerDiagnostics::default())); let min_publishing_interval_ms = config.limits.min_publishing_interval * 1000.0; diff --git a/lib/src/types/node_id.rs b/lib/src/types/node_id.rs index 5edce75d8..aa495a04e 100644 --- a/lib/src/types/node_id.rs +++ b/lib/src/types/node_id.rs @@ -74,7 +74,7 @@ impl From for Identifier { impl From for Identifier { fn from(v: u32) -> Self { - Identifier::Numeric(v as u32) + Identifier::Numeric(v) } } diff --git a/lib/src/types/variant.rs b/lib/src/types/variant.rs index 4c87ae837..99412995f 100644 --- a/lib/src/types/variant.rs +++ b/lib/src/types/variant.rs @@ -706,7 +706,7 @@ impl fmt::Display for Variant { impl Variant { /// Test the flag (convenience method) pub fn test_encoding_flag(encoding_mask: u8, flag: u8) -> bool { - encoding_mask == flag as u8 + encoding_mask == flag } /// Returns the length of just the value, not the encoding flag @@ -1189,7 +1189,7 @@ impl Variant { Variant::StatusCode(v) => match target_type { VariantTypeId::Int32 => (v.bits() as i32).into(), VariantTypeId::Int64 => (v.bits() as i64).into(), - VariantTypeId::UInt32 => (v.bits() as u32).into(), + VariantTypeId::UInt32 => v.bits().into(), VariantTypeId::UInt64 => (v.bits() as u64).into(), _ => Variant::Empty, }, @@ -1637,7 +1637,7 @@ impl Variant { } else { max }; - let values = &values[min as usize..=max]; + let values = &values[min..=max]; let values: Vec = values.to_vec(); Ok(Variant::from((array.value_type, values))) } diff --git a/samples/simple-server/src/main.rs b/samples/simple-server/src/main.rs index 69de3d163..2cc624542 100644 --- a/samples/simple-server/src/main.rs +++ b/samples/simple-server/src/main.rs @@ -56,7 +56,7 @@ fn add_example_variables(server: &mut Server, ns: u16) { // Add some variables to our sample folder. Values will be overwritten by the timer let _ = address_space.add_variables( vec![ - Variable::new(&v1_node, "v1", "v1", 0 as i32), + Variable::new(&v1_node, "v1", "v1", 0_i32), Variable::new(&v2_node, "v2", "v2", false), Variable::new(&v3_node, "v3", "v3", UAString::from("")), Variable::new(&v4_node, "v4", "v4", 0f64), @@ -118,7 +118,7 @@ fn add_example_variables(server: &mut Server, ns: u16) { data.1 = !data.1; let mut address_space = address_space.write(); let now = DateTime::now(); - let _ = address_space.set_variable_value(v1_node.clone(), data.0 as i32, &now, &now); + let _ = address_space.set_variable_value(v1_node.clone(), data.0, &now, &now); let _ = address_space.set_variable_value(v2_node.clone(), data.1, &now, &now); }); }