--- a/crates/fleet-base/src/deploy.rs +++ b/crates/fleet-base/src/deploy.rs @@ -235,17 +235,12 @@ error!("failed to disarm rollback run: {e}"); } } - } else { - match host - .rm_file("/etc/fleet_rollback_marker", true) - .in_current_span() - .await - { - Err(_e) => { - // Marker might not exist, yet better try to remove it. - } - _ => {} - } + } else if let Err(_e) = host + .rm_file("/etc/fleet_rollback_marker", true) + .in_current_span() + .await + { + // Marker might not exist, yet better try to remove it. } } Ok(()) --- a/crates/fleet-base/src/host.rs +++ b/crates/fleet-base/src/host.rs @@ -214,13 +214,11 @@ pub fn set_session_destination(&self, dest: String) { self.session_destination .set(dest) - .ok() .expect("session destination is already set") } pub fn set_deploy_kind(&self, kind: DeployKind) { self.deploy_kind .set(kind) - .ok() .expect("deploy kind is already set"); } pub async fn deploy_kind(&self) -> Result { @@ -568,6 +566,7 @@ local: true, session: OnceLock::new(), deploy_kind: OnceCell::new(), + session_destination: OnceCell::new(), } } @@ -588,6 +587,7 @@ local: self.localhost == name, session: OnceLock::new(), deploy_kind: OnceCell::new(), + session_destination: OnceCell::new(), }) } pub async fn list_hosts(&self) -> Result> { --- a/crates/fleet-shared/src/encoding.rs +++ b/crates/fleet-shared/src/encoding.rs @@ -51,10 +51,10 @@ }; let data = if let Some(unprefixed) = string.strip_prefix(BASE64_ENCODED_PREFIX) { STANDARD_NO_PAD - .decode(unprefixed.replace(|v| matches!(v, '\n' | '\t' | ' '), "")) + .decode(unprefixed.replace(['\n', '\t', ' '], "")) .map_err(|e| format!("base64-encoded failed: {e}"))? } else if let Some(unprefixed) = string.strip_prefix(Z85_ENCODED_PREFIX) { - z85::decode(unprefixed.replace(|v| matches!(v, '\n' | '\t' | ' '), "")) + z85::decode(unprefixed.replace(['\n', '\t', ' '], "")) .map_err(|e| format!("z85-encoded failed: {e}"))? } else if let Some(unprefixed) = string.strip_prefix(PLAINTEXT_NEWLINE_PREFIX) { unprefixed.as_bytes().to_owned() --- a/crates/nixlike/src/lib.rs +++ b/crates/nixlike/src/lib.rs @@ -138,7 +138,7 @@ } } - let key = k.into_iter().last().unwrap(); + let key = k.into_iter().next_back().unwrap(); if map.contains_key(&key) { return Err("can't override object"); } --- a/crates/nixlike/src/se_impl.rs +++ b/crates/nixlike/src/se_impl.rs @@ -27,9 +27,10 @@ type Error = Error; - fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> where T: serde::Serialize, + T: ?Sized, { self.0.push(value.serialize(MySerialize)?); Ok(()) @@ -44,9 +45,10 @@ type Error = Error; - fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> where T: serde::Serialize, + T: ?Sized, { self.0.push(value.serialize(MySerialize)?); Ok(()) @@ -61,9 +63,10 @@ type Error = Error; - fn serialize_field(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_field(&mut self, value: &T) -> Result<(), Self::Error> where T: serde::Serialize, + T: ?Sized, { self.0.push(value.serialize(MySerialize)?); Ok(()) @@ -81,9 +84,10 @@ type Error = Error; - fn serialize_field(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_field(&mut self, value: &T) -> Result<(), Self::Error> where T: serde::Serialize, + T: ?Sized, { self.1.serialize_field(value) } @@ -102,9 +106,10 @@ type Error = Error; - fn serialize_key(&mut self, key: &T) -> Result<(), Self::Error> + fn serialize_key(&mut self, key: &T) -> Result<(), Self::Error> where T: serde::Serialize, + T: ?Sized, { let _ = self .1 @@ -112,9 +117,10 @@ Ok(()) } - fn serialize_value(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_value(&mut self, value: &T) -> Result<(), Self::Error> where T: serde::Serialize, + T: ?Sized, { self.0 .insert(self.1.take().unwrap(), value.serialize(MySerialize)?); @@ -133,9 +139,10 @@ type Error = Error; - fn serialize_field(&mut self, key: &str, value: &T) -> Result<(), Self::Error> + fn serialize_field(&mut self, key: &str, value: &T) -> Result<(), Self::Error> where T: serde::Serialize, + T: ?Sized, { self.0.insert(key.to_owned(), value.serialize(MySerialize)?); Ok(()) @@ -153,13 +160,10 @@ type Error = Error; - fn serialize_field( - &mut self, - key: &'static str, - value: &T, - ) -> Result<(), Self::Error> + fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<(), Self::Error> where T: serde::Serialize, + T: ?Sized, { self.1.insert(key.to_owned(), value.serialize(MySerialize)?); Ok(()) @@ -253,9 +257,10 @@ Ok(Value::Null) } - fn serialize_some(self, value: &T) -> Result + fn serialize_some(self, value: &T) -> Result where T: serde::Serialize, + T: ?Sized, { value.serialize(self) } @@ -277,18 +282,19 @@ Ok(Value::String(variant.to_string())) } - fn serialize_newtype_struct( + fn serialize_newtype_struct( self, _name: &'static str, value: &T, ) -> Result where T: serde::Serialize, + T: ?Sized, { value.serialize(self) } - fn serialize_newtype_variant( + fn serialize_newtype_variant( self, _name: &'static str, _variant_index: u32, @@ -297,6 +303,7 @@ ) -> Result where T: serde::Serialize, + T: ?Sized, { Ok(Value::Object( vec![(variant.to_string(), value.serialize(self)?)]