diff --git a/Cranky.toml b/Cranky.toml index 4c304e692a..46788650ef 100644 --- a/Cranky.toml +++ b/Cranky.toml @@ -18,6 +18,9 @@ deny = [ "clippy::borrow_as_ptr", "clippy::borrow_deref_ref", + # Clippy async + "clippy::await_holding_lock", + # Clippy - performance "clippy::cmp_owned", "clippy::useless_vec", @@ -48,6 +51,7 @@ deny = [ # Possible: # "clippy::ptr_arg", # "clippy::too_many_lines" (note: this is configurable) + # "clippy::clone_on_copy", # Don't use clone() on Copy types ] warn = [ diff --git a/crates/lib/api_clients/cloud_storage/src/remote_file_manager/remote_cloud_file_manager.rs b/crates/lib/api_clients/cloud_storage/src/remote_file_manager/remote_cloud_file_manager.rs index 61e1f14e19..e7d4dd0eb7 100644 --- a/crates/lib/api_clients/cloud_storage/src/remote_file_manager/remote_cloud_file_manager.rs +++ b/crates/lib/api_clients/cloud_storage/src/remote_file_manager/remote_cloud_file_manager.rs @@ -1,4 +1,5 @@ use anyhow::anyhow; + use errors::AnyhowResult; use filesys::file_read_bytes::file_read_bytes; use filesys::file_size::file_size; @@ -12,7 +13,6 @@ use crate::remote_file_manager::remote_cloud_bucket_details::RemoteCloudBucketDe use super::file_descriptor::FileDescriptor; use super::file_meta_data::FileMetaData; - pub struct RemoteCloudFileClient { bucket_orchestration_client: Box } @@ -43,7 +43,7 @@ impl RemoteCloudFileClient { let file_descriptor = remote_cloud_bucket_details.file_descriptor_from_bucket_details(); let file_bucket_directory = FileBucketDirectory::from_existing_bucket_details(remote_cloud_bucket_details); let full_remote_cloud_file_path = file_bucket_directory.get_full_remote_cloud_file_path().to_string(); - let is_public = file_descriptor.is_public().clone(); + let is_public = file_descriptor.is_public(); self.bucket_orchestration_client.download_file_to_disk(full_remote_cloud_file_path, to_system_file_path, is_public).await?; Ok(()) @@ -105,6 +105,7 @@ impl RemoteCloudFileClient { mod tests { use async_trait::async_trait; use env_logger; + use errors::AnyhowResult; use crate::remote_file_manager::bucket_orchestration::BucketOrchestrationCore; diff --git a/crates/lib/caching/memory_caching/src/ttl_key_counter.rs b/crates/lib/caching/memory_caching/src/ttl_key_counter.rs index c14b589e5b..e2e02dc46e 100644 --- a/crates/lib/caching/memory_caching/src/ttl_key_counter.rs +++ b/crates/lib/caching/memory_caching/src/ttl_key_counter.rs @@ -30,7 +30,7 @@ impl TtlKeyCounter { Ok(0) } Some(count) => { - let return_count = count.clone(); + let return_count = *count; *count = count.saturating_add(1); Ok(return_count) } diff --git a/crates/lib/mysql_queries/src/queries/generic_inference/web/get_inference_job_status.rs b/crates/lib/mysql_queries/src/queries/generic_inference/web/get_inference_job_status.rs index dd13a620c0..e3c07c3cec 100644 --- a/crates/lib/mysql_queries/src/queries/generic_inference/web/get_inference_job_status.rs +++ b/crates/lib/mysql_queries/src/queries/generic_inference/web/get_inference_job_status.rs @@ -221,7 +221,7 @@ fn raw_record_to_public_result(record: RawGenericInferenceJobStatus) -> GenericI maybe_media_file_public_bucket_prefix: record.maybe_media_file_public_bucket_prefix.clone(), maybe_media_file_public_bucket_extension: record.maybe_media_file_public_bucket_extension.clone(), public_bucket_location_is_hash: bucket_path_is_hash, - maybe_successfully_completed_at: record.maybe_successfully_completed_at.clone(), + maybe_successfully_completed_at: record.maybe_successfully_completed_at, } }) }) diff --git a/crates/lib/mysql_queries/src/queries/tts/tts_results/insert_tts_result.rs b/crates/lib/mysql_queries/src/queries/tts/tts_results/insert_tts_result.rs index d0ccd75f5b..aeb7bb22a7 100644 --- a/crates/lib/mysql_queries/src/queries/tts/tts_results/insert_tts_result.rs +++ b/crates/lib/mysql_queries/src/queries/tts/tts_results/insert_tts_result.rs @@ -64,7 +64,7 @@ pub async fn insert_tts_result>( maybe_creator_user_token = tts_job.maybe_creator_user_token.clone(); tts_model_token = tts_job.model_token.clone(); creator_ip_address = tts_job.creator_ip_address.clone(); - creator_set_visibility = tts_job.creator_set_visibility.clone(); + creator_set_visibility = tts_job.creator_set_visibility; } JobType::GenericInferenceJob(generic_job) => { raw_inference_text = generic_job.maybe_raw_inference_text.as_deref() @@ -75,7 +75,7 @@ pub async fn insert_tts_result>( .unwrap_or("") .to_string(); creator_ip_address = generic_job.creator_ip_address.clone(); - creator_set_visibility = generic_job.creator_set_visibility.clone(); + creator_set_visibility = generic_job.creator_set_visibility; } } diff --git a/crates/lib/mysql_queries/src/queries/w2l/w2l_results/list_w2l_inference_results_query_builder.rs b/crates/lib/mysql_queries/src/queries/w2l/w2l_results/list_w2l_inference_results_query_builder.rs index ef871f4cd3..7c4e36d573 100644 --- a/crates/lib/mysql_queries/src/queries/w2l/w2l_results/list_w2l_inference_results_query_builder.rs +++ b/crates/lib/mysql_queries/src/queries/w2l/w2l_results/list_w2l_inference_results_query_builder.rs @@ -154,7 +154,7 @@ impl ListW2lResultsQueryBuilder { maybe_creator_user_token: r.maybe_creator_user_token.clone(), maybe_creator_username: r.maybe_creator_username.clone(), maybe_creator_display_name: r.maybe_creator_display_name.clone(), - maybe_creator_result_id: r.maybe_creator_result_id.map(|v| v as u64).clone(), + maybe_creator_result_id: r.maybe_creator_result_id.map(|v| v as u64), file_size_bytes: if r.file_size_bytes > 0 { r.file_size_bytes as u32 } else { 0 }, frame_width: if r.frame_width > 0 { r.frame_width as u32 } else { 0 }, frame_height: if r.frame_height > 0 { r.frame_height as u32 } else { 0 }, diff --git a/crates/lib/tts_common/src/text_pipelines/text_pipeline_type.rs b/crates/lib/tts_common/src/text_pipelines/text_pipeline_type.rs index 1a91a13795..e8bc751f13 100644 --- a/crates/lib/tts_common/src/text_pipelines/text_pipeline_type.rs +++ b/crates/lib/tts_common/src/text_pipelines/text_pipeline_type.rs @@ -93,7 +93,7 @@ impl TextPipelineType { TextPipelineType::SpanishV2 => TextPipelineType::LegacyFakeYou, TextPipelineType::SyntheticLegacyFakeYou2 => TextPipelineType::LegacyFakeYou, // Maintain original type for everything else - _ => self.clone(), + _ => *self, } } @@ -105,7 +105,7 @@ impl TextPipelineType { // with the mysterious "legacy_fakeyou_2". TextPipelineType::SpanishV2 => TextPipelineType::SyntheticLegacyFakeYou2, // Maintain original type for everything else - _ => self.clone(), + _ => *self, } } @@ -116,7 +116,7 @@ impl TextPipelineType { // and it should never be saved to the DB. TextPipelineType::SyntheticLegacyFakeYou2 => TextPipelineType::SpanishV2, // Maintain original type for everything else - _ => self.clone(), + _ => *self, } } }