diff --git a/Cargo.toml b/Cargo.toml index 5764c9a6..0d567172 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,6 +35,7 @@ impl_trait_in_params = "warn" let_underscore_must_use = "warn" lossy_float_literal = "warn" mem_forget = "warn" +missing_assert_message = "warn" mod_module_files = "warn" mutex_atomic = "warn" negative_feature_names = "warn" diff --git a/src/database.rs b/src/database.rs index 7bc56703..94509c79 100644 --- a/src/database.rs +++ b/src/database.rs @@ -929,7 +929,8 @@ impl KeyValueDatabase { assert_eq!( services().globals.database_version().unwrap(), - latest_database_version + latest_database_version, + "database should be migrated to the current version", ); info!( diff --git a/src/database/key_value/users.rs b/src/database/key_value/users.rs index 0e6db83a..91691b01 100644 --- a/src/database/key_value/users.rs +++ b/src/database/key_value/users.rs @@ -198,8 +198,10 @@ impl service::users::Data for KeyValueDatabase { token: &str, initial_device_display_name: Option, ) -> Result<()> { - // This method should never be called for nonexistent users. - assert!(self.exists(user_id)?); + assert!( + self.exists(user_id)?, + "user must exist before calling this method" + ); let mut userdeviceid = user_id.as_bytes().to_vec(); userdeviceid.push(0xff); @@ -285,8 +287,10 @@ impl service::users::Data for KeyValueDatabase { userdeviceid.push(0xff); userdeviceid.extend_from_slice(device_id.as_bytes()); - // All devices have metadata - assert!(self.userdeviceid_metadata.get(&userdeviceid)?.is_some()); + assert!( + self.userdeviceid_metadata.get(&userdeviceid)?.is_some(), + "devices should have metadata" + ); // Remove old token if let Some(old_token) = self.userdeviceid_token.get(&userdeviceid)? { @@ -314,9 +318,10 @@ impl service::users::Data for KeyValueDatabase { key.push(0xff); key.extend_from_slice(device_id.as_bytes()); - // All devices have metadata - // Only existing devices should be able to call this. - assert!(self.userdeviceid_metadata.get(&key)?.is_some()); + assert!( + self.userdeviceid_metadata.get(&key)?.is_some(), + "devices should have metadata and this method should only be called with existing devices" + ); key.push(0xff); // TODO: Use DeviceKeyId::to_string when it's available (and update everything, @@ -852,8 +857,10 @@ impl service::users::Data for KeyValueDatabase { userdeviceid.push(0xff); userdeviceid.extend_from_slice(device_id.as_bytes()); - // Only existing devices should be able to call this. - assert!(self.userdeviceid_metadata.get(&userdeviceid)?.is_some()); + assert!( + self.userdeviceid_metadata.get(&userdeviceid)?.is_some(), + "this method should only be called with existing devices" + ); self.userid_devicelistversion .increment(user_id.as_bytes())?;