aboutsummaryrefslogtreecommitdiff
path: root/src/primitive
diff options
context:
space:
mode:
authorMax Audron <me@audron.dev>2026-02-21 14:35:01 +0100
committerMax Audron <me@audron.dev>2026-02-21 14:35:01 +0100
commitf42ef4bec6d1c63c0d8564cfb06e996666dedbe3 (patch)
treee526bf4cae5ecf798469acc157b14122d4a5e25a /src/primitive
parentreplace all match_variant instances with try_into (diff)
clean up clippy lints
Diffstat (limited to 'src/primitive')
-rw-r--r--src/primitive/bufferid.rs2
-rw-r--r--src/primitive/bufferinfo.rs12
-rw-r--r--src/primitive/datetime.rs15
-rw-r--r--src/primitive/identityid.rs2
-rw-r--r--src/primitive/message.rs12
-rw-r--r--src/primitive/msgid.rs2
-rw-r--r--src/primitive/networkid.rs2
-rw-r--r--src/primitive/peerptr.rs2
-rw-r--r--src/primitive/string.rs16
-rw-r--r--src/primitive/stringlist.rs7
-rw-r--r--src/primitive/unsignedint.rs8
-rw-r--r--src/primitive/variant.rs24
-rw-r--r--src/primitive/variantlist.rs4
-rw-r--r--src/primitive/variantmap.rs6
14 files changed, 55 insertions, 59 deletions
diff --git a/src/primitive/bufferid.rs b/src/primitive/bufferid.rs
index 334e976..7d9b2bc 100644
--- a/src/primitive/bufferid.rs
+++ b/src/primitive/bufferid.rs
@@ -23,7 +23,7 @@ impl Serialize for BufferId {
impl Deserialize for BufferId {
fn parse(b: &[u8]) -> Result<(usize, Self), ProtocolError> {
let (size, value) = i32::parse(b)?;
- return Ok((size, BufferId(value)));
+ Ok((size, BufferId(value)))
}
}
diff --git a/src/primitive/bufferinfo.rs b/src/primitive/bufferinfo.rs
index 56d5cce..25edd0f 100644
--- a/src/primitive/bufferinfo.rs
+++ b/src/primitive/bufferinfo.rs
@@ -46,7 +46,7 @@ impl Deserialize for BufferInfo {
// TODO is groupid
let (size, name) = String::parse_utf8(&b[14..])?;
- return Ok((
+ Ok((
14 + size,
Self {
id,
@@ -54,7 +54,7 @@ impl Deserialize for BufferInfo {
buffer_type: BufferType::from(buffer_type),
name,
},
- ));
+ ))
}
}
@@ -75,10 +75,10 @@ pub enum BufferType {
impl From<i16> for BufferType {
fn from(value: i16) -> Self {
match value {
- 0x01 => return Self::Status,
- 0x02 => return Self::Channel,
- 0x04 => return Self::Query,
- 0x08 => return Self::Group,
+ 0x01 => Self::Status,
+ 0x02 => Self::Channel,
+ 0x04 => Self::Query,
+ 0x08 => Self::Group,
_ => unimplemented!(),
}
}
diff --git a/src/primitive/datetime.rs b/src/primitive/datetime.rs
index 42f6d14..13c367b 100644
--- a/src/primitive/datetime.rs
+++ b/src/primitive/datetime.rs
@@ -48,7 +48,7 @@ impl Serialize for OffsetDateTime {
fn serialize(&self) -> Result<Vec<u8>, ProtocolError> {
let mut values: Vec<u8> = Vec::new();
- values.extend(i32::serialize(&(self.date().to_julian_day() as i32))?);
+ values.extend(i32::serialize(&self.date().to_julian_day())?);
let time: i32 = {
let hour: i32 = self.time().hour() as i32;
@@ -82,21 +82,20 @@ impl Deserialize for OffsetDateTime {
return Ok((pos, OffsetDateTime::UNIX_EPOCH));
}
- let offset: UtcOffset;
- match zone {
+ let offset = match zone {
TimeSpec::LocalUnknown | TimeSpec::LocalStandard | TimeSpec::LocalDST => {
- offset = UtcOffset::current_local_offset().unwrap_or_else(|_| {
+ UtcOffset::current_local_offset().unwrap_or_else(|_| {
log::warn!("could not get local offset defaulting to utc");
UtcOffset::UTC
})
}
- TimeSpec::UTC => offset = UtcOffset::UTC,
+ TimeSpec::UTC => UtcOffset::UTC,
TimeSpec::OffsetFromUTC => {
let (_, tmp_offset) = i32::parse(&b[9..13])?;
pos += 4;
- offset = UtcOffset::from_whole_seconds(tmp_offset).unwrap_or(UtcOffset::UTC)
+ UtcOffset::from_whole_seconds(tmp_offset).unwrap_or(UtcOffset::UTC)
}
- }
+ };
let date = Date::from_julian_day(julian_day)?;
@@ -121,7 +120,7 @@ impl Serialize for Date {
fn serialize(&self) -> Result<Vec<std::primitive::u8>, ProtocolError> {
let mut values: Vec<u8> = Vec::new();
- values.extend(i32::serialize(&(self.to_julian_day() as i32))?);
+ values.extend(i32::serialize(&self.to_julian_day())?);
Ok(values)
}
diff --git a/src/primitive/identityid.rs b/src/primitive/identityid.rs
index 850cfb5..309bd29 100644
--- a/src/primitive/identityid.rs
+++ b/src/primitive/identityid.rs
@@ -20,7 +20,7 @@ impl Serialize for IdentityId {
impl Deserialize for IdentityId {
fn parse(b: &[u8]) -> Result<(usize, Self), ProtocolError> {
let (size, value) = i32::parse(b)?;
- return Ok((size, IdentityId(value)));
+ Ok((size, IdentityId(value)))
}
}
diff --git a/src/primitive/message.rs b/src/primitive/message.rs
index 624ff49..e558570 100644
--- a/src/primitive/message.rs
+++ b/src/primitive/message.rs
@@ -60,7 +60,7 @@ impl Serialize for Message {
values.append(&mut i32::serialize(&(self.timestamp as i32))?);
values.append(&mut i32::serialize(&(self.msg_type.bits()))?);
- values.append(&mut i8::serialize(&(self.flags as i8))?);
+ values.append(&mut i8::serialize(&self.flags)?);
values.append(&mut BufferInfo::serialize(&self.buffer)?);
values.append(&mut String::serialize_utf8(&self.sender)?);
@@ -75,7 +75,7 @@ impl Serialize for Message {
values.append(&mut String::serialize_utf8(&self.content)?);
- return Ok(values);
+ Ok(values)
}
}
@@ -138,7 +138,7 @@ impl Deserialize for Message {
let (parsed, content) = String::parse_utf8(&b[pos..])?;
pos += parsed;
- return Ok((
+ Ok((
pos,
Self {
msg_id,
@@ -155,7 +155,7 @@ impl Deserialize for Message {
avatar_url,
content,
},
- ));
+ ))
}
}
@@ -203,7 +203,7 @@ where
res.push((*v).clone().bits().into());
});
- return res;
+ res
}
fn from_network_list(input: &mut VariantList) -> Self {
@@ -224,7 +224,7 @@ where
);
});
- return res;
+ res
}
}
diff --git a/src/primitive/msgid.rs b/src/primitive/msgid.rs
index 9ae8d9c..dcf9727 100644
--- a/src/primitive/msgid.rs
+++ b/src/primitive/msgid.rs
@@ -27,7 +27,7 @@ impl Deserialize for MsgId {
let (size, value) = i32::parse(b)?;
#[cfg(feature = "long-message-id")]
let (size, value) = i64::parse(b)?;
- return Ok((size, MsgId(value)));
+ Ok((size, MsgId(value)))
}
}
diff --git a/src/primitive/networkid.rs b/src/primitive/networkid.rs
index 1cfff61..6eead73 100644
--- a/src/primitive/networkid.rs
+++ b/src/primitive/networkid.rs
@@ -20,7 +20,7 @@ impl Serialize for NetworkId {
impl Deserialize for NetworkId {
fn parse(b: &[u8]) -> Result<(usize, Self), ProtocolError> {
let (size, value) = i32::parse(b)?;
- return Ok((size, NetworkId(value)));
+ Ok((size, NetworkId(value)))
}
}
diff --git a/src/primitive/peerptr.rs b/src/primitive/peerptr.rs
index 499be41..f5fc042 100644
--- a/src/primitive/peerptr.rs
+++ b/src/primitive/peerptr.rs
@@ -23,7 +23,7 @@ impl Serialize for PeerPtr {
impl Deserialize for PeerPtr {
fn parse(b: &[u8]) -> Result<(usize, Self), crate::error::ProtocolError> {
let (size, value) = i64::parse(b)?;
- return Ok((size, PeerPtr(value)));
+ Ok((size, PeerPtr(value)))
}
}
diff --git a/src/primitive/string.rs b/src/primitive/string.rs
index 7f8ec58..0d3e344 100644
--- a/src/primitive/string.rs
+++ b/src/primitive/string.rs
@@ -14,7 +14,7 @@ impl Deserialize for char {
let (slen, qchar): (usize, u16) = u16::parse(&b[0..2])?;
let qchar = char::from_u32(qchar as u32).ok_or(ProtocolError::CharError)?;
- return Ok((slen, qchar));
+ Ok((slen, qchar))
}
}
@@ -23,7 +23,7 @@ impl Serialize for char {
let mut b = [0, 0];
self.encode_utf16(&mut b);
- return Ok(b[0].to_be_bytes().to_vec());
+ Ok(b[0].to_be_bytes().to_vec())
}
}
@@ -55,13 +55,13 @@ impl VariantType for String {
/// Strings can only be serialized as UTF-8 null-terminated ByteArrays with (de)serialize_utf8().
impl Serialize for &str {
fn serialize(&self) -> Result<Vec<u8>, ProtocolError> {
- let mut res: Vec<u8> = Vec::new();
+ let mut res = Vec::new();
self.encode_utf16()
.for_each(|i| res.extend(i.to_be_bytes().iter()));
util::prepend_byte_len(&mut res);
- return Ok(res);
+ Ok(res)
}
}
@@ -70,7 +70,7 @@ impl SerializeUTF8 for &str {
let mut res: Vec<u8> = Vec::new();
res.extend(self.bytes());
util::prepend_byte_len(&mut res);
- return Ok(res);
+ Ok(res)
}
}
@@ -101,7 +101,7 @@ impl Deserialize for String {
let res: String = String::from_utf16(&chars).unwrap();
trace!("parsed string: {}", res);
- return Ok((pos, res));
+ Ok((pos, res))
}
}
@@ -123,14 +123,14 @@ impl DeserializeUTF8 for String {
// If the last byte is zero remove it
// Receiving a string as bytearray will sometimes have
// the string null terminated
- if res.chars().last().unwrap() == '\u{0}' {
+ if res.ends_with('\u{0}') {
let _ = res.pop();
}
trace!("parsed string after trunc: {}", res);
trace!("parsed bytes: {:x?}", &b[0..ulen]);
- return Ok((ulen + 4, res));
+ Ok((ulen + 4, res))
}
}
diff --git a/src/primitive/stringlist.rs b/src/primitive/stringlist.rs
index 292557f..c4ce733 100644
--- a/src/primitive/stringlist.rs
+++ b/src/primitive/stringlist.rs
@@ -24,7 +24,7 @@ impl Serialize for StringList {
res.extend(x.serialize()?);
}
- return Ok(res);
+ Ok(res)
}
}
@@ -43,7 +43,7 @@ impl Deserialize for StringList {
}
}
- return Ok((pos, res));
+ Ok((pos, res))
}
}
@@ -70,8 +70,7 @@ pub fn string_list_deserialize() {
0, 0, 0, 1, 0, 0, 0, 20, 0, 67, 0, 111, 0, 110, 0, 102, 0, 105, 0, 103, 0, 117, 0, 114, 0, 101, 0,
100, 0, 0, 0, 1,
];
- let mut test_list = StringList::new();
- test_list.push("Configured".to_string());
+ let test_list = vec!["Configured".to_string()];
let (len, res) = StringList::parse(test_bytes).unwrap();
assert_eq!(len, 28);
assert_eq!(test_list, res);
diff --git a/src/primitive/unsignedint.rs b/src/primitive/unsignedint.rs
index a51ca6f..8176a9d 100644
--- a/src/primitive/unsignedint.rs
+++ b/src/primitive/unsignedint.rs
@@ -44,7 +44,7 @@ impl Serialize for u64 {
impl Deserialize for u64 {
fn parse(b: &[u8]) -> Result<(usize, Self), ProtocolError> {
let mut rdr = Cursor::new(&b[0..8]);
- return Ok((8, rdr.read_u64::<BigEndian>()?));
+ Ok((8, rdr.read_u64::<BigEndian>()?))
}
}
@@ -61,7 +61,7 @@ impl Serialize for u32 {
impl Deserialize for u32 {
fn parse(b: &[u8]) -> Result<(usize, Self), ProtocolError> {
let mut rdr = Cursor::new(&b[0..4]);
- return Ok((4, rdr.read_u32::<BigEndian>()?));
+ Ok((4, rdr.read_u32::<BigEndian>()?))
}
}
@@ -78,7 +78,7 @@ impl Serialize for u16 {
impl Deserialize for u16 {
fn parse(b: &[u8]) -> Result<(usize, Self), ProtocolError> {
let mut rdr = Cursor::new(&b[0..2]);
- return Ok((2, rdr.read_u16::<BigEndian>()?));
+ Ok((2, rdr.read_u16::<BigEndian>()?))
}
}
@@ -94,7 +94,7 @@ impl Serialize for u8 {
impl Deserialize for u8 {
fn parse(b: &[u8]) -> Result<(usize, Self), ProtocolError> {
- return Ok((1, b[0]));
+ Ok((1, b[0]))
}
}
diff --git a/src/primitive/variant.rs b/src/primitive/variant.rs
index 61e6752..14a96a7 100644
--- a/src/primitive/variant.rs
+++ b/src/primitive/variant.rs
@@ -100,7 +100,7 @@ where
res.push((*v).clone().into());
});
- return res;
+ res
}
fn from_network_list(input: &mut VariantList) -> Self {
@@ -119,7 +119,7 @@ where
);
});
- return res;
+ res
}
}
@@ -136,12 +136,12 @@ where
res.insert(k.clone(), (*v).clone().into());
});
- return res;
+ res
}
fn from_network_map(input: &mut Self::Item) -> Self {
input
- .into_iter()
+ .iter_mut()
.map(|(k, v)| {
(
k.clone(),
@@ -217,14 +217,14 @@ impl Deserialize for Variant {
let len = 5;
match qtype {
- VariantMap::TYPE => return VariantMap::parse_variant(b, len),
- VariantList::TYPE => return VariantList::parse_variant(b, len),
- char::TYPE => return char::parse_variant(b, len),
+ VariantMap::TYPE => VariantMap::parse_variant(b, len),
+ VariantList::TYPE => VariantList::parse_variant(b, len),
+ char::TYPE => char::parse_variant(b, len),
String::TYPE => String::parse_variant(b, len),
primitive::QBYTEARRAY => {
trace!(target: "primitive::Variant", "Parsing Variant: ByteArray");
let (vlen, value) = String::parse_utf8(&b[len..])?;
- return Ok((len + vlen, Variant::ByteArray(value.clone())));
+ Ok((len + vlen, Variant::ByteArray(value.clone())))
}
StringList::TYPE => StringList::parse_variant(b, len),
DateTime::TYPE => DateTime::parse_variant(b, len),
@@ -265,7 +265,7 @@ impl Deserialize for Variant {
}
err => {
error!(target: "parser", "UnknownVariant: {:x?}", err);
- return Err(ProtocolError::UnknownVariant);
+ Err(ProtocolError::UnknownVariant)
}
}
}
@@ -392,8 +392,7 @@ mod tests {
#[test]
pub fn variantlist_serialize() {
- let mut test_variantlist = VariantList::new();
- test_variantlist.push(Variant::bool(true));
+ let test_variantlist = vec![Variant::bool(true)];
assert_eq!(
test_variantlist.serialize().unwrap(),
[0, 0, 0, 1, 0, 0, 0, 1, 0, 1]
@@ -404,8 +403,7 @@ mod tests {
pub fn variantlist_deserialize() {
let test_bytes: &[u8] = &[0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1];
let (len, res) = VariantList::parse(test_bytes).unwrap();
- let mut test_variantlist = VariantList::new();
- test_variantlist.push(Variant::bool(true));
+ let test_variantlist = vec![Variant::bool(true)];
assert_eq!(len, 10);
assert_eq!(res, test_variantlist);
}
diff --git a/src/primitive/variantlist.rs b/src/primitive/variantlist.rs
index 20913ff..2b5d58e 100644
--- a/src/primitive/variantlist.rs
+++ b/src/primitive/variantlist.rs
@@ -24,7 +24,7 @@ impl Serialize for VariantList {
res.extend(v.serialize()?.iter());
}
- return Ok(res);
+ Ok(res)
}
}
@@ -43,7 +43,7 @@ impl Deserialize for VariantList {
pos += vlen;
}
- return Ok((pos, res));
+ Ok((pos, res))
}
}
diff --git a/src/primitive/variantmap.rs b/src/primitive/variantmap.rs
index 4953f25..f84afd2 100644
--- a/src/primitive/variantmap.rs
+++ b/src/primitive/variantmap.rs
@@ -17,7 +17,7 @@ use crate::serialize::VariantType;
pub type VariantMap = HashMap<String, Variant>;
impl Serialize for VariantMap {
- fn serialize<'a>(&'a self) -> Result<Vec<u8>, ProtocolError> {
+ fn serialize(&self) -> Result<Vec<u8>, ProtocolError> {
let mut res: Vec<u8> = Vec::new();
for (k, v) in self {
@@ -28,7 +28,7 @@ impl Serialize for VariantMap {
let len: i32 = self.len().try_into()?;
util::insert_bytes(0, &mut res, &mut len.to_be_bytes());
- return Ok(res);
+ Ok(res)
}
}
@@ -51,7 +51,7 @@ impl Deserialize for VariantMap {
map.insert(name, value);
}
- return Ok((pos, map));
+ Ok((pos, map))
}
}