chore: satisfy warnings about async fn in traits

This commit is contained in:
2026-05-26 00:10:28 -04:00
parent cfe6ddf218
commit 453208ff17

View File

@@ -3,23 +3,30 @@ use opendal::{Buffer, Error, ErrorKind, FuturesAsyncReader, Operator};
#[extension(pub trait OperatorExt)] #[extension(pub trait OperatorExt)]
impl Operator { impl Operator {
async fn read_if_exists(&self, path: &str) -> Result<Option<Buffer>, Error> { fn read_if_exists(
match self.read(path).await { &self,
Ok(buffer) => Ok(Some(buffer)), path: &str,
Err(error) if matches!(error.kind(), ErrorKind::NotFound) => Ok(None), ) -> impl Future<Output = Result<Option<Buffer>, Error>> + Send {
Err(error) => Err(error), async {
match self.read(path).await {
Ok(buffer) => Ok(Some(buffer)),
Err(error) if matches!(error.kind(), ErrorKind::NotFound) => Ok(None),
Err(error) => Err(error),
}
} }
} }
async fn async_reader_if_exists( fn async_reader_if_exists(
&self, &self,
path: &str, path: &str,
) -> Result<Option<FuturesAsyncReader>, Error> { ) -> impl Future<Output = Result<Option<FuturesAsyncReader>, Error>> + Send {
let reader = self.reader(path).await?; async {
match reader.into_futures_async_read(..).await { let reader = self.reader(path).await?;
Ok(reader) => Ok(Some(reader)), match reader.into_futures_async_read(..).await {
Err(error) if matches!(error.kind(), ErrorKind::NotFound) => Ok(None), Ok(reader) => Ok(Some(reader)),
Err(error) => Err(error), Err(error) if matches!(error.kind(), ErrorKind::NotFound) => Ok(None),
Err(error) => Err(error),
}
} }
} }
} }