summaryrefslogtreecommitdiff
path: root/systems/_asset/src/rw.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-03-20 21:54:29 +0800
committer魏曹先生 <1992414357@qq.com>2026-03-20 21:57:49 +0800
commit9a60751a901f568bdeb154c4115235d4f3a0f8b9 (patch)
tree65df323f6478bae51473a3d6471df39a596ce9c5 /systems/_asset/src/rw.rs
parenta9e5c086584d3e697188be7003f564e7e2137135 (diff)
Apply clippy suggestions and improve code quality
Diffstat (limited to 'systems/_asset/src/rw.rs')
-rw-r--r--systems/_asset/src/rw.rs16
1 files changed, 8 insertions, 8 deletions
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
}
}