diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-03-20 21:54:29 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-03-20 21:57:49 +0800 |
| commit | 9a60751a901f568bdeb154c4115235d4f3a0f8b9 (patch) | |
| tree | 65df323f6478bae51473a3d6471df39a596ce9c5 /systems/_asset | |
| parent | a9e5c086584d3e697188be7003f564e7e2137135 (diff) | |
Apply clippy suggestions and improve code quality
Diffstat (limited to 'systems/_asset')
| -rw-r--r-- | systems/_asset/src/asset.rs | 37 | ||||
| -rw-r--r-- | systems/_asset/src/rw.rs | 16 | ||||
| -rw-r--r-- | systems/_asset/test/src/lib.rs | 12 |
3 files changed, 29 insertions, 36 deletions
diff --git a/systems/_asset/src/asset.rs b/systems/_asset/src/asset.rs index c2b75e6..f452e2b 100644 --- a/systems/_asset/src/asset.rs +++ b/systems/_asset/src/asset.rs @@ -99,21 +99,17 @@ where .open(&lock_path) .await { - Ok(_) => { - return Ok(Handle { - _data_type: PhantomData, - writed: false, - asset_path: self.path.clone(), - lock_path, - temp_path, - }); - } + Ok(_) => Ok(Handle { + _data_type: PhantomData, + writed: false, + asset_path: self.path.clone(), + lock_path, + temp_path, + }), Err(e) if e.kind() == std::io::ErrorKind::AlreadyExists => { - return Err(HandleLockError::AssetLocked); - } - Err(e) => { - return Err(HandleLockError::IoError(e)); + Err(HandleLockError::AssetLocked) } + Err(e) => Err(HandleLockError::IoError(e)), } } @@ -231,7 +227,7 @@ where if self.writed { tokio::fs::rename(&from, &to) .await - .map_err(|e| DataApplyError::IoError(e))?; + .map_err(DataApplyError::IoError)?; } Ok(()) } @@ -350,18 +346,15 @@ async fn check_asset_path<D>(handle: &Handle<D>) -> Result<(), PrecheckFailed> where D: RWData<D>, { - if let Some(file_name) = handle.asset_path.file_name() { - if check_path(file_name).is_ok() { - return Ok(()); - } + if let Some(file_name) = handle.asset_path.file_name() + && check_path(file_name).is_ok() + { + return Ok(()); } Err(PrecheckFailed::AssetPathInvalid) } -async fn check_handle_is_cross_directory( - from: &PathBuf, - to: &PathBuf, -) -> Result<(), PrecheckFailed> { +async fn check_handle_is_cross_directory(from: &Path, to: &Path) -> Result<(), PrecheckFailed> { let from_parent = from.parent(); let to_parent = to.parent(); diff --git a/systems/_asset/src/rw.rs b/systems/_asset/src/rw.rs index 9a46144..7595138 100644 --- a/systems/_asset/src/rw.rs +++ b/systems/_asset/src/rw.rs @@ -1,17 +1,17 @@ -use std::path::PathBuf; +use std::path::Path; use crate::error::{DataReadError, DataWriteError}; pub trait RWData<DataType> { /// Implement read logic /// Given a path, return the specific data - fn read(path: &PathBuf) -> impl Future<Output = Result<DataType, DataReadError>> + Send + Sync; + fn read(path: &Path) -> impl Future<Output = Result<DataType, DataReadError>> + Send + Sync; /// Implement write logic /// Given data and a path, write to the filesystem fn write( data: DataType, - path: &PathBuf, + path: &Path, ) -> impl Future<Output = Result<(), DataWriteError>> + Send + Sync; /// Provide test data @@ -42,10 +42,10 @@ pub struct FooData { } impl RWData<FooData> for FooData { - async fn read(path: &PathBuf) -> Result<FooData, DataReadError> { + async fn read(path: &Path) -> Result<FooData, DataReadError> { let content = tokio::fs::read_to_string(path) .await - .map_err(|e| DataReadError::IoError(e))?; + .map_err(DataReadError::IoError)?; let parts: Vec<&str> = content.split('=').collect(); if parts.len() != 2 { return Err(DataReadError::ParseError("Invalid format".to_string())); @@ -57,11 +57,11 @@ impl RWData<FooData> for FooData { Ok(FooData { age, name }) } - async fn write(data: FooData, path: &PathBuf) -> Result<(), DataWriteError> { + async fn write(data: FooData, path: &Path) -> Result<(), DataWriteError> { let content = format!("{}={}", data.name, data.age); tokio::fs::write(path, content) .await - .map_err(|e| DataWriteError::IoError(e))?; + .map_err(DataWriteError::IoError)?; Ok(()) } @@ -75,6 +75,6 @@ impl RWData<FooData> for FooData { fn verify_data(data_a: FooData, data_b: FooData) -> bool { crate::ensure_eq!(data_a.age, data_b.age); crate::ensure_eq!(data_a.name, data_b.name); - return true; + true } } diff --git a/systems/_asset/test/src/lib.rs b/systems/_asset/test/src/lib.rs index 4b62028..d7bf653 100644 --- a/systems/_asset/test/src/lib.rs +++ b/systems/_asset/test/src/lib.rs @@ -1,4 +1,4 @@ -use std::path::PathBuf; +use std::path::Path; use asset_system::{ RWDataTest, ensure_eq, @@ -13,10 +13,10 @@ pub struct FooData { } impl RWData<FooData> for FooData { - async fn read(path: &PathBuf) -> Result<FooData, DataReadError> { + async fn read(path: &Path) -> Result<FooData, DataReadError> { let content = tokio::fs::read_to_string(path) .await - .map_err(|e| DataReadError::IoError(e))?; + .map_err(DataReadError::IoError)?; let parts: Vec<&str> = content.split('=').collect(); if parts.len() != 2 { return Err(DataReadError::ParseError("Invalid format".to_string())); @@ -28,11 +28,11 @@ impl RWData<FooData> for FooData { Ok(FooData { age, name }) } - async fn write(data: FooData, path: &PathBuf) -> Result<(), DataWriteError> { + async fn write(data: FooData, path: &Path) -> Result<(), DataWriteError> { let content = format!("{}={}", data.name, data.age); tokio::fs::write(path, content) .await - .map_err(|e| DataWriteError::IoError(e))?; + .map_err(DataWriteError::IoError)?; Ok(()) } @@ -46,6 +46,6 @@ impl RWData<FooData> for FooData { fn verify_data(data_a: FooData, data_b: FooData) -> bool { ensure_eq!(data_a.age, data_b.age); ensure_eq!(data_a.name, data_b.name); - return true; + true } } |
