diff options
| author | Max Audron <me@audron.dev> | 2026-02-22 18:00:41 +0100 |
|---|---|---|
| committer | Max Audron <me@audron.dev> | 2026-02-22 18:00:41 +0100 |
| commit | cae6008c036a4fe690ef1b87d0c953fd05d9d4a6 (patch) | |
| tree | a201ef89c87d2e8774b21a515031b0330f23f3ba /src/message/signalproxy/objects | |
| parent | improve network from_network_list impl (diff) | |
we do not need to reference stuff here and can just consume it
Diffstat (limited to '')
| -rw-r--r-- | src/message/signalproxy/objects/aliasmanager.rs | 2 | ||||
| -rw-r--r-- | src/message/signalproxy/objects/buffersyncer.rs | 2 | ||||
| -rw-r--r-- | src/message/signalproxy/objects/bufferviewmanager.rs | 6 | ||||
| -rw-r--r-- | src/message/signalproxy/objects/highlightrulemanager.rs | 8 | ||||
| -rw-r--r-- | src/message/signalproxy/objects/mod.rs | 2 | ||||
| -rw-r--r-- | src/message/signalproxy/objects/network.rs | 12 | ||||
| -rw-r--r-- | src/message/signalproxy/objects/networkinfo.rs | 4 |
7 files changed, 19 insertions, 17 deletions
diff --git a/src/message/signalproxy/objects/aliasmanager.rs b/src/message/signalproxy/objects/aliasmanager.rs index 7bd3ea3..ae6e734 100644 --- a/src/message/signalproxy/objects/aliasmanager.rs +++ b/src/message/signalproxy/objects/aliasmanager.rs @@ -133,7 +133,7 @@ mod tests { #[test] fn aliasmanager_from_network() { assert_eq!( - AliasManager::from_network_list(&mut get_dest()).unwrap(), + AliasManager::from_network_list(get_dest()).unwrap(), get_src() ) } diff --git a/src/message/signalproxy/objects/buffersyncer.rs b/src/message/signalproxy/objects/buffersyncer.rs index 4fd0318..2ca2155 100644 --- a/src/message/signalproxy/objects/buffersyncer.rs +++ b/src/message/signalproxy/objects/buffersyncer.rs @@ -312,7 +312,7 @@ mod tests { #[test] fn buffersyncer_from_network() { assert_eq!( - BufferSyncer::from_network_list(&mut get_network()).unwrap(), + BufferSyncer::from_network_list(get_network()).unwrap(), get_runtime() ) } diff --git a/src/message/signalproxy/objects/bufferviewmanager.rs b/src/message/signalproxy/objects/bufferviewmanager.rs index 5942375..25401ba 100644 --- a/src/message/signalproxy/objects/bufferviewmanager.rs +++ b/src/message/signalproxy/objects/bufferviewmanager.rs @@ -144,9 +144,9 @@ impl super::NetworkList for BufferViewManager { ]) } - fn from_network_list(input: &mut VariantList) -> Result<Self> { - let mut i = input.iter(); - i.position(|x| *x == Variant::ByteArray(String::from("BufferViewIds"))) + fn from_network_list(input: VariantList) -> Result<Self> { + let mut i = input.into_iter(); + i.position(|x| x == Variant::ByteArray(String::from("BufferViewIds"))) .expect("failed to get field BufferViewIds"); let ids = match i.next().expect("failed to get next field") { diff --git a/src/message/signalproxy/objects/highlightrulemanager.rs b/src/message/signalproxy/objects/highlightrulemanager.rs index 948f08a..c694a4c 100644 --- a/src/message/signalproxy/objects/highlightrulemanager.rs +++ b/src/message/signalproxy/objects/highlightrulemanager.rs @@ -277,14 +277,14 @@ mod tests { vec![ Variant::ByteArray(s!("HighlightRuleList")), Variant::VariantMap(map! { - s!("id") => Variant::VariantList(vec![Variant::i32(1)]), - s!("name") => Variant::StringList(vec![s!("testrule")]), - s!("isRegEx") => Variant::VariantList(vec![Variant::bool(false)]), s!("isCaseSensitive") => Variant::VariantList(vec![Variant::bool(false)]), s!("isEnabled") => Variant::VariantList(vec![Variant::bool(true)]), s!("isInverse") => Variant::VariantList(vec![Variant::bool(false)]), + s!("id") => Variant::VariantList(vec![Variant::i32(1)]), s!("sender") => Variant::StringList(vec![s!("testuser")]), s!("channel") => Variant::StringList(vec![s!("#test")]), + s!("name") => Variant::StringList(vec![s!("testrule")]), + s!("isRegEx") => Variant::VariantList(vec![Variant::bool(false)]), }), Variant::ByteArray(s!("highlightNick")), Variant::i32(1), @@ -318,7 +318,7 @@ mod tests { #[test] fn highlightrulemanager_from_network() { assert_eq!( - HighlightRuleManager::from_network_list(&mut get_network()).unwrap(), + HighlightRuleManager::from_network_list(get_network()).unwrap(), get_runtime() ) } diff --git a/src/message/signalproxy/objects/mod.rs b/src/message/signalproxy/objects/mod.rs index a196add..b478989 100644 --- a/src/message/signalproxy/objects/mod.rs +++ b/src/message/signalproxy/objects/mod.rs @@ -98,7 +98,7 @@ impl Types { }) } - pub fn from_network(class_name: &str, object_name: &str, input: &mut VariantList) -> Result<Self> { + pub fn from_network(class_name: &str, object_name: &str, mut input: VariantList) -> Result<Self> { debug!("converting {} from network object: {:#?}", class_name, input); Ok(match class_name { "AliasManager" => Types::AliasManager(Box::new(AliasManager::from_network_list(input)?)), diff --git a/src/message/signalproxy/objects/network.rs b/src/message/signalproxy/objects/network.rs index 996dd80..6638996 100644 --- a/src/message/signalproxy/objects/network.rs +++ b/src/message/signalproxy/objects/network.rs @@ -54,6 +54,7 @@ impl Network { /// The `channel_modes` field is populated by the ``supports["CHANMODES"]` string, /// which is represented as the channel mode types a,b,c,d in a comma sepperated string. + #[allow(dead_code)] fn determine_channel_mode_types(&mut self) { let mut modes: Vec<&str> = self.supports.get("CHANMODES").unwrap().split(',').collect(); @@ -67,6 +68,7 @@ impl Network { .insert(ChannelModeType::AChanmode, modes.pop().unwrap().to_owned()); } + #[allow(dead_code)] fn determine_prefixes(&mut self) { let default_prefixes = vec!['~', '&', '@', '%', '+']; let default_prefix_modes = vec!['q', 'a', 'o', 'h', 'v']; @@ -369,14 +371,14 @@ impl crate::message::signalproxy::NetworkList for Network { } // TODO VariantList -> VariantMap conversion - fn from_network_list(input: &mut VariantList) -> Result<Self> { + fn from_network_list(input: VariantList) -> Result<Self> { let mut i = input.into_iter(); let mut map: VariantMap = VariantMap::new(); while let Some(key) = i.next() { - let key: String = key.clone().try_into()?; + let key: String = key.try_into()?; let value = i.next().ok_or(ProtocolError::MissingField(key.clone()))?; - map.insert(key, value.clone()); + map.insert(key, value); } Self::from_network_map(&mut map) @@ -552,8 +554,8 @@ impl NetworkList for Vec<NetworkServer> { Ok(self.iter().map(|b| Variant::NetworkServer(b.clone())).collect()) } - fn from_network_list(input: &mut super::VariantList) -> Result<Self> { - Ok(input.iter().map(|b| b.try_into().unwrap()).collect()) + fn from_network_list(input: super::VariantList) -> Result<Self> { + Ok(input.into_iter().map(|b| b.try_into().unwrap()).collect()) } } diff --git a/src/message/signalproxy/objects/networkinfo.rs b/src/message/signalproxy/objects/networkinfo.rs index 1a41f84..fe98eda 100644 --- a/src/message/signalproxy/objects/networkinfo.rs +++ b/src/message/signalproxy/objects/networkinfo.rs @@ -212,7 +212,7 @@ mod tests { #[test] fn networkinfo_from_network() { assert_eq!( - NetworkInfo::from_network_list(&mut get_network()).unwrap(), + NetworkInfo::from_network_list(get_network()).unwrap(), get_runtime() ); @@ -221,7 +221,7 @@ mod tests { network.remove(20); network.remove(20); - let left = NetworkInfo::from_network_list(&mut network).unwrap(); + let left = NetworkInfo::from_network_list(network).unwrap(); assert_eq!(left.network_id, NetworkId(0)); } } |
