You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2024/05/03 04:10:01 UTC
(opendal) 01/01: chore: Make rust 1.78 happy
This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch rust-upgrade
in repository https://gitbox.apache.org/repos/asf/opendal.git
commit 6aca44db6ef3eac737ae381808e79d02671a8052
Author: Xuanwo <gi...@xuanwo.io>
AuthorDate: Fri May 3 12:09:38 2024 +0800
chore: Make rust 1.78 happy
Signed-off-by: Xuanwo <gi...@xuanwo.io>
---
core/src/lib.rs | 7 ++++++-
core/src/services/b2/core.rs | 2 +-
core/src/services/dropbox/core.rs | 2 +-
core/src/services/gcs/lister.rs | 2 +-
core/src/services/gdrive/core.rs | 2 +-
core/src/services/swift/lister.rs | 2 +-
core/src/services/webhdfs/lister.rs | 3 ++-
core/src/types/read/buffer_stream.rs | 8 ++++++--
core/src/types/read/futures_async_reader.rs | 8 ++++++--
core/src/types/read/futures_bytes_stream.rs | 8 ++++++--
core/src/types/read/reader.rs | 12 ++++++++++--
core/src/types/write/buffer_sink.rs | 8 ++++++--
core/src/types/write/futures_async_writer.rs | 8 ++++++--
core/src/types/write/futures_bytes_sink.rs | 8 ++++++--
core/tests/behavior/utils.rs | 6 ++++++
15 files changed, 65 insertions(+), 21 deletions(-)
diff --git a/core/src/lib.rs b/core/src/lib.rs
index 714d667ff9..46e408f51d 100644
--- a/core/src/lib.rs
+++ b/core/src/lib.rs
@@ -160,7 +160,6 @@ mod tests {
assert_eq!(24, size_of::<Scheme>());
}
- /// This is used to make sure our public API implement Send + Sync
trait AssertSendSync: Send + Sync {}
impl AssertSendSync for Entry {}
impl AssertSendSync for Capability {}
@@ -173,4 +172,10 @@ mod tests {
impl AssertSendSync for BlockingWriter {}
impl AssertSendSync for BlockingLister {}
impl AssertSendSync for BlockingOperator {}
+
+ /// This is used to make sure our public API implement Send + Sync
+ #[test]
+ fn test_trait() {
+ let _: Box<dyn AssertSendSync> = Box::new(Writer::new(Box::new(())));
+ }
}
diff --git a/core/src/services/b2/core.rs b/core/src/services/b2/core.rs
index edcd8bc1bb..6d30586c24 100644
--- a/core/src/services/b2/core.rs
+++ b/core/src/services/b2/core.rs
@@ -289,7 +289,7 @@ impl B2Core {
};
if let Some(mime) = args.content_type() {
- start_large_file_request.content_type = mime.to_owned();
+ mime.clone_into(&mut start_large_file_request.content_type)
}
let body =
diff --git a/core/src/services/dropbox/core.rs b/core/src/services/dropbox/core.rs
index 1c7179cb61..ec953c8a48 100644
--- a/core/src/services/dropbox/core.rs
+++ b/core/src/services/dropbox/core.rs
@@ -108,7 +108,7 @@ impl DropboxCore {
serde_json::from_reader(body.reader()).map_err(new_json_deserialize_error)?;
// Update signer after token refreshed.
- signer.access_token = token.access_token.clone();
+ signer.access_token.clone_from(&token.access_token);
// Refresh it 2 minutes earlier.
signer.expires_in = Utc::now()
diff --git a/core/src/services/gcs/lister.rs b/core/src/services/gcs/lister.rs
index 17c98452ed..b1674db533 100644
--- a/core/src/services/gcs/lister.rs
+++ b/core/src/services/gcs/lister.rs
@@ -86,7 +86,7 @@ impl oio::PageList for GcsLister {
serde_json::from_reader(bytes.reader()).map_err(new_json_deserialize_error)?;
if let Some(token) = &output.next_page_token {
- ctx.token = token.clone();
+ ctx.token.clone_from(token);
} else {
ctx.done = true;
}
diff --git a/core/src/services/gdrive/core.rs b/core/src/services/gdrive/core.rs
index 4a7af676f3..0b72e1c9db 100644
--- a/core/src/services/gdrive/core.rs
+++ b/core/src/services/gdrive/core.rs
@@ -313,7 +313,7 @@ impl GdriveSigner {
let resp_body = resp.into_body();
let token: GdriveTokenResponse = serde_json::from_reader(resp_body.reader())
.map_err(new_json_deserialize_error)?;
- self.access_token = token.access_token.clone();
+ self.access_token.clone_from(&token.access_token);
self.expires_in = Utc::now()
+ chrono::TimeDelta::try_seconds(token.expires_in)
.expect("expires_in must be valid seconds")
diff --git a/core/src/services/swift/lister.rs b/core/src/services/swift/lister.rs
index 703780d71f..50a9edff99 100644
--- a/core/src/services/swift/lister.rs
+++ b/core/src/services/swift/lister.rs
@@ -67,7 +67,7 @@ impl oio::PageList for SwiftLister {
ListOpResponse::Subdir { subdir } => subdir,
ListOpResponse::FileInfo { name, .. } => name,
};
- ctx.token = path.clone();
+ ctx.token.clone_from(path);
} else {
ctx.done = true;
}
diff --git a/core/src/services/webhdfs/lister.rs b/core/src/services/webhdfs/lister.rs
index fe758c4142..e7f714e29a 100644
--- a/core/src/services/webhdfs/lister.rs
+++ b/core/src/services/webhdfs/lister.rs
@@ -74,7 +74,8 @@ impl oio::PageList for WebhdfsLister {
if directory_listing.remaining_entries == 0 {
ctx.done = true;
} else if !file_statuses.is_empty() {
- ctx.token = file_statuses.last().unwrap().path_suffix.clone();
+ ctx.token
+ .clone_from(&file_statuses.last().unwrap().path_suffix);
}
file_statuses
diff --git a/core/src/types/read/buffer_stream.rs b/core/src/types/read/buffer_stream.rs
index 61d608b26a..62331f6eab 100644
--- a/core/src/types/read/buffer_stream.rs
+++ b/core/src/types/read/buffer_stream.rs
@@ -150,8 +150,12 @@ mod tests {
use super::*;
- trait AssertTrait: Unpin + MaybeSend + 'static {}
- impl AssertTrait for BufferStream {}
+ #[test]
+ fn test_trait() {
+ let v = BufferStream::new(Arc::new(Buffer::new()), OpReader::new(), 4..8);
+
+ let _: Box<dyn Unpin + MaybeSend + 'static> = Box::new(v);
+ }
#[test]
fn test_future_iterator() {
diff --git a/core/src/types/read/futures_async_reader.rs b/core/src/types/read/futures_async_reader.rs
index 48204b5df7..2156fc36c0 100644
--- a/core/src/types/read/futures_async_reader.rs
+++ b/core/src/types/read/futures_async_reader.rs
@@ -182,8 +182,12 @@ mod tests {
use super::*;
- trait AssertTrait: Unpin + MaybeSend + Sync + 'static {}
- impl AssertTrait for FuturesAsyncReader {}
+ #[test]
+ fn test_trait() {
+ let v = FuturesAsyncReader::new(Arc::new(Buffer::new()), OpReader::new(), 4..8);
+
+ let _: Box<dyn Unpin + MaybeSend + Sync + 'static> = Box::new(v);
+ }
#[tokio::test]
async fn test_futures_async_read() {
diff --git a/core/src/types/read/futures_bytes_stream.rs b/core/src/types/read/futures_bytes_stream.rs
index 51ef2d73fc..4301a3aa6e 100644
--- a/core/src/types/read/futures_bytes_stream.rs
+++ b/core/src/types/read/futures_bytes_stream.rs
@@ -87,8 +87,12 @@ mod tests {
use super::*;
- trait AssertTrait: Unpin + MaybeSend + Sync + 'static {}
- impl AssertTrait for FuturesBytesStream {}
+ #[test]
+ fn test_trait() {
+ let v = FuturesBytesStream::new(Arc::new(Buffer::new()), OpReader::new(), 4..8);
+
+ let _: Box<dyn Unpin + MaybeSend + Sync + 'static> = Box::new(v);
+ }
#[tokio::test]
async fn test_futures_bytes_stream() {
diff --git a/core/src/types/read/reader.rs b/core/src/types/read/reader.rs
index 8b06c0cfd7..27f0657ee6 100644
--- a/core/src/types/read/reader.rs
+++ b/core/src/types/read/reader.rs
@@ -284,14 +284,22 @@ mod tests {
use rand::rngs::ThreadRng;
use rand::Rng;
use rand::RngCore;
+ use std::sync::Arc;
use super::*;
use crate::raw::MaybeSend;
use crate::services;
use crate::Operator;
- trait AssertTrait: Unpin + MaybeSend + Sync + 'static {}
- impl AssertTrait for Reader {}
+ #[test]
+ fn test_trait() {
+ let v = Reader {
+ inner: Arc::new(Buffer::new()),
+ options: OpReader::new(),
+ };
+
+ let _: Box<dyn Unpin + MaybeSend + Sync + 'static> = Box::new(v);
+ }
fn gen_random_bytes() -> Vec<u8> {
let mut rng = ThreadRng::default();
diff --git a/core/src/types/write/buffer_sink.rs b/core/src/types/write/buffer_sink.rs
index ef94eacb80..f6115a6c68 100644
--- a/core/src/types/write/buffer_sink.rs
+++ b/core/src/types/write/buffer_sink.rs
@@ -162,6 +162,10 @@ mod tests {
use crate::raw::MaybeSend;
use crate::BufferSink;
- trait AssertTrait: Unpin + MaybeSend + Sync + 'static {}
- impl AssertTrait for BufferSink {}
+ #[test]
+ fn test_trait() {
+ let v = BufferSink::new(Box::new(()));
+
+ let _: Box<dyn Unpin + MaybeSend + Sync + 'static> = Box::new(v);
+ }
}
diff --git a/core/src/types/write/futures_async_writer.rs b/core/src/types/write/futures_async_writer.rs
index da985daeb0..47f6e0542f 100644
--- a/core/src/types/write/futures_async_writer.rs
+++ b/core/src/types/write/futures_async_writer.rs
@@ -113,6 +113,10 @@ mod tests {
use super::*;
use crate::raw::MaybeSend;
- trait AssertTrait: Unpin + MaybeSend + Sync + 'static {}
- impl AssertTrait for FuturesAsyncWriter {}
+ #[test]
+ fn test_trait() {
+ let v = FuturesAsyncWriter::new(Box::new(()));
+
+ let _: Box<dyn Unpin + MaybeSend + Sync + 'static> = Box::new(v);
+ }
}
diff --git a/core/src/types/write/futures_bytes_sink.rs b/core/src/types/write/futures_bytes_sink.rs
index c8c1d1d093..67a7dfd50c 100644
--- a/core/src/types/write/futures_bytes_sink.rs
+++ b/core/src/types/write/futures_bytes_sink.rs
@@ -78,6 +78,10 @@ mod tests {
use super::*;
use crate::raw::MaybeSend;
- trait AssertTrait: Unpin + MaybeSend + Sync + 'static {}
- impl AssertTrait for FuturesBytesStream {}
+ #[test]
+ fn test_trait() {
+ let v = FuturesBytesSink::new(Box::new(()));
+
+ let _: Box<dyn Unpin + MaybeSend + Sync + 'static> = Box::new(v);
+ }
}
diff --git a/core/tests/behavior/utils.rs b/core/tests/behavior/utils.rs
index a35b4e86b4..f877ae612a 100644
--- a/core/tests/behavior/utils.rs
+++ b/core/tests/behavior/utils.rs
@@ -109,6 +109,12 @@ pub struct Fixture {
pub paths: Mutex<Vec<String>>,
}
+impl Default for Fixture {
+ fn default() -> Self {
+ Self::new()
+ }
+}
+
impl Fixture {
/// Create a new fixture
pub const fn new() -> Self {