This is an automated email from the ASF dual-hosted git repository.

xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git


The following commit(s) were added to refs/heads/main by this push:
     new c5b93ab2 refactor: Move `ops` to `raw::ops` (#2325)
c5b93ab2 is described below

commit c5b93ab27bb842c6ffff24ccadd067c64dc2587c
Author: Xuanwo <[email protected]>
AuthorDate: Fri May 26 09:22:13 2023 +0800

    refactor: Move `ops` to `raw::ops` (#2325)
    
    * refactor: Move `ops` to `raw::ops`
    
    Signed-off-by: Xuanwo <[email protected]>
    
    * Add new line for comments
    
    Signed-off-by: Xuanwo <[email protected]>
    
    * Fix build
    
    Signed-off-by: Xuanwo <[email protected]>
    
    ---------
    
    Signed-off-by: Xuanwo <[email protected]>
---
 bindings/java/src/blocking_operator.rs        | 12 ++++---
 bindings/java/src/error.rs                    |  8 +++--
 bindings/java/src/lib.rs                      |  7 +++--
 bindings/java/src/metadata.rs                 |  4 +--
 bindings/java/src/operator.rs                 | 16 +++++++---
 core/src/layers/chaos.rs                      |  1 -
 core/src/layers/complete.rs                   |  1 -
 core/src/layers/concurrent_limit.rs           |  1 -
 core/src/layers/error_context.rs              |  1 -
 core/src/layers/immutable_index.rs            |  1 -
 core/src/layers/logging.rs                    |  1 -
 core/src/layers/madsim.rs                     |  1 -
 core/src/layers/metrics.rs                    |  1 -
 core/src/layers/minitrace.rs                  |  1 -
 core/src/layers/oteltrace.rs                  |  1 -
 core/src/layers/prometheus.rs                 |  1 -
 core/src/layers/retry.rs                      |  1 -
 core/src/layers/tracing.rs                    |  1 -
 core/src/layers/type_eraser.rs                |  1 -
 core/src/raw/accessor.rs                      |  1 -
 core/src/raw/adapters/kv/backend.rs           |  1 -
 core/src/raw/adapters/typed_kv/backend.rs     |  1 -
 core/src/raw/layer.rs                         |  2 --
 core/src/raw/mod.rs                           |  3 ++
 core/src/raw/oio/into_reader/by_range.rs      |  1 -
 core/src/raw/oio/to_flat_pager.rs             |  1 -
 core/src/{types => raw}/ops.rs                |  0
 core/src/services/azblob/appender.rs          |  1 -
 core/src/services/azblob/backend.rs           |  2 --
 core/src/services/azblob/writer.rs            |  1 -
 core/src/services/azdfs/backend.rs            |  1 -
 core/src/services/azdfs/writer.rs             |  1 -
 core/src/services/cos/backend.rs              |  1 -
 core/src/services/cos/writer.rs               |  1 -
 core/src/services/fs/appender.rs              |  1 -
 core/src/services/fs/backend.rs               |  1 -
 core/src/services/ftp/backend.rs              |  1 -
 core/src/services/gcs/backend.rs              |  1 -
 core/src/services/gcs/writer.rs               |  1 -
 core/src/services/gdrive/backend.rs           | 12 +------
 core/src/services/gdrive/writer.rs            |  1 -
 core/src/services/ghac/backend.rs             |  1 -
 core/src/services/hdfs/backend.rs             |  1 -
 core/src/services/http/backend.rs             |  1 -
 core/src/services/ipfs/backend.rs             |  1 -
 core/src/services/ipmfs/backend.rs            |  1 -
 core/src/services/obs/backend.rs              |  1 -
 core/src/services/obs/writer.rs               |  1 -
 core/src/services/onedrive/backend.rs         | 36 ++-------------------
 core/src/services/onedrive/writer.rs          |  1 -
 core/src/services/oss/appender.rs             |  1 -
 core/src/services/oss/backend.rs              |  1 -
 core/src/services/oss/core.rs                 |  2 --
 core/src/services/oss/writer.rs               |  1 -
 core/src/services/s3/backend.rs               |  1 -
 core/src/services/s3/writer.rs                |  1 -
 core/src/services/sftp/backend.rs             |  1 -
 core/src/services/supabase/backend.rs         |  1 -
 core/src/services/supabase/writer.rs          |  1 -
 core/src/services/vercel_artifacts/backend.rs | 17 ++--------
 core/src/services/vercel_artifacts/writer.rs  |  1 -
 core/src/services/wasabi/backend.rs           |  1 -
 core/src/services/wasabi/core.rs              |  1 -
 core/src/services/wasabi/writer.rs            |  1 -
 core/src/services/webdav/backend.rs           |  1 -
 core/src/services/webdav/writer.rs            |  1 -
 core/src/services/webhdfs/backend.rs          |  1 -
 core/src/services/webhdfs/writer.rs           |  1 -
 core/src/types/appender.rs                    |  1 -
 core/src/types/mod.rs                         |  2 --
 core/src/types/operator/blocking_operator.rs  |  9 +++---
 core/src/types/operator/operator.rs           | 45 ++++++++++++++-------------
 core/src/types/operator/operator_functions.rs |  1 -
 core/src/types/operator/operator_futures.rs   | 10 ++----
 core/src/types/reader.rs                      |  1 -
 core/src/types/writer.rs                      |  1 -
 76 files changed, 71 insertions(+), 175 deletions(-)

diff --git a/bindings/java/src/blocking_operator.rs 
b/bindings/java/src/blocking_operator.rs
index 32a4899b..55d71858 100644
--- a/bindings/java/src/blocking_operator.rs
+++ b/bindings/java/src/blocking_operator.rs
@@ -17,11 +17,15 @@
 
 use std::str::FromStr;
 
-use jni::objects::{JClass, JObject, JString};
-use jni::sys::{jlong, jstring};
+use jni::objects::JClass;
+use jni::objects::JObject;
+use jni::objects::JString;
+use jni::sys::jlong;
+use jni::sys::jstring;
 use jni::JNIEnv;
-
-use opendal::{BlockingOperator, Operator, Scheme};
+use opendal::BlockingOperator;
+use opendal::Operator;
+use opendal::Scheme;
 
 use crate::jmap_to_hashmap;
 use crate::Result;
diff --git a/bindings/java/src/error.rs b/bindings/java/src/error.rs
index a8e4f146..bbbf9963 100644
--- a/bindings/java/src/error.rs
+++ b/bindings/java/src/error.rs
@@ -15,10 +15,14 @@
 // specific language governing permissions and limitations
 // under the License.
 
-use jni::objects::{JThrowable, JValue};
+use std::fmt::Debug;
+use std::fmt::Display;
+use std::fmt::Formatter;
+
+use jni::objects::JThrowable;
+use jni::objects::JValue;
 use jni::JNIEnv;
 use opendal::ErrorKind;
-use std::fmt::{Debug, Display, Formatter};
 
 pub(crate) struct Error {
     inner: opendal::Error,
diff --git a/bindings/java/src/lib.rs b/bindings/java/src/lib.rs
index 05d8b72b..8a947192 100644
--- a/bindings/java/src/lib.rs
+++ b/bindings/java/src/lib.rs
@@ -19,10 +19,13 @@ use std::cell::RefCell;
 use std::collections::HashMap;
 use std::ffi::c_void;
 
-use jni::objects::{JMap, JObject, JString};
+use jni::objects::JMap;
+use jni::objects::JObject;
+use jni::objects::JString;
 use jni::sys::jint;
 use jni::sys::JNI_VERSION_1_8;
-use jni::{JNIEnv, JavaVM};
+use jni::JNIEnv;
+use jni::JavaVM;
 use once_cell::sync::OnceCell;
 use tokio::runtime::Builder;
 use tokio::runtime::Runtime;
diff --git a/bindings/java/src/metadata.rs b/bindings/java/src/metadata.rs
index 5a29466d..3295bc0e 100644
--- a/bindings/java/src/metadata.rs
+++ b/bindings/java/src/metadata.rs
@@ -16,9 +16,9 @@
 // under the License.
 
 use jni::objects::JClass;
-use jni::sys::{jboolean, jlong};
+use jni::sys::jboolean;
+use jni::sys::jlong;
 use jni::JNIEnv;
-
 use opendal::Metadata;
 
 /// # Safety
diff --git a/bindings/java/src/operator.rs b/bindings/java/src/operator.rs
index 27a35ae1..7fd87b57 100644
--- a/bindings/java/src/operator.rs
+++ b/bindings/java/src/operator.rs
@@ -17,14 +17,20 @@
 
 use std::str::FromStr;
 
-use jni::objects::{JClass, JObject, JString, JValue, JValueOwned};
+use jni::objects::JClass;
+use jni::objects::JObject;
+use jni::objects::JString;
+use jni::objects::JValue;
+use jni::objects::JValueOwned;
 use jni::sys::jlong;
 use jni::JNIEnv;
+use opendal::Operator;
+use opendal::Scheme;
 
-use opendal::{Operator, Scheme};
-
-use crate::{get_current_env, Result};
-use crate::{jmap_to_hashmap, RUNTIME};
+use crate::get_current_env;
+use crate::jmap_to_hashmap;
+use crate::Result;
+use crate::RUNTIME;
 
 #[no_mangle]
 pub extern "system" fn Java_org_apache_opendal_Operator_constructor(
diff --git a/core/src/layers/chaos.rs b/core/src/layers/chaos.rs
index 7f7eb4b0..618c5e61 100644
--- a/core/src/layers/chaos.rs
+++ b/core/src/layers/chaos.rs
@@ -25,7 +25,6 @@ use futures::FutureExt;
 use rand::prelude::*;
 use rand::rngs::StdRng;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/layers/complete.rs b/core/src/layers/complete.rs
index 0fe80f9b..92e7c814 100644
--- a/core/src/layers/complete.rs
+++ b/core/src/layers/complete.rs
@@ -25,7 +25,6 @@ use std::task::Poll;
 use async_trait::async_trait;
 use bytes::Bytes;
 
-use crate::ops::*;
 use crate::raw::oio::into_reader::RangeReader;
 use crate::raw::oio::to_flat_pager;
 use crate::raw::oio::to_hierarchy_pager;
diff --git a/core/src/layers/concurrent_limit.rs 
b/core/src/layers/concurrent_limit.rs
index 5228eace..30003785 100644
--- a/core/src/layers/concurrent_limit.rs
+++ b/core/src/layers/concurrent_limit.rs
@@ -26,7 +26,6 @@ use bytes::Bytes;
 use tokio::sync::OwnedSemaphorePermit;
 use tokio::sync::Semaphore;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/layers/error_context.rs b/core/src/layers/error_context.rs
index a23b78dd..d7c604d9 100644
--- a/core/src/layers/error_context.rs
+++ b/core/src/layers/error_context.rs
@@ -25,7 +25,6 @@ use async_trait::async_trait;
 use bytes::Bytes;
 use futures::TryFutureExt;
 
-use crate::ops::*;
 use crate::raw::oio::AppendOperation;
 use crate::raw::oio::PageOperation;
 use crate::raw::oio::ReadOperation;
diff --git a/core/src/layers/immutable_index.rs 
b/core/src/layers/immutable_index.rs
index d8f9fb3f..1c7ed899 100644
--- a/core/src/layers/immutable_index.rs
+++ b/core/src/layers/immutable_index.rs
@@ -21,7 +21,6 @@ use std::mem;
 
 use async_trait::async_trait;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/layers/logging.rs b/core/src/layers/logging.rs
index 2b900385..6f372c96 100644
--- a/core/src/layers/logging.rs
+++ b/core/src/layers/logging.rs
@@ -29,7 +29,6 @@ use log::log;
 use log::trace;
 use log::Level;
 
-use crate::ops::*;
 use crate::raw::oio::ReadOperation;
 use crate::raw::oio::WriteOperation;
 use crate::raw::*;
diff --git a/core/src/layers/madsim.rs b/core/src/layers/madsim.rs
index a70593e7..49794fd6 100644
--- a/core/src/layers/madsim.rs
+++ b/core/src/layers/madsim.rs
@@ -39,7 +39,6 @@ use madsim::net::Endpoint;
 #[cfg(madsim)]
 use madsim::net::Payload;
 
-use crate::ops::*;
 use crate::raw::oio;
 use crate::raw::oio::Entry;
 use crate::raw::*;
diff --git a/core/src/layers/metrics.rs b/core/src/layers/metrics.rs
index 1a990b78..1cda0e8e 100644
--- a/core/src/layers/metrics.rs
+++ b/core/src/layers/metrics.rs
@@ -33,7 +33,6 @@ use metrics::register_histogram;
 use metrics::Counter;
 use metrics::Histogram;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/layers/minitrace.rs b/core/src/layers/minitrace.rs
index d0a5939e..c7a8d883 100644
--- a/core/src/layers/minitrace.rs
+++ b/core/src/layers/minitrace.rs
@@ -25,7 +25,6 @@ use bytes::Bytes;
 use futures::FutureExt;
 use minitrace::prelude::*;
 
-use crate::ops::*;
 use crate::raw::oio::PageOperation;
 use crate::raw::oio::ReadOperation;
 use crate::raw::oio::WriteOperation;
diff --git a/core/src/layers/oteltrace.rs b/core/src/layers/oteltrace.rs
index ee01e2ab..ba17cd25 100644
--- a/core/src/layers/oteltrace.rs
+++ b/core/src/layers/oteltrace.rs
@@ -30,7 +30,6 @@ use opentelemetry::trace::Tracer;
 use opentelemetry::Context;
 use opentelemetry::KeyValue;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/layers/prometheus.rs b/core/src/layers/prometheus.rs
index 8f6672b5..11ca5af8 100644
--- a/core/src/layers/prometheus.rs
+++ b/core/src/layers/prometheus.rs
@@ -36,7 +36,6 @@ use prometheus::register_int_counter_vec_with_registry;
 use prometheus::HistogramVec;
 use prometheus::Registry;
 
-use crate::ops::*;
 use crate::raw::Accessor;
 use crate::raw::*;
 use crate::*;
diff --git a/core/src/layers/retry.rs b/core/src/layers/retry.rs
index 8fcf615f..cfafa35f 100644
--- a/core/src/layers/retry.rs
+++ b/core/src/layers/retry.rs
@@ -34,7 +34,6 @@ use bytes::Bytes;
 use futures::FutureExt;
 use log::warn;
 
-use crate::ops::*;
 use crate::raw::oio::AppendOperation;
 use crate::raw::oio::PageOperation;
 use crate::raw::oio::ReadOperation;
diff --git a/core/src/layers/tracing.rs b/core/src/layers/tracing.rs
index 96f328a3..cc9fa34e 100644
--- a/core/src/layers/tracing.rs
+++ b/core/src/layers/tracing.rs
@@ -25,7 +25,6 @@ use bytes::Bytes;
 use futures::FutureExt;
 use tracing::Span;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/layers/type_eraser.rs b/core/src/layers/type_eraser.rs
index fb236646..f5aaa389 100644
--- a/core/src/layers/type_eraser.rs
+++ b/core/src/layers/type_eraser.rs
@@ -20,7 +20,6 @@ use std::fmt::Formatter;
 
 use async_trait::async_trait;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/raw/accessor.rs b/core/src/raw/accessor.rs
index 8fb98d0c..b6b74a15 100644
--- a/core/src/raw/accessor.rs
+++ b/core/src/raw/accessor.rs
@@ -20,7 +20,6 @@ use std::sync::Arc;
 
 use async_trait::async_trait;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/raw/adapters/kv/backend.rs 
b/core/src/raw/adapters/kv/backend.rs
index ee8d32ac..36ca9605 100644
--- a/core/src/raw/adapters/kv/backend.rs
+++ b/core/src/raw/adapters/kv/backend.rs
@@ -21,7 +21,6 @@ use async_trait::async_trait;
 use bytes::Bytes;
 
 use super::Adapter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/raw/adapters/typed_kv/backend.rs 
b/core/src/raw/adapters/typed_kv/backend.rs
index e04cd202..2085a23d 100644
--- a/core/src/raw/adapters/typed_kv/backend.rs
+++ b/core/src/raw/adapters/typed_kv/backend.rs
@@ -22,7 +22,6 @@ use bytes::Bytes;
 
 use super::Adapter;
 use super::Value;
-use crate::ops::*;
 use crate::raw::oio::VectorCursor;
 use crate::raw::*;
 use crate::*;
diff --git a/core/src/raw/layer.rs b/core/src/raw/layer.rs
index ac5e4c3e..511ca074 100644
--- a/core/src/raw/layer.rs
+++ b/core/src/raw/layer.rs
@@ -19,7 +19,6 @@ use std::fmt::Debug;
 
 use async_trait::async_trait;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
@@ -46,7 +45,6 @@ use crate::*;
 /// use std::sync::Arc;
 ///
 /// use async_trait::async_trait;
-/// use opendal::ops::*;
 /// use opendal::raw::*;
 /// use opendal::*;
 ///
diff --git a/core/src/raw/mod.rs b/core/src/raw/mod.rs
index 219171a0..e7c2bbcf 100644
--- a/core/src/raw/mod.rs
+++ b/core/src/raw/mod.rs
@@ -56,6 +56,9 @@ pub use version::VERSION;
 mod rps;
 pub use rps::*;
 
+mod ops;
+pub use ops::*;
+
 mod http_util;
 pub use http_util::*;
 
diff --git a/core/src/raw/oio/into_reader/by_range.rs 
b/core/src/raw/oio/into_reader/by_range.rs
index 5e37bc54..e26af95a 100644
--- a/core/src/raw/oio/into_reader/by_range.rs
+++ b/core/src/raw/oio/into_reader/by_range.rs
@@ -27,7 +27,6 @@ use std::task::Poll;
 use futures::future::BoxFuture;
 use tokio::io::ReadBuf;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/raw/oio/to_flat_pager.rs 
b/core/src/raw/oio/to_flat_pager.rs
index 720ee3f8..01c585e6 100644
--- a/core/src/raw/oio/to_flat_pager.rs
+++ b/core/src/raw/oio/to_flat_pager.rs
@@ -20,7 +20,6 @@ use std::mem;
 
 use async_trait::async_trait;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/types/ops.rs b/core/src/raw/ops.rs
similarity index 100%
rename from core/src/types/ops.rs
rename to core/src/raw/ops.rs
diff --git a/core/src/services/azblob/appender.rs 
b/core/src/services/azblob/appender.rs
index 0baa0df9..a32e3409 100644
--- a/core/src/services/azblob/appender.rs
+++ b/core/src/services/azblob/appender.rs
@@ -23,7 +23,6 @@ use http::StatusCode;
 
 use super::core::*;
 use super::error::parse_error;
-use crate::ops::OpAppend;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/azblob/backend.rs 
b/core/src/services/azblob/backend.rs
index 9ee899a9..9e7811dd 100644
--- a/core/src/services/azblob/backend.rs
+++ b/core/src/services/azblob/backend.rs
@@ -33,7 +33,6 @@ use super::batch::parse_batch_delete_response;
 use super::error::parse_error;
 use super::pager::AzblobPager;
 use super::writer::AzblobWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::services::azblob::core::AzblobCore;
 use crate::types::Metadata;
@@ -52,7 +51,6 @@ const KNOWN_AZBLOB_ENDPOINT_SUFFIX: &[&str] = &[
 const AZBLOB_BATCH_LIMIT: usize = 256;
 
 /// Azure Storage Blob services support.
-///
 #[doc = include_str!("docs.md")]
 #[derive(Default, Clone)]
 pub struct AzblobBuilder {
diff --git a/core/src/services/azblob/writer.rs 
b/core/src/services/azblob/writer.rs
index a3a0cddd..2b26d329 100644
--- a/core/src/services/azblob/writer.rs
+++ b/core/src/services/azblob/writer.rs
@@ -23,7 +23,6 @@ use http::StatusCode;
 
 use super::core::AzblobCore;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/azdfs/backend.rs 
b/core/src/services/azdfs/backend.rs
index 11bea2ef..b629894a 100644
--- a/core/src/services/azdfs/backend.rs
+++ b/core/src/services/azdfs/backend.rs
@@ -31,7 +31,6 @@ use super::core::AzdfsCore;
 use super::error::parse_error;
 use super::pager::AzdfsPager;
 use super::writer::AzdfsWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/azdfs/writer.rs 
b/core/src/services/azdfs/writer.rs
index a6efaf08..1cdbf9db 100644
--- a/core/src/services/azdfs/writer.rs
+++ b/core/src/services/azdfs/writer.rs
@@ -23,7 +23,6 @@ use http::StatusCode;
 
 use super::core::AzdfsCore;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/cos/backend.rs b/core/src/services/cos/backend.rs
index e9165824..a40d1b29 100644
--- a/core/src/services/cos/backend.rs
+++ b/core/src/services/cos/backend.rs
@@ -31,7 +31,6 @@ use super::core::CosCore;
 use super::error::parse_error;
 use super::pager::CosPager;
 use super::writer::CosWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/cos/writer.rs b/core/src/services/cos/writer.rs
index f063002d..59fb5602 100644
--- a/core/src/services/cos/writer.rs
+++ b/core/src/services/cos/writer.rs
@@ -23,7 +23,6 @@ use http::StatusCode;
 
 use super::core::CosCore;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/fs/appender.rs b/core/src/services/fs/appender.rs
index 8b0eca96..86a3e82f 100644
--- a/core/src/services/fs/appender.rs
+++ b/core/src/services/fs/appender.rs
@@ -17,7 +17,6 @@
 
 use async_trait::async_trait;
 use bytes::Bytes;
-
 use tokio::io::AsyncWriteExt;
 
 use super::error::parse_io_error;
diff --git a/core/src/services/fs/backend.rs b/core/src/services/fs/backend.rs
index 51585aa5..824107e1 100644
--- a/core/src/services/fs/backend.rs
+++ b/core/src/services/fs/backend.rs
@@ -31,7 +31,6 @@ use super::appender::FsAppender;
 use super::error::parse_io_error;
 use super::pager::FsPager;
 use super::writer::FsWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/ftp/backend.rs b/core/src/services/ftp/backend.rs
index 3efd60b0..eec0e2c3 100644
--- a/core/src/services/ftp/backend.rs
+++ b/core/src/services/ftp/backend.rs
@@ -41,7 +41,6 @@ use tokio::sync::OnceCell;
 use super::pager::FtpPager;
 use super::util::FtpReader;
 use super::writer::FtpWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/gcs/backend.rs b/core/src/services/gcs/backend.rs
index dcc646eb..08062a45 100644
--- a/core/src/services/gcs/backend.rs
+++ b/core/src/services/gcs/backend.rs
@@ -35,7 +35,6 @@ use super::core::GcsCore;
 use super::error::parse_error;
 use super::pager::GcsPager;
 use super::writer::GcsWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/gcs/writer.rs b/core/src/services/gcs/writer.rs
index 3bde86fa..dd56ae24 100644
--- a/core/src/services/gcs/writer.rs
+++ b/core/src/services/gcs/writer.rs
@@ -23,7 +23,6 @@ use http::StatusCode;
 
 use super::core::GcsCore;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/gdrive/backend.rs 
b/core/src/services/gdrive/backend.rs
index 1926739d..07e52a4d 100644
--- a/core/src/services/gdrive/backend.rs
+++ b/core/src/services/gdrive/backend.rs
@@ -24,17 +24,7 @@ use http::StatusCode;
 use super::core::GdriveCore;
 use super::error::parse_error;
 use super::writer::GdriveWriter;
-use crate::ops::OpDelete;
-use crate::ops::OpRead;
-use crate::ops::OpWrite;
-use crate::raw::parse_into_metadata;
-use crate::raw::Accessor;
-use crate::raw::AccessorInfo;
-use crate::raw::HttpClient;
-use crate::raw::IncomingAsyncBody;
-use crate::raw::RpDelete;
-use crate::raw::RpRead;
-use crate::raw::RpWrite;
+use crate::raw::*;
 use crate::types::Result;
 use crate::Capability;
 use crate::Error;
diff --git a/core/src/services/gdrive/writer.rs 
b/core/src/services/gdrive/writer.rs
index dcff07d2..d791b04a 100644
--- a/core/src/services/gdrive/writer.rs
+++ b/core/src/services/gdrive/writer.rs
@@ -23,7 +23,6 @@ use http::StatusCode;
 
 use super::core::GdriveCore;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/ghac/backend.rs 
b/core/src/services/ghac/backend.rs
index 380dd9a2..7197cee2 100644
--- a/core/src/services/ghac/backend.rs
+++ b/core/src/services/ghac/backend.rs
@@ -35,7 +35,6 @@ use serde::Serialize;
 
 use super::error::parse_error;
 use super::writer::GhacWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/hdfs/backend.rs 
b/core/src/services/hdfs/backend.rs
index bce999bd..f6bfb233 100644
--- a/core/src/services/hdfs/backend.rs
+++ b/core/src/services/hdfs/backend.rs
@@ -29,7 +29,6 @@ use log::debug;
 use super::error::parse_io_error;
 use super::pager::HdfsPager;
 use super::writer::HdfsWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/http/backend.rs 
b/core/src/services/http/backend.rs
index d3705f29..ec0e722d 100644
--- a/core/src/services/http/backend.rs
+++ b/core/src/services/http/backend.rs
@@ -29,7 +29,6 @@ use http::StatusCode;
 use log::debug;
 
 use super::error::parse_error;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/ipfs/backend.rs 
b/core/src/services/ipfs/backend.rs
index 2436c578..d700c44c 100644
--- a/core/src/services/ipfs/backend.rs
+++ b/core/src/services/ipfs/backend.rs
@@ -29,7 +29,6 @@ use prost::Message;
 
 use super::error::parse_error;
 use super::ipld::PBNode;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/ipmfs/backend.rs 
b/core/src/services/ipmfs/backend.rs
index 5060098e..b58ce27e 100644
--- a/core/src/services/ipmfs/backend.rs
+++ b/core/src/services/ipmfs/backend.rs
@@ -30,7 +30,6 @@ use serde::Deserialize;
 use super::error::parse_error;
 use super::pager::IpmfsPager;
 use super::writer::IpmfsWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/obs/backend.rs b/core/src/services/obs/backend.rs
index 39248a3b..a1a1288f 100644
--- a/core/src/services/obs/backend.rs
+++ b/core/src/services/obs/backend.rs
@@ -31,7 +31,6 @@ use super::core::ObsCore;
 use super::error::parse_error;
 use super::pager::ObsPager;
 use super::writer::ObsWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/obs/writer.rs b/core/src/services/obs/writer.rs
index adb441ff..247955f6 100644
--- a/core/src/services/obs/writer.rs
+++ b/core/src/services/obs/writer.rs
@@ -23,7 +23,6 @@ use http::StatusCode;
 
 use super::core::ObsCore;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/onedrive/backend.rs 
b/core/src/services/onedrive/backend.rs
index fcc10854..b212f800 100644
--- a/core/src/services/onedrive/backend.rs
+++ b/core/src/services/onedrive/backend.rs
@@ -31,40 +31,8 @@ use 
super::graph_model::OneDriveUploadSessionCreationRequestBody;
 use super::graph_model::OnedriveGetItemBody;
 use super::pager::OnedrivePager;
 use super::writer::OneDriveWriter;
-use crate::ops::OpCreateDir;
-use crate::ops::OpDelete;
-use crate::ops::OpList;
-use crate::ops::OpRead;
-use crate::ops::OpStat;
-use crate::ops::OpWrite;
-use crate::raw::build_abs_path;
-use crate::raw::build_rooted_abs_path;
-use crate::raw::get_basename;
-use crate::raw::get_parent;
-use crate::raw::new_json_deserialize_error;
-use crate::raw::new_json_serialize_error;
-use crate::raw::new_request_build_error;
-use crate::raw::parse_datetime_from_rfc3339;
-use crate::raw::parse_into_metadata;
-use crate::raw::parse_location;
-use crate::raw::percent_encode_path;
-use crate::raw::Accessor;
-use crate::raw::AccessorInfo;
-use crate::raw::AsyncBody;
-use crate::raw::HttpClient;
-use crate::raw::IncomingAsyncBody;
-use crate::raw::RpCreateDir;
-use crate::raw::RpDelete;
-use crate::raw::RpList;
-use crate::raw::RpRead;
-use crate::raw::RpStat;
-use crate::raw::RpWrite;
-use crate::types::Result;
-use crate::Capability;
-use crate::EntryMode;
-use crate::Error;
-use crate::ErrorKind;
-use crate::Metadata;
+use crate::raw::*;
+use crate::*;
 
 #[derive(Clone)]
 pub struct OnedriveBackend {
diff --git a/core/src/services/onedrive/writer.rs 
b/core/src/services/onedrive/writer.rs
index c071f6ca..fd7d5507 100644
--- a/core/src/services/onedrive/writer.rs
+++ b/core/src/services/onedrive/writer.rs
@@ -24,7 +24,6 @@ use super::backend::OnedriveBackend;
 use super::error::parse_error;
 use super::graph_model::OneDriveUploadSessionCreationRequestBody;
 use super::graph_model::OneDriveUploadSessionCreationResponseBody;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/oss/appender.rs 
b/core/src/services/oss/appender.rs
index b327d824..2edbda5f 100644
--- a/core/src/services/oss/appender.rs
+++ b/core/src/services/oss/appender.rs
@@ -23,7 +23,6 @@ use http::StatusCode;
 
 use super::core::*;
 use super::error::parse_error;
-use crate::ops::OpAppend;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/oss/backend.rs b/core/src/services/oss/backend.rs
index 64e78151..b4860fc9 100644
--- a/core/src/services/oss/backend.rs
+++ b/core/src/services/oss/backend.rs
@@ -35,7 +35,6 @@ use super::core::*;
 use super::error::parse_error;
 use super::pager::OssPager;
 use super::writer::OssWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/oss/core.rs b/core/src/services/oss/core.rs
index 6fd36ce2..043551fd 100644
--- a/core/src/services/oss/core.rs
+++ b/core/src/services/oss/core.rs
@@ -37,8 +37,6 @@ use reqsign::AliyunOssSigner;
 use serde::Deserialize;
 use serde::Serialize;
 
-use crate::ops::OpAppend;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/oss/writer.rs b/core/src/services/oss/writer.rs
index 9a75a4aa..b861458d 100644
--- a/core/src/services/oss/writer.rs
+++ b/core/src/services/oss/writer.rs
@@ -24,7 +24,6 @@ use http::StatusCode;
 
 use super::core::*;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/s3/backend.rs b/core/src/services/s3/backend.rs
index 51ecfccd..6d18b8f6 100644
--- a/core/src/services/s3/backend.rs
+++ b/core/src/services/s3/backend.rs
@@ -40,7 +40,6 @@ use super::error::parse_error;
 use super::error::parse_s3_error_code;
 use super::pager::S3Pager;
 use super::writer::S3Writer;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/s3/writer.rs b/core/src/services/s3/writer.rs
index 8898fd94..325d2ed5 100644
--- a/core/src/services/s3/writer.rs
+++ b/core/src/services/s3/writer.rs
@@ -24,7 +24,6 @@ use http::StatusCode;
 
 use super::core::*;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/sftp/backend.rs 
b/core/src/services/sftp/backend.rs
index 9624a711..f2b8d229 100644
--- a/core/src/services/sftp/backend.rs
+++ b/core/src/services/sftp/backend.rs
@@ -36,7 +36,6 @@ use super::error::is_sftp_protocol_error;
 use super::pager::SftpPager;
 use super::utils::SftpReader;
 use super::writer::SftpWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/supabase/backend.rs 
b/core/src/services/supabase/backend.rs
index 34f31521..a893ecc5 100644
--- a/core/src/services/supabase/backend.rs
+++ b/core/src/services/supabase/backend.rs
@@ -25,7 +25,6 @@ use log::debug;
 use super::core::*;
 use super::error::parse_error;
 use super::writer::*;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/supabase/writer.rs 
b/core/src/services/supabase/writer.rs
index 5d32a412..7075670d 100644
--- a/core/src/services/supabase/writer.rs
+++ b/core/src/services/supabase/writer.rs
@@ -23,7 +23,6 @@ use http::StatusCode;
 
 use super::core::*;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/vercel_artifacts/backend.rs 
b/core/src/services/vercel_artifacts/backend.rs
index 876b67e5..5a7059c2 100644
--- a/core/src/services/vercel_artifacts/backend.rs
+++ b/core/src/services/vercel_artifacts/backend.rs
@@ -25,21 +25,8 @@ use http::StatusCode;
 
 use super::error::parse_error;
 use super::writer::VercelArtifactsWriter;
-use crate::ops::OpRead;
-use crate::ops::OpWrite;
-use crate::raw::new_request_build_error;
-use crate::raw::parse_into_metadata;
-use crate::raw::Accessor;
-use crate::raw::AccessorInfo;
-use crate::raw::AsyncBody;
-use crate::raw::HttpClient;
-use crate::raw::IncomingAsyncBody;
-use crate::raw::RpRead;
-use crate::raw::RpWrite;
-use crate::types::Result;
-use crate::Capability;
-use crate::Error;
-use crate::ErrorKind;
+use crate::raw::*;
+use crate::*;
 
 #[derive(Clone)]
 pub struct VercelArtifactsBackend {
diff --git a/core/src/services/vercel_artifacts/writer.rs 
b/core/src/services/vercel_artifacts/writer.rs
index 89ad9a60..e95a86d0 100644
--- a/core/src/services/vercel_artifacts/writer.rs
+++ b/core/src/services/vercel_artifacts/writer.rs
@@ -21,7 +21,6 @@ use http::StatusCode;
 
 use super::backend::VercelArtifactsBackend;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/wasabi/backend.rs 
b/core/src/services/wasabi/backend.rs
index 463a3b4c..97fc9cfd 100644
--- a/core/src/services/wasabi/backend.rs
+++ b/core/src/services/wasabi/backend.rs
@@ -39,7 +39,6 @@ use super::core::*;
 use super::error::parse_error;
 use super::pager::WasabiPager;
 use super::writer::WasabiWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/wasabi/core.rs b/core/src/services/wasabi/core.rs
index 28ce4821..5f28bd51 100644
--- a/core/src/services/wasabi/core.rs
+++ b/core/src/services/wasabi/core.rs
@@ -36,7 +36,6 @@ use reqsign::AwsV4Signer;
 use serde::Deserialize;
 use serde::Serialize;
 
-use crate::ops::OpStat;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/wasabi/writer.rs 
b/core/src/services/wasabi/writer.rs
index 14372cb2..46d5e74a 100644
--- a/core/src/services/wasabi/writer.rs
+++ b/core/src/services/wasabi/writer.rs
@@ -23,7 +23,6 @@ use http::StatusCode;
 
 use super::core::*;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/webdav/backend.rs 
b/core/src/services/webdav/backend.rs
index 68b54019..6e98c50a 100644
--- a/core/src/services/webdav/backend.rs
+++ b/core/src/services/webdav/backend.rs
@@ -32,7 +32,6 @@ use super::error::parse_error;
 use super::list_response::Multistatus;
 use super::pager::WebdavPager;
 use super::writer::WebdavWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/webdav/writer.rs 
b/core/src/services/webdav/writer.rs
index 89ddd7b8..dce14d2b 100644
--- a/core/src/services/webdav/writer.rs
+++ b/core/src/services/webdav/writer.rs
@@ -21,7 +21,6 @@ use http::StatusCode;
 
 use super::backend::WebdavBackend;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/webhdfs/backend.rs 
b/core/src/services/webhdfs/backend.rs
index 01c6801c..1c060f4f 100644
--- a/core/src/services/webhdfs/backend.rs
+++ b/core/src/services/webhdfs/backend.rs
@@ -34,7 +34,6 @@ use super::message::FileStatusWrapper;
 use super::message::FileStatusesWrapper;
 use super::pager::WebhdfsPager;
 use super::writer::WebhdfsWriter;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/services/webhdfs/writer.rs 
b/core/src/services/webhdfs/writer.rs
index 16448141..110f0644 100644
--- a/core/src/services/webhdfs/writer.rs
+++ b/core/src/services/webhdfs/writer.rs
@@ -21,7 +21,6 @@ use http::StatusCode;
 
 use super::backend::WebhdfsBackend;
 use super::error::parse_error;
-use crate::ops::OpWrite;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/types/appender.rs b/core/src/types/appender.rs
index 71ad7845..7ebe3358 100644
--- a/core/src/types/appender.rs
+++ b/core/src/types/appender.rs
@@ -27,7 +27,6 @@ use futures::future::BoxFuture;
 use futures::AsyncWrite;
 use futures::FutureExt;
 
-use crate::ops::OpAppend;
 use crate::raw::oio::Append;
 use crate::raw::*;
 use crate::*;
diff --git a/core/src/types/mod.rs b/core/src/types/mod.rs
index bb202abf..11dd1268 100644
--- a/core/src/types/mod.rs
+++ b/core/src/types/mod.rs
@@ -61,5 +61,3 @@ pub use scheme::Scheme;
 
 mod capability;
 pub use capability::Capability;
-
-pub mod ops;
diff --git a/core/src/types/operator/blocking_operator.rs 
b/core/src/types/operator/blocking_operator.rs
index ce2478f2..7828b6f2 100644
--- a/core/src/types/operator/blocking_operator.rs
+++ b/core/src/types/operator/blocking_operator.rs
@@ -21,12 +21,10 @@ use std::ops::RangeBounds;
 use bytes::Bytes;
 use flagset::FlagSet;
 
-use crate::ops::*;
+use super::operator_functions::*;
 use crate::raw::*;
 use crate::*;
 
-use super::operator_functions::*;
-
 /// BlockingOperator is the entry for all public blocking APIs.
 ///
 /// Read [`concepts`][docs::concepts] for know more about [`Operator`].
@@ -583,7 +581,10 @@ impl BlockingOperator {
     ///
     /// # async fn test(op: BlockingOperator) -> Result<()> {
     /// let bs = b"hello, world!".to_vec();
-    /// let _ = op.write_with("hello.txt", 
bs).content_type("text/plain").call()?;
+    /// let _ = op
+    ///     .write_with("hello.txt", bs)
+    ///     .content_type("text/plain")
+    ///     .call()?;
     /// # Ok(())
     /// # }
     /// ```
diff --git a/core/src/types/operator/operator.rs 
b/core/src/types/operator/operator.rs
index 1d1d1958..95d934ab 100644
--- a/core/src/types/operator/operator.rs
+++ b/core/src/types/operator/operator.rs
@@ -29,11 +29,11 @@ use tokio::io::ReadBuf;
 
 use super::BlockingOperator;
 use crate::operator_futures::*;
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
 /// Operator is the entry for all public async APIs.
+///
 /// Developer should manipulate the data from storage service through Operator 
only by right.
 ///
 /// We will usually do some general checks and data transformations in this 
layer,
@@ -213,7 +213,6 @@ impl Operator {
     /// # use anyhow::Result;
     /// # use futures::io;
     /// # use opendal::Operator;
-    /// # use opendal::ops::OpStat;
     /// use opendal::ErrorKind;
     /// #
     /// # #[tokio::main]
@@ -448,7 +447,6 @@ impl Operator {
     /// ```
     /// # use std::io::Result;
     /// # use opendal::Operator;
-    /// # use opendal::ops::OpRead;
     /// # use futures::TryStreamExt;
     /// # #[tokio::main]
     /// # async fn test(op: Operator) -> Result<()> {
@@ -524,7 +522,6 @@ impl Operator {
     /// ```
     /// # use std::io::Result;
     /// # use opendal::Operator;
-    /// # use opendal::ops::OpRead;
     /// # use futures::TryStreamExt;
     /// # #[tokio::main]
     /// # async fn test(op: Operator) -> Result<()> {
@@ -586,13 +583,9 @@ impl Operator {
     /// # use opendal::Operator;
     /// # use futures::TryStreamExt;
     /// # use opendal::Scheme;
-    /// # use opendal::ops::OpRead;
     /// # #[tokio::main]
     /// # async fn test(op: Operator) -> Result<()> {
-    /// let r = op
-    ///     .reader_with("path/to/file")
-    ///     .range((0..10))
-    ///     .await?;
+    /// let r = op.reader_with("path/to/file").range((0..10)).await?;
     /// # Ok(())
     /// # }
     /// ```
@@ -831,11 +824,13 @@ impl Operator {
     /// # use futures::StreamExt;
     /// # use futures::SinkExt;
     /// use bytes::Bytes;
-    /// use opendal::ops::OpWrite;
     ///
     /// # #[tokio::main]
     /// # async fn test(op: Operator) -> Result<()> {
-    /// let mut w = 
op.writer_with("path/to/file").content_type("application/octet-stream").await?;
+    /// let mut w = op
+    ///     .writer_with("path/to/file")
+    ///     .content_type("application/octet-stream")
+    ///     .await?;
     /// w.write(vec![0; 4096]).await?;
     /// w.write(vec![1; 4096]).await?;
     /// w.close().await?;
@@ -882,12 +877,14 @@ impl Operator {
     /// # use std::io::Result;
     /// # use opendal::Operator;
     /// use bytes::Bytes;
-    /// use opendal::ops::OpWrite;
     ///
     /// # #[tokio::main]
     /// # async fn test(op: Operator) -> Result<()> {
     /// let bs = b"hello, world!".to_vec();
-    /// let _ = op.write_with("path/to/file", 
bs).content_type("text/plain").await?;
+    /// let _ = op
+    ///     .write_with("path/to/file", bs)
+    ///     .content_type("text/plain")
+    ///     .await?;
     /// # Ok(())
     /// # }
     /// ```
@@ -957,11 +954,13 @@ impl Operator {
     /// # use std::io::Result;
     /// # use opendal::Operator;
     /// use bytes::Bytes;
-    /// use opendal::ops::OpAppend;
     ///
     /// # #[tokio::main]
     /// # async fn test(op: Operator) -> Result<()> {
-    /// let mut a = 
op.appender_with("path/to/file").content_type("application/octet-stream").await?;
+    /// let mut a = op
+    ///     .appender_with("path/to/file")
+    ///     .content_type("application/octet-stream")
+    ///     .await?;
     /// a.append(vec![0; 4096]).await?;
     /// a.append(vec![1; 4096]).await?;
     /// a.close().await?;
@@ -1011,12 +1010,14 @@ impl Operator {
     /// # use std::io::Result;
     /// # use opendal::Operator;
     /// use bytes::Bytes;
-    /// use opendal::ops::OpAppend;
     ///
     /// # #[tokio::main]
     /// # async fn test(op: Operator) -> Result<()> {
     /// let bs = b"hello, world!".to_vec();
-    /// let _ = op.append_with("path/to/file", 
bs).content_type("text/plain").await?;
+    /// let _ = op
+    ///     .append_with("path/to/file", bs)
+    ///     .content_type("text/plain")
+    ///     .await?;
     /// # Ok(())
     /// # }
     /// ```
@@ -1281,13 +1282,16 @@ impl Operator {
     /// # use anyhow::Result;
     /// # use futures::io;
     /// use futures::TryStreamExt;
-    /// use opendal::ops::OpList;
     /// use opendal::EntryMode;
     /// use opendal::Metakey;
     /// use opendal::Operator;
     /// # #[tokio::main]
     /// # async fn test(op: Operator) -> Result<()> {
-    /// let mut ds = 
op.list_with("path/to/dir/").limit(10).start_after("start").await?;
+    /// let mut ds = op
+    ///     .list_with("path/to/dir/")
+    ///     .limit(10)
+    ///     .start_after("start")
+    ///     .await?;
     /// while let Some(mut de) = ds.try_next().await? {
     ///     let meta = op.metadata(&de, Metakey::Mode).await?;
     ///     match meta.mode() {
@@ -1312,7 +1316,6 @@ impl Operator {
     /// # use anyhow::Result;
     /// # use futures::io;
     /// use futures::TryStreamExt;
-    /// use opendal::ops::OpList;
     /// use opendal::EntryMode;
     /// use opendal::Metakey;
     /// use opendal::Operator;
@@ -1484,7 +1487,6 @@ impl Operator {
     /// use futures::io;
     /// use opendal::Operator;
     /// use std::time::Duration;
-    /// use opendal::ops::OpRead;
     ///
     /// #[tokio::main]
     /// async fn test(op: Operator) -> Result<()> {
@@ -1553,7 +1555,6 @@ impl Operator {
     /// ```no_run
     /// use anyhow::Result;
     /// use futures::io;
-    /// use opendal::ops::OpWrite;
     /// use opendal::Operator;
     /// use std::time::Duration;
     ///
diff --git a/core/src/types/operator/operator_functions.rs 
b/core/src/types/operator/operator_functions.rs
index 9054759d..282d097c 100644
--- a/core/src/types/operator/operator_functions.rs
+++ b/core/src/types/operator/operator_functions.rs
@@ -21,7 +21,6 @@
 
 use bytes::Bytes;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/types/operator/operator_futures.rs 
b/core/src/types/operator/operator_futures.rs
index 478f25ce..0be8fb25 100644
--- a/core/src/types/operator/operator_futures.rs
+++ b/core/src/types/operator/operator_futures.rs
@@ -19,19 +19,18 @@
 //!
 //! By using futures, users can add more options for operation.
 
-use bytes::Bytes;
-
 use std::mem;
 use std::ops::RangeBounds;
 use std::pin::Pin;
-use std::task::{Context, Poll};
+use std::task::Context;
+use std::task::Poll;
 use std::time::Duration;
 
+use bytes::Bytes;
 use futures::future::BoxFuture;
 use futures::Future;
 use futures::FutureExt;
 
-use crate::ops::*;
 use crate::raw::*;
 use crate::*;
 
@@ -277,7 +276,6 @@ impl FuturePresignWrite {
     ///
     /// If the content length is not set, the content length will be
     /// calculated automatically by buffering part of data.
-    ///
     pub fn content_length(mut self, v: u64) -> Self {
         self.0 = self
             .0
@@ -426,7 +424,6 @@ impl FutureWrite {
     ///
     /// If the content length is not set, the content length will be
     /// calculated automatically by buffering part of data.
-    ///
     pub fn content_length(mut self, v: u64) -> Self {
         self.0 = self
             .0
@@ -477,7 +474,6 @@ impl FutureWriter {
     ///
     /// If the content length is not set, the content length will be
     /// calculated automatically by buffering part of data.
-    ///
     pub fn content_length(mut self, v: u64) -> Self {
         self.0 = self.0.map_args(|args| args.with_content_length(v));
         self
diff --git a/core/src/types/reader.rs b/core/src/types/reader.rs
index 41998369..0f3bd2ea 100644
--- a/core/src/types/reader.rs
+++ b/core/src/types/reader.rs
@@ -26,7 +26,6 @@ use futures::AsyncRead;
 use futures::AsyncSeek;
 use futures::Stream;
 
-use crate::ops::OpRead;
 use crate::raw::*;
 use crate::*;
 
diff --git a/core/src/types/writer.rs b/core/src/types/writer.rs
index bb6adc1b..04911656 100644
--- a/core/src/types/writer.rs
+++ b/core/src/types/writer.rs
@@ -27,7 +27,6 @@ use futures::future::BoxFuture;
 use futures::AsyncWrite;
 use futures::FutureExt;
 
-use crate::ops::OpWrite;
 use crate::raw::oio::Write;
 use crate::raw::*;
 use crate::*;


Reply via email to