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

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


The following commit(s) were added to refs/heads/main by this push:
     new 7b9794396 fix: CI prints clippy version and clippy fix (#7895)
7b9794396 is described below

commit 7b9794396b9432f1795634f6027f35d8e847f325
Author: Erick Guan <[email protected]>
AuthorDate: Fri Jul 10 11:50:15 2026 +0800

    fix: CI prints clippy version and clippy fix (#7895)
    
    * Add clippy version printing
    
    * Fix linting after MSRV bump
    
    * Fix linting error
    
    * Revert "Fix linting error"
    
    This reverts commit 7f70a0b0835393b96efb970bb6310e6b22edd07a.
    
    * Fix template
---
 .github/workflows/ci_bindings_c.yml               |  7 +++-
 .github/workflows/ci_bindings_cpp.yml             | 11 ++++--
 .github/workflows/ci_bindings_dart.yml            |  5 +++
 .github/workflows/ci_bindings_dotnet.yml          | 10 +++--
 .github/workflows/ci_bindings_haskell.yml         |  8 +++-
 .github/workflows/ci_bindings_java.yml            |  5 +++
 .github/workflows/ci_bindings_lua.yml             | 13 +++++-
 .github/workflows/ci_bindings_nodejs.yml          |  4 ++
 .github/workflows/ci_bindings_ocaml.yml           |  8 +++-
 .github/workflows/ci_bindings_php.yml             |  8 +++-
 .github/workflows/ci_bindings_python.yml          | 20 ++++++++++
 .github/workflows/ci_bindings_ruby.yml            |  8 +++-
 .github/workflows/ci_core.yml                     | 31 +++++++++++++++
 .github/workflows/ci_integration_dav_server.yml   |  5 +++
 .github/workflows/ci_integration_object_store.yml |  5 +++
 .github/workflows/ci_integration_parquet.yml      |  5 +++
 .github/workflows/ci_integration_unftp_sbe.yml    |  5 +++
 .github/workflows/ci_odev.yml                     |  5 +++
 bindings/python/src/services.rs                   |  2 +-
 core/services/aliyun-drive/src/backend.rs         |  4 +-
 core/services/aliyun-drive/src/lister.rs          |  4 +-
 core/services/alluxio/src/backend.rs              |  6 +--
 core/services/azblob/src/backend.rs               |  6 +--
 core/services/azblob/src/core.rs                  |  6 +--
 core/services/azdls/src/backend.rs                |  6 +--
 core/services/azdls/src/lister.rs                 |  2 +-
 core/services/azfile/src/backend.rs               |  4 +-
 core/services/b2/src/backend.rs                   |  8 ++--
 core/services/cos/src/backend.rs                  |  8 ++--
 core/services/dashmap/src/backend.rs              |  2 +-
 core/services/dbfs/src/backend.rs                 |  4 +-
 core/services/dbfs/src/core.rs                    |  2 +-
 core/services/dbfs/src/lister.rs                  |  2 +-
 core/services/foyer/src/backend.rs                |  2 +-
 core/services/fs/src/backend.rs                   |  2 +-
 core/services/ftp/src/backend.rs                  |  2 +-
 core/services/ftp/src/lister.rs                   |  2 +-
 core/services/gdrive/src/lister.rs                | 12 +++---
 core/services/github/src/backend.rs               |  8 ++--
 core/services/goosefs/src/backend.rs              |  6 +--
 core/services/hdfs-native/src/backend.rs          |  2 +-
 core/services/hdfs/src/backend.rs                 |  2 +-
 core/services/hf/src/backend.rs                   | 12 +++---
 core/services/hf/src/core.rs                      | 24 ++++++------
 core/services/hf/src/lister.rs                    |  2 +-
 core/services/http/src/backend.rs                 |  2 +-
 core/services/ipfs/src/backend.rs                 |  4 +-
 core/services/ipmfs/src/lister.rs                 |  4 +-
 core/services/koofr/src/backend.rs                |  8 ++--
 core/services/lakefs/src/backend.rs               | 10 ++---
 core/services/lakefs/src/lister.rs                |  2 +-
 core/services/mini_moka/src/backend.rs            |  2 +-
 core/services/moka/src/backend.rs                 |  2 +-
 core/services/obs/src/backend.rs                  |  8 ++--
 core/services/oss/src/backend.rs                  |  8 ++--
 core/services/pcloud/src/backend.rs               |  6 +--
 core/services/s3/src/backend.rs                   |  6 +--
 core/services/seafile/src/backend.rs              |  6 +--
 core/services/sftp/src/backend.rs                 |  4 +-
 core/services/swift/src/backend.rs                |  4 +-
 core/services/swift/src/core.rs                   | 48 +++++++++++------------
 core/services/swift/src/deleter.rs                |  2 +-
 core/services/swift/src/writer.rs                 |  2 +-
 core/services/tikv/src/backend.rs                 |  2 +-
 core/services/upyun/src/backend.rs                |  6 +--
 core/services/vercel-blob/src/backend.rs          |  4 +-
 core/services/webdav/src/backend.rs               |  2 +-
 core/services/yandex-disk/src/backend.rs          |  4 +-
 core/tests/behavior/async_list.rs                 |  4 +-
 core/tests/behavior/async_presign.rs              |  8 ++--
 core/tests/behavior/async_stat.rs                 |  2 +-
 dev/src/generate/python.j2                        |  2 +-
 integrations/object_store/README.md               |  2 +-
 integrations/object_store/examples/datafusion.rs  |  2 +-
 74 files changed, 300 insertions(+), 171 deletions(-)

diff --git a/.github/workflows/ci_bindings_c.yml 
b/.github/workflows/ci_bindings_c.yml
index af346c4ac..379ba734d 100644
--- a/.github/workflows/ci_bindings_c.yml
+++ b/.github/workflows/ci_bindings_c.yml
@@ -42,6 +42,7 @@ permissions:
 jobs:
   test:
     runs-on: ubuntu-latest
+
     steps:
       - uses: actions/checkout@v7
 
@@ -53,13 +54,17 @@ jobs:
           sudo apt-get update
           sudo apt-get install -y build-essential pkg-config uuid-dev 
libcurl4-gnutls-dev
 
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: "bindings/c"
+        run: cargo clippy --version
+
       - name: Clippy Check
         working-directory: "bindings/c"
 
         run: |
           cargo clippy -- -D warnings
 
-
       - name: Build C binding
         working-directory: "bindings/c"
         run: |
diff --git a/.github/workflows/ci_bindings_cpp.yml 
b/.github/workflows/ci_bindings_cpp.yml
index bbadbb3fd..a38ad1e1f 100644
--- a/.github/workflows/ci_bindings_cpp.yml
+++ b/.github/workflows/ci_bindings_cpp.yml
@@ -43,6 +43,7 @@ permissions:
 jobs:
   test:
     runs-on: ubuntu-24.04
+
     steps:
       - uses: actions/checkout@v7
       - name: Install dependencies
@@ -52,11 +53,15 @@ jobs:
 
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
-      
+
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: "bindings/cpp"
+        run: cargo clippy --version
+
       - name: Clippy Check
         working-directory: "bindings/cpp"
-        run: |
-          cargo clippy -- -D warnings
+        run: cargo clippy -- -D warnings
 
       - name: Build Cpp binding && Run tests
         working-directory: "bindings/cpp"
diff --git a/.github/workflows/ci_bindings_dart.yml 
b/.github/workflows/ci_bindings_dart.yml
index bcd7070cc..58569a1d3 100644
--- a/.github/workflows/ci_bindings_dart.yml
+++ b/.github/workflows/ci_bindings_dart.yml
@@ -77,6 +77,11 @@ jobs:
         working-directory: bindings/dart
         run: flutter pub get
 
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: bindings/dart/rust
+        run: cargo clippy --version
+
       - name: Check Clippy
         working-directory: bindings/dart/rust
         run: cargo clippy -- -D warnings
diff --git a/.github/workflows/ci_bindings_dotnet.yml 
b/.github/workflows/ci_bindings_dotnet.yml
index bc5526c19..445e2e9a4 100644
--- a/.github/workflows/ci_bindings_dotnet.yml
+++ b/.github/workflows/ci_bindings_dotnet.yml
@@ -55,11 +55,15 @@ jobs:
           need-protoc: true
           need-rocksdb: true
           github-token: ${{ secrets.GITHUB_TOKEN }}
-      
+
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: "bindings/dotnet"
+        run: cargo clippy --version
+
       - name: Clippy Check
         working-directory: "bindings/dotnet"
-        run: |
-          cargo clippy -- -D warnings
+        run: cargo clippy -- -D warnings
 
   test:
     runs-on: ${{ matrix.os }}
diff --git a/.github/workflows/ci_bindings_haskell.yml 
b/.github/workflows/ci_bindings_haskell.yml
index 355c36b6a..7313cc9b2 100644
--- a/.github/workflows/ci_bindings_haskell.yml
+++ b/.github/workflows/ci_bindings_haskell.yml
@@ -60,10 +60,14 @@ jobs:
           cabal update
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: "bindings/haskell"
+        run: cargo clippy --version
+
       - name: Clippy Check
         working-directory: "bindings/haskell"
-        run: |
-          cargo clippy -- -D warnings
+        run: cargo clippy -- -D warnings
       - name: Restore haskell cache
         uses: actions/cache/restore@v6
         with:
diff --git a/.github/workflows/ci_bindings_java.yml 
b/.github/workflows/ci_bindings_java.yml
index 32a240ff3..5dea9ff39 100644
--- a/.github/workflows/ci_bindings_java.yml
+++ b/.github/workflows/ci_bindings_java.yml
@@ -94,6 +94,11 @@ jobs:
         working-directory: bindings/java
         run: |
           ./mvnw clean compile spotless:check
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: bindings/java
+        run: cargo clippy --version
+
       - name: Check Clippy
         working-directory: bindings/java
         run: cargo clippy -- -D warnings
diff --git a/.github/workflows/ci_bindings_lua.yml 
b/.github/workflows/ci_bindings_lua.yml
index 62ab37b39..9c4b985a8 100644
--- a/.github/workflows/ci_bindings_lua.yml
+++ b/.github/workflows/ci_bindings_lua.yml
@@ -42,23 +42,32 @@ permissions:
 jobs:
   test:
     runs-on: ubuntu-latest
+
     steps:
       - uses: actions/checkout@v7
       - name: Setup lua toolchain
         run: |
           sudo apt-get update
           sudo apt-get install -y lua-busted luarocks liblua5.2-dev
+
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
+
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: "bindings/lua"
+        run: cargo clippy --version
+
       - name: Clippy Check
         working-directory: "bindings/lua"
-        run: |
-          cargo clippy -- -D warnings
+        run: cargo clippy -- -D warnings
+
       - name: Build & Test
         working-directory: "bindings/lua"
         run: |
           sudo "PATH=$PATH" luarocks make
           busted test/opendal_test.lua
+
       - name: Run getting-started example
         working-directory: "bindings/lua"
         run: |
diff --git a/.github/workflows/ci_bindings_nodejs.yml 
b/.github/workflows/ci_bindings_nodejs.yml
index 8c5fcf8c3..a23ec52bb 100644
--- a/.github/workflows/ci_bindings_nodejs.yml
+++ b/.github/workflows/ci_bindings_nodejs.yml
@@ -76,6 +76,10 @@ jobs:
       - name: Check format
         run: pnpm exec prettier --check .
 
+      # Useful for debugging
+      - name: Print Clippy version
+        run: cargo clippy --version
+
       - name: Check Clippy
         run: cargo clippy -- -D warnings
 
diff --git a/.github/workflows/ci_bindings_ocaml.yml 
b/.github/workflows/ci_bindings_ocaml.yml
index bdecfbd39..03caa363e 100644
--- a/.github/workflows/ci_bindings_ocaml.yml
+++ b/.github/workflows/ci_bindings_ocaml.yml
@@ -50,10 +50,14 @@ jobs:
           need-depext: true
           need-pin: true
 
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: "bindings/ocaml"
+        run: cargo clippy --version
+
       - name: Clippy Check
         working-directory: "bindings/ocaml"
-        run: |
-          cargo clippy -- -D warnings
+        run: cargo clippy -- -D warnings
 
   test:
     runs-on: ubuntu-22.04
diff --git a/.github/workflows/ci_bindings_php.yml 
b/.github/workflows/ci_bindings_php.yml
index 7751db6a2..fa1bfd4e5 100644
--- a/.github/workflows/ci_bindings_php.yml
+++ b/.github/workflows/ci_bindings_php.yml
@@ -62,10 +62,14 @@ jobs:
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
 
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: "bindings/php"
+        run: cargo clippy --version
+
       - name: Clippy Check
         working-directory: "bindings/php"
-        run: |
-          cargo clippy -- -D warnings
+        run: cargo clippy -- -D warnings
 
       - name: Build opendal-php extension
         working-directory: "bindings/php"
diff --git a/.github/workflows/ci_bindings_python.yml 
b/.github/workflows/ci_bindings_python.yml
index 7ef72bd12..f61e7950b 100644
--- a/.github/workflows/ci_bindings_python.yml
+++ b/.github/workflows/ci_bindings_python.yml
@@ -39,13 +39,22 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v7
+
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
+
       - name: Install uv
         uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # 
v8.2.0
         with:
           working-directory: "bindings/python"
+
       - uses: taiki-e/install-action@just
+
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: "bindings/python"
+        run: cargo clippy --version
+
       - name: Run Lints
         working-directory: "bindings/python"
         run: just lint
@@ -54,22 +63,29 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v7
+
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
+
       - name: Install uv
         uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # 
v8.2.0
         with:
           working-directory: "bindings/python"
+
       - uses: taiki-e/install-action@just
+
       - name: Setup taplo
         uses: taiki-e/install-action@v2
         with:
           tool: taplo-cli
+
       - name: Setup hawkeye
         run: curl --proto '=https' --tlsv1.2 -LsSf 
https://github.com/korandoru/hawkeye/releases/download/v6.5.1/hawkeye-installer.sh
 | sh
+
       - name: Regenerate stubs
         working-directory: "bindings/python"
         run: just stub-gen
+
       - name: Check diff
         run: git diff --exit-code
 
@@ -77,15 +93,18 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v7
+
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
         with:
           need-protoc: true
           github-token: ${{ secrets.GITHUB_TOKEN }}
+
       - name: Setup uv
         uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # 
v8.2.0
         with:
           working-directory: bindings/python
+
       - name: Build with maturin
         shell: bash
         working-directory: "bindings/python"
@@ -93,6 +112,7 @@ jobs:
           uv venv --python=python3.11
           uv sync --all-extras
           uv run -- maturin develop
+
       # Examples back the snippets shown in the website guide. Running them 
keeps
       # the docs honest: a broken example fails CI instead of shipping bad 
docs.
       - name: Run guide examples
diff --git a/.github/workflows/ci_bindings_ruby.yml 
b/.github/workflows/ci_bindings_ruby.yml
index 5feb99492..86d5a2f20 100644
--- a/.github/workflows/ci_bindings_ruby.yml
+++ b/.github/workflows/ci_bindings_ruby.yml
@@ -57,10 +57,14 @@ jobs:
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
 
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: "bindings/ruby"
+        run: cargo clippy --version
+
       - name: Clippy Check
         working-directory: "bindings/ruby"
-        run: |
-          cargo clippy -- -D warnings
+        run: cargo clippy -- -D warnings
 
       - name: Run lint
         working-directory: bindings/ruby
diff --git a/.github/workflows/ci_core.yml b/.github/workflows/ci_core.yml
index 9692601e6..3aadf701f 100644
--- a/.github/workflows/ci_core.yml
+++ b/.github/workflows/ci_core.yml
@@ -73,6 +73,11 @@ jobs:
           distribution: zulu
           java-version: 25
 
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: core
+        run: cargo clippy --version
+
       - name: Cargo clippy
         working-directory: core
         run: cargo clippy --workspace --all-targets --all-features -- -D 
warnings
@@ -88,6 +93,12 @@ jobs:
         run: |
           rustup toolchain install ${OPENDAL_MSRV}
           rustup component add clippy --toolchain ${OPENDAL_MSRV}
+
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: core
+        run: cargo +${OPENDAL_MSRV} clippy --version
+
       - name: Check
         working-directory: core
         run: cargo +${OPENDAL_MSRV} clippy -- -D warnings
@@ -102,10 +113,12 @@ jobs:
           - windows-latest
     steps:
       - uses: actions/checkout@v7
+
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
         with:
           github-token: ${{ secrets.GITHUB_TOKEN }}
+
       - name: Build
         working-directory: core
         run: cargo build --locked
@@ -114,10 +127,12 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v7
+
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
         with:
           github-token: ${{ secrets.GITHUB_TOKEN }}
+
       # Examples back the snippets shown in the website guide. Running them 
keeps
       # the docs honest: a broken example fails CI instead of shipping bad 
docs.
       - name: Run guide examples
@@ -128,10 +143,12 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v7
+
       - name: Checkout python env
         uses: actions/setup-python@v6
         with:
           python-version: "3.11"
+
       - name: Checkout java env
         uses: actions/setup-java@v5
         with:
@@ -157,12 +174,15 @@ jobs:
           - ubuntu-latest
           - macos-latest
           - windows-latest
+
     steps:
       - uses: actions/checkout@v7
+
       - name: Checkout python env
         uses: actions/setup-python@v6
         with:
           python-version: "3.11"
+
       - name: Checkout java env
         uses: actions/setup-java@v5
         with:
@@ -231,12 +251,15 @@ jobs:
   # We only support some services(see `available_services` below) for now.
   build_under_wasm:
     runs-on: ubuntu-latest
+
     steps:
       - uses: actions/checkout@v7
+
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
         with:
           github-token: ${{ secrets.GITHUB_TOKEN }}
+
       - name: Build
         working-directory: core
         run: |
@@ -252,6 +275,7 @@ jobs:
 
   unit:
     runs-on: ubuntu-latest
+
     steps:
       - name: cleanup
         run: |
@@ -267,11 +291,14 @@ jobs:
 
           sudo docker image prune --all --force
           sudo docker builder prune -a
+
       - uses: actions/checkout@v7
+
       - name: Checkout python env
         uses: actions/setup-python@v6
         with:
           python-version: "3.11"
+
       - name: Checkout java env
         uses: actions/setup-java@v5
         with:
@@ -297,6 +324,7 @@ jobs:
 
   doc-test:
     runs-on: ubuntu-latest
+
     steps:
       - name: cleanup
         run: |
@@ -312,11 +340,14 @@ jobs:
 
           sudo docker image prune --all --force
           sudo docker builder prune -a
+
       - uses: actions/checkout@v7
+
       - name: Checkout python env
         uses: actions/setup-python@v6
         with:
           python-version: "3.11"
+
       - name: Checkout java env
         uses: actions/setup-java@v5
         with:
diff --git a/.github/workflows/ci_integration_dav_server.yml 
b/.github/workflows/ci_integration_dav_server.yml
index 1757a730d..1d2f6ab8c 100644
--- a/.github/workflows/ci_integration_dav_server.yml
+++ b/.github/workflows/ci_integration_dav_server.yml
@@ -42,6 +42,11 @@ jobs:
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
 
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: integrations/dav-server
+        run: cargo clippy --version
+
       - name: Cargo clippy
         working-directory: integrations/dav-server
         run: cargo clippy --all-targets --all-features -- -D warnings
diff --git a/.github/workflows/ci_integration_object_store.yml 
b/.github/workflows/ci_integration_object_store.yml
index 5abd67ff2..220130e0d 100644
--- a/.github/workflows/ci_integration_object_store.yml
+++ b/.github/workflows/ci_integration_object_store.yml
@@ -42,6 +42,11 @@ jobs:
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
 
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: integrations/object_store
+        run: cargo clippy --version
+
       - name: Cargo clippy
         working-directory: integrations/object_store
         run: cargo clippy --all-targets --all-features -- -D warnings
diff --git a/.github/workflows/ci_integration_parquet.yml 
b/.github/workflows/ci_integration_parquet.yml
index d45d40e28..ef67b43e3 100644
--- a/.github/workflows/ci_integration_parquet.yml
+++ b/.github/workflows/ci_integration_parquet.yml
@@ -42,6 +42,11 @@ jobs:
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup
 
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: integrations/parquet
+        run: cargo clippy --version
+
       - name: Cargo clippy
         working-directory: integrations/parquet
         run: cargo clippy --all-targets --all-features -- -D warnings
diff --git a/.github/workflows/ci_integration_unftp_sbe.yml 
b/.github/workflows/ci_integration_unftp_sbe.yml
index ecc18eb90..2ac141f4c 100644
--- a/.github/workflows/ci_integration_unftp_sbe.yml
+++ b/.github/workflows/ci_integration_unftp_sbe.yml
@@ -46,6 +46,11 @@ jobs:
           need-protoc: true
           github-token: ${{ secrets.GITHUB_TOKEN }}
 
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: integrations/unftp-sbe
+        run: cargo clippy --version
+
       - name: Cargo clippy
         working-directory: integrations/unftp-sbe
         run: cargo clippy --all-targets --all-features -- -D warnings
diff --git a/.github/workflows/ci_odev.yml b/.github/workflows/ci_odev.yml
index 2508ee0c3..ab1910b75 100644
--- a/.github/workflows/ci_odev.yml
+++ b/.github/workflows/ci_odev.yml
@@ -43,6 +43,11 @@ jobs:
         with:
           github-token: ${{ secrets.GITHUB_TOKEN }}
 
+      # Useful for debugging
+      - name: Print Clippy version
+        working-directory: dev
+        run: cargo clippy --version
+
       - name: Cargo clippy
         working-directory: dev
         run: cargo clippy --all-targets --all-features -- -D warnings
diff --git a/bindings/python/src/services.rs b/bindings/python/src/services.rs
index 227bf217f..8487944e0 100644
--- a/bindings/python/src/services.rs
+++ b/bindings/python/src/services.rs
@@ -135,7 +135,7 @@ pub enum Scheme {
 impl Scheme {
     #[getter]
     pub fn name(&self) -> String {
-        format!("{:?}", &self)
+        format!("{:?}", self)
     }
 
     #[getter]
diff --git a/core/services/aliyun-drive/src/backend.rs 
b/core/services/aliyun-drive/src/backend.rs
index 05d923655..3f4f6a9a0 100644
--- a/core/services/aliyun-drive/src/backend.rs
+++ b/core/services/aliyun-drive/src/backend.rs
@@ -100,10 +100,10 @@ impl Builder for AliyunDriveBuilder {
     type Config = AliyunDriveConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         let sign = match self.config.access_token.clone() {
             Some(access_token) if !access_token.is_empty() => {
diff --git a/core/services/aliyun-drive/src/lister.rs 
b/core/services/aliyun-drive/src/lister.rs
index 0c06c5d4a..fe122a742 100644
--- a/core/services/aliyun-drive/src/lister.rs
+++ b/core/services/aliyun-drive/src/lister.rs
@@ -131,10 +131,10 @@ impl oio::PageList for AliyunDriveLister {
 
         for item in result.items {
             let (path, mut md) = if item.path_type == "folder" {
-                let path = format!("{}{}/", 
&parent.path.trim_start_matches('/'), &item.name);
+                let path = format!("{}{}/", 
parent.path.trim_start_matches('/'), item.name);
                 (path, Metadata::new(EntryMode::DIR))
             } else {
-                let path = format!("{}{}", 
&parent.path.trim_start_matches('/'), &item.name);
+                let path = format!("{}{}", 
parent.path.trim_start_matches('/'), item.name);
                 (path, Metadata::new(EntryMode::FILE))
             };
 
diff --git a/core/services/alluxio/src/backend.rs 
b/core/services/alluxio/src/backend.rs
index f00d790cd..eb6213e38 100644
--- a/core/services/alluxio/src/backend.rs
+++ b/core/services/alluxio/src/backend.rs
@@ -78,10 +78,10 @@ impl Builder for AlluxioBuilder {
 
     /// Builds the backend and returns the result of AlluxioBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         let endpoint = match &self.config.endpoint {
             Some(endpoint) => Ok(endpoint.clone()),
@@ -89,7 +89,7 @@ impl Builder for AlluxioBuilder {
                 .with_operation("Builder::build")
                 .with_context("service", ALLUXIO_SCHEME)),
         }?;
-        debug!("backend use endpoint {}", &endpoint);
+        debug!("backend use endpoint {}", endpoint);
 
         Ok(AlluxioBackend {
             core: Arc::new(AlluxioCore {
diff --git a/core/services/azblob/src/backend.rs 
b/core/services/azblob/src/backend.rs
index 62fb8f51a..9e6e94622 100644
--- a/core/services/azblob/src/backend.rs
+++ b/core/services/azblob/src/backend.rs
@@ -292,7 +292,7 @@ impl Builder for AzblobBuilder {
     type Config = AzblobConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = normalize_root(&self.config.root.unwrap_or_default());
         debug!("backend use root {root}");
@@ -304,7 +304,7 @@ impl Builder for AzblobBuilder {
                 .with_operation("Builder::build")
                 .with_context("service", AZBLOB_SCHEME)),
         }?;
-        debug!("backend use container {}", &container);
+        debug!("backend use container {}", container);
 
         let endpoint = match &self.config.endpoint {
             Some(endpoint) => Ok(endpoint.clone()),
@@ -312,7 +312,7 @@ impl Builder for AzblobBuilder {
                 .with_operation("Builder::build")
                 .with_context("service", AZBLOB_SCHEME)),
         }?;
-        debug!("backend use endpoint {}", &container);
+        debug!("backend use endpoint {}", container);
 
         let account_name = self
             .config
diff --git a/core/services/azblob/src/core.rs b/core/services/azblob/src/core.rs
index f714e9af9..a57eab9ac 100644
--- a/core/services/azblob/src/core.rs
+++ b/core/services/azblob/src/core.rs
@@ -422,7 +422,7 @@ impl AzblobCore {
         size: u64,
         body: Buffer,
     ) -> Result<Request<Buffer>> {
-        let url = format!("{}?comp=appendblock", &self.build_path_url(path));
+        let url = format!("{}?comp=appendblock", self.build_path_url(path));
 
         let mut req = Request::put(&url)
             .header(CONTENT_LENGTH, size)
@@ -576,7 +576,7 @@ impl AzblobCore {
         block_ids: Vec<Uuid>,
         args: &OpWrite,
     ) -> Result<Request<Buffer>> {
-        let url = format!("{}?comp=blocklist", &self.build_path_url(path));
+        let url = format!("{}?comp=blocklist", self.build_path_url(path));
 
         let req = Request::put(&url);
 
@@ -626,7 +626,7 @@ impl AzblobCore {
         block_ids: Vec<Uuid>,
         args: &OpCopy,
     ) -> Result<Request<Buffer>> {
-        let url = format!("{}?comp=blocklist", &self.build_path_url(path));
+        let url = format!("{}?comp=blocklist", self.build_path_url(path));
 
         let mut req = Request::put(&url);
 
diff --git a/core/services/azdls/src/backend.rs 
b/core/services/azdls/src/backend.rs
index 9425b88a2..59819d356 100644
--- a/core/services/azdls/src/backend.rs
+++ b/core/services/azdls/src/backend.rs
@@ -238,7 +238,7 @@ impl Builder for AzdlsBuilder {
     type Config = AzdlsConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = normalize_root(&self.config.root.unwrap_or_default());
         debug!("backend use root {root}");
@@ -250,7 +250,7 @@ impl Builder for AzdlsBuilder {
                 .with_operation("Builder::build")
                 .with_context("service", AZDLS_SCHEME)),
         }?;
-        debug!("backend use filesystem {}", &filesystem);
+        debug!("backend use filesystem {}", filesystem);
 
         let endpoint = match &self.config.endpoint {
             Some(endpoint) => 
Ok(endpoint.clone().trim_end_matches('/').to_string()),
@@ -258,7 +258,7 @@ impl Builder for AzdlsBuilder {
                 .with_operation("Builder::build")
                 .with_context("service", AZDLS_SCHEME)),
         }?;
-        debug!("backend use endpoint {}", &endpoint);
+        debug!("backend use endpoint {}", endpoint);
 
         let account_name = self
             .config
diff --git a/core/services/azdls/src/lister.rs 
b/core/services/azdls/src/lister.rs
index f9c130839..1a85b93ef 100644
--- a/core/services/azdls/src/lister.rs
+++ b/core/services/azdls/src/lister.rs
@@ -99,7 +99,7 @@ impl oio::PageList for AzdlsLister {
 
             let meta = Metadata::new(mode)
                 // Keep fit with ETag header.
-                .with_etag(format!("\"{}\"", &object.etag))
+                .with_etag(format!("\"{}\"", object.etag))
                 
.with_content_length(object.content_length.parse().map_err(|err| {
                     Error::new(ErrorKind::Unexpected, "content length is not 
valid integer")
                         .set_source(err)
diff --git a/core/services/azfile/src/backend.rs 
b/core/services/azfile/src/backend.rs
index 3aaff20f7..d3437bc07 100644
--- a/core/services/azfile/src/backend.rs
+++ b/core/services/azfile/src/backend.rs
@@ -164,7 +164,7 @@ impl Builder for AzfileBuilder {
     type Config = AzfileConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = normalize_root(&self.config.root.unwrap_or_default());
         debug!("backend use root {root}");
@@ -175,7 +175,7 @@ impl Builder for AzfileBuilder {
                 .with_operation("Builder::build")
                 .with_context("service", AZFILE_SCHEME)),
         }?;
-        debug!("backend use endpoint {}", &endpoint);
+        debug!("backend use endpoint {}", endpoint);
 
         let account_name_option = self
             .config
diff --git a/core/services/b2/src/backend.rs b/core/services/b2/src/backend.rs
index 073cf40d0..27e1cb6cf 100644
--- a/core/services/b2/src/backend.rs
+++ b/core/services/b2/src/backend.rs
@@ -111,10 +111,10 @@ impl Builder for B2Builder {
 
     /// Builds the backend and returns the result of B2Backend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         // Handle bucket.
         if self.config.bucket.is_empty() {
@@ -123,7 +123,7 @@ impl Builder for B2Builder {
                 .with_context("service", B2_SCHEME));
         }
 
-        debug!("backend use bucket {}", &self.config.bucket);
+        debug!("backend use bucket {}", self.config.bucket);
 
         // Handle bucket_id.
         if self.config.bucket_id.is_empty() {
@@ -132,7 +132,7 @@ impl Builder for B2Builder {
                 .with_context("service", B2_SCHEME));
         }
 
-        debug!("backend bucket_id {}", &self.config.bucket_id);
+        debug!("backend bucket_id {}", self.config.bucket_id);
 
         let application_key_id = match &self.config.application_key_id {
             Some(application_key_id) => Ok(application_key_id.clone()),
diff --git a/core/services/cos/src/backend.rs b/core/services/cos/src/backend.rs
index ac75be261..c384b821d 100644
--- a/core/services/cos/src/backend.rs
+++ b/core/services/cos/src/backend.rs
@@ -167,7 +167,7 @@ impl Builder for CosBuilder {
     type Config = CosConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = normalize_root(&self.config.root.unwrap_or_default());
         debug!("backend use root {root}");
@@ -179,7 +179,7 @@ impl Builder for CosBuilder {
                     .with_context("service", COS_SCHEME),
             ),
         }?;
-        debug!("backend use bucket {}", &bucket);
+        debug!("backend use bucket {}", bucket);
 
         let uri = match &self.config.endpoint {
             Some(endpoint) => endpoint.parse::<Uri>().map_err(|err| {
@@ -199,7 +199,7 @@ impl Builder for CosBuilder {
 
         // If endpoint contains bucket name, we should trim them.
         let endpoint = uri.host().unwrap().replace(&format!("//{bucket}."), 
"//");
-        debug!("backend use endpoint {}", &endpoint);
+        debug!("backend use endpoint {}", endpoint);
 
         let os_env = OsEnv;
         let ctx = Context::new()
@@ -294,7 +294,7 @@ impl Builder for CosBuilder {
                 capability,
                 bucket: bucket.clone(),
                 root,
-                endpoint: format!("{}://{}.{}", &scheme, &bucket, &endpoint),
+                endpoint: format!("{}://{}.{}", scheme, bucket, endpoint),
                 signer,
             }),
         })
diff --git a/core/services/dashmap/src/backend.rs 
b/core/services/dashmap/src/backend.rs
index b5d483fab..b87920495 100644
--- a/core/services/dashmap/src/backend.rs
+++ b/core/services/dashmap/src/backend.rs
@@ -54,7 +54,7 @@ impl Builder for DashmapBuilder {
     type Config = DashmapConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = normalize_root(
             self.config
diff --git a/core/services/dbfs/src/backend.rs 
b/core/services/dbfs/src/backend.rs
index c5b936528..755630162 100644
--- a/core/services/dbfs/src/backend.rs
+++ b/core/services/dbfs/src/backend.rs
@@ -82,7 +82,7 @@ impl Builder for DbfsBuilder {
 
     /// Build a DbfsBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = normalize_root(&self.config.root.unwrap_or_default());
         debug!("backend use root {root}");
@@ -93,7 +93,7 @@ impl Builder for DbfsBuilder {
                 .with_operation("Builder::build")
                 .with_context("service", DBFS_SCHEME)),
         }?;
-        debug!("backend use endpoint: {}", &endpoint);
+        debug!("backend use endpoint: {}", endpoint);
 
         let token = match self.config.token {
             Some(token) => token,
diff --git a/core/services/dbfs/src/core.rs b/core/services/dbfs/src/core.rs
index 4e0091054..15c8d9ff9 100644
--- a/core/services/dbfs/src/core.rs
+++ b/core/services/dbfs/src/core.rs
@@ -196,7 +196,7 @@ impl DbfsCore {
 
         let url = format!(
             "{}/api/2.0/dbfs/get-status?path={}",
-            &self.endpoint,
+            self.endpoint,
             percent_encode_path(&p)
         );
 
diff --git a/core/services/dbfs/src/lister.rs b/core/services/dbfs/src/lister.rs
index d4c09208b..a34fd5ee9 100644
--- a/core/services/dbfs/src/lister.rs
+++ b/core/services/dbfs/src/lister.rs
@@ -61,7 +61,7 @@ impl oio::PageList for DbfsLister {
         for status in decoded_response.files {
             let entry: oio::Entry = match status.is_dir {
                 true => {
-                    let normalized_path = format!("{}/", &status.path);
+                    let normalized_path = format!("{}/", status.path);
                     let mut meta = Metadata::new(EntryMode::DIR);
                     
meta.set_last_modified(Timestamp::from_millisecond(status.modification_time)?);
                     oio::Entry::new(&normalized_path, meta)
diff --git a/core/services/foyer/src/backend.rs 
b/core/services/foyer/src/backend.rs
index 3591ccf03..e3b80059f 100644
--- a/core/services/foyer/src/backend.rs
+++ b/core/services/foyer/src/backend.rs
@@ -182,7 +182,7 @@ impl Builder for FoyerBuilder {
     type Config = FoyerConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = normalize_root(
             self.config
diff --git a/core/services/fs/src/backend.rs b/core/services/fs/src/backend.rs
index 918c19cea..06a87bdb7 100644
--- a/core/services/fs/src/backend.rs
+++ b/core/services/fs/src/backend.rs
@@ -67,7 +67,7 @@ impl Builder for FsBuilder {
     type Config = FsConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = match self.config.root.map(PathBuf::from) {
             Some(root) => Ok(root),
diff --git a/core/services/ftp/src/backend.rs b/core/services/ftp/src/backend.rs
index 89428f7b2..ef0ad337f 100644
--- a/core/services/ftp/src/backend.rs
+++ b/core/services/ftp/src/backend.rs
@@ -93,7 +93,7 @@ impl Builder for FtpBuilder {
     type Config = FtpConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("ftp backend build started: {:?}", &self);
+        debug!("ftp backend build started: {:?}", self);
         let endpoint = match &self.config.endpoint {
             None => return Err(Error::new(ErrorKind::ConfigInvalid, "endpoint 
is empty")),
             Some(v) => v,
diff --git a/core/services/ftp/src/lister.rs b/core/services/ftp/src/lister.rs
index b850ba741..a16b993a4 100644
--- a/core/services/ftp/src/lister.rs
+++ b/core/services/ftp/src/lister.rs
@@ -62,7 +62,7 @@ impl oio::List for FtpLister {
         let entry = if de.is_file() {
             oio::Entry::new(&path, meta)
         } else if de.is_directory() {
-            oio::Entry::new(&format!("{}/", &path), meta)
+            oio::Entry::new(&format!("{}/", path), meta)
         } else {
             oio::Entry::new(&path, meta)
         };
diff --git a/core/services/gdrive/src/lister.rs 
b/core/services/gdrive/src/lister.rs
index 083658424..6fea03527 100644
--- a/core/services/gdrive/src/lister.rs
+++ b/core/services/gdrive/src/lister.rs
@@ -248,7 +248,7 @@ impl oio::PageList for GdriveLister {
                 file.name += "/";
             }
 
-            let path = format!("{}{}", &self.path, file.name);
+            let path = format!("{}{}", self.path, file.name);
             let metadata = metadata_from_gdrive_file(&file)?;
             self.apply_recent_entry(ctx, path, metadata).await?;
         }
@@ -396,7 +396,7 @@ impl GdriveFlatLister {
     async fn initialize(&mut self) -> Result<()> {
         log::debug!(
             "GdriveFlatLister: initializing with root path: {:?}",
-            &self.root_path
+            self.root_path
         );
 
         if let GdriveRecentPathState::Deleted =
@@ -408,7 +408,7 @@ impl GdriveFlatLister {
 
         let root_id = match self.core.resolve_path(&self.ctx, 
&self.root_path).await? {
             Some(id) => {
-                log::debug!("GdriveFlatLister: root path resolved to ID: 
{:?}", &id);
+                log::debug!("GdriveFlatLister: root path resolved to ID: 
{:?}", id);
                 id
             }
             None => match self
@@ -417,13 +417,13 @@ impl GdriveFlatLister {
                 .await?
             {
                 Some(id) => {
-                    log::debug!("GdriveFlatLister: root path resolved to ID: 
{:?}", &id);
+                    log::debug!("GdriveFlatLister: root path resolved to ID: 
{:?}", id);
                     id
                 }
                 None => {
                     log::debug!(
                         "GdriveFlatLister: root path not found: {:?}",
-                        &self.root_path
+                        self.root_path
                     );
                     if self.root_path.ends_with('/') {
                         self.done = true;
@@ -612,7 +612,7 @@ impl GdriveFlatLister {
         log::debug!(
             "GdriveFlatLister: processing batch of {} directories: {:?}",
             self.current_batch.len(),
-            &self.current_batch
+            self.current_batch
         );
 
         let mut resp = self
diff --git a/core/services/github/src/backend.rs 
b/core/services/github/src/backend.rs
index 1f9662980..3a2f8e7e1 100644
--- a/core/services/github/src/backend.rs
+++ b/core/services/github/src/backend.rs
@@ -94,10 +94,10 @@ impl Builder for GithubBuilder {
 
     /// Builds the backend and returns the result of GithubBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         // Handle owner.
         if self.config.owner.is_empty() {
@@ -106,7 +106,7 @@ impl Builder for GithubBuilder {
                 .with_context("service", GITHUB_SCHEME));
         }
 
-        debug!("backend use owner {}", &self.config.owner);
+        debug!("backend use owner {}", self.config.owner);
 
         // Handle repo.
         if self.config.repo.is_empty() {
@@ -115,7 +115,7 @@ impl Builder for GithubBuilder {
                 .with_context("service", GITHUB_SCHEME));
         }
 
-        debug!("backend use repo {}", &self.config.repo);
+        debug!("backend use repo {}", self.config.repo);
 
         Ok(GithubBackend {
             core: Arc::new(GithubCore {
diff --git a/core/services/goosefs/src/backend.rs 
b/core/services/goosefs/src/backend.rs
index 3e8dec4ce..3beda0384 100644
--- a/core/services/goosefs/src/backend.rs
+++ b/core/services/goosefs/src/backend.rs
@@ -128,10 +128,10 @@ impl Builder for GoosefsBuilder {
 
     /// Build the backend and return a GoosefsBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("GoosefsBuilder::build started: {:?}", &self);
+        debug!("GoosefsBuilder::build started: {:?}", self);
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("GoosefsBuilder use root {}", &root);
+        debug!("GoosefsBuilder use root {}", root);
 
         // ── Step 1: establish the base SDK config 
─────────────────────────────
         //
@@ -210,7 +210,7 @@ impl Builder for GoosefsBuilder {
         }
         debug!(
             "GoosefsBuilder use master_addr {} (addrs={:?})",
-            &goosefs_config.master_addr, &goosefs_config.master_addrs
+            goosefs_config.master_addr, goosefs_config.master_addrs
         );
 
         if let Some(block_size) = self.config.block_size {
diff --git a/core/services/hdfs-native/src/backend.rs 
b/core/services/hdfs-native/src/backend.rs
index 7dc06b13e..3f9fc0d08 100644
--- a/core/services/hdfs-native/src/backend.rs
+++ b/core/services/hdfs-native/src/backend.rs
@@ -92,7 +92,7 @@ impl Builder for HdfsNativeBuilder {
     type Config = HdfsNativeConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let name_node = match &self.config.name_node {
             Some(v) => v,
diff --git a/core/services/hdfs/src/backend.rs 
b/core/services/hdfs/src/backend.rs
index 68e885f55..9f1782dbd 100644
--- a/core/services/hdfs/src/backend.rs
+++ b/core/services/hdfs/src/backend.rs
@@ -110,7 +110,7 @@ impl Builder for HdfsBuilder {
     type Config = HdfsConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let name_node = match &self.config.name_node {
             Some(v) => v,
diff --git a/core/services/hf/src/backend.rs b/core/services/hf/src/backend.rs
index cf9da2e33..907568f8f 100644
--- a/core/services/hf/src/backend.rs
+++ b/core/services/hf/src/backend.rs
@@ -209,7 +209,7 @@ impl Builder for HfBuilder {
     type Config = HfConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let token = self.hf_token();
         let endpoint = self.hf_endpoint();
@@ -220,25 +220,25 @@ impl Builder for HfBuilder {
                 .with_operation("Builder::build")
                 .with_context("service", HF_SCHEME)
         })?;
-        debug!("backend use repo_type: {:?}", &repo_type);
+        debug!("backend use repo_type: {:?}", repo_type);
 
         let repo_id = self.config.repo_id.ok_or_else(|| {
             Error::new(ErrorKind::ConfigInvalid, "repo_id is required")
                 .with_operation("Builder::build")
                 .with_context("service", HF_SCHEME)
         })?;
-        debug!("backend use repo_id: {}", &repo_id);
+        debug!("backend use repo_id: {}", repo_id);
 
         let revision = match &self.config.revision {
             Some(revision) => revision.clone(),
             None => "main".to_string(),
         };
-        debug!("backend use revision: {}", &revision);
+        debug!("backend use revision: {}", revision);
 
         let root = normalize_root(&self.config.root.unwrap_or_default());
-        debug!("backend use root: {}", &root);
+        debug!("backend use root: {}", root);
         debug!("backend use token: {}", token.is_some());
-        debug!("backend use endpoint: {}", &endpoint);
+        debug!("backend use endpoint: {}", endpoint);
         debug!("backend use download_mode: {:?}", download_mode);
 
         let info = ServiceInfo::new(HF_SCHEME, "", "");
diff --git a/core/services/hf/src/core.rs b/core/services/hf/src/core.rs
index 4ca219328..a70b4d4f3 100644
--- a/core/services/hf/src/core.rs
+++ b/core/services/hf/src/core.rs
@@ -916,14 +916,14 @@ mod uri {
         pub fn paths_info_url(&self, endpoint: &str) -> String {
             match self.repo_type {
                 HfRepoType::Bucket => {
-                    format!("{}/api/buckets/{}/paths-info", endpoint, 
&self.repo_id)
+                    format!("{}/api/buckets/{}/paths-info", endpoint, 
self.repo_id)
                 }
                 _ => {
                     format!(
                         "{}/api/{}/{}/paths-info/{}",
                         endpoint,
                         self.repo_type.as_plural_str(),
-                        &self.repo_id,
+                        self.repo_id,
                         percent_encode_revision(self.revision()),
                     )
                 }
@@ -936,7 +936,7 @@ mod uri {
                 HfRepoType::Bucket => {
                     format!(
                         "{}/api/buckets/{}/xet-{}-token",
-                        endpoint, &self.repo_id, token_type
+                        endpoint, self.repo_id, token_type
                     )
                 }
                 _ => {
@@ -944,7 +944,7 @@ mod uri {
                         "{}/api/{}/{}/xet-{}-token/{}",
                         endpoint,
                         self.repo_type.as_plural_str(),
-                        &self.repo_id,
+                        self.repo_id,
                         token_type,
                         self.revision(),
                     )
@@ -954,7 +954,7 @@ mod uri {
 
         /// Build the bucket batch API URL for this repository.
         pub fn bucket_batch_url(&self, endpoint: &str) -> String {
-            format!("{}/api/buckets/{}/batch", endpoint, &self.repo_id)
+            format!("{}/api/buckets/{}/batch", endpoint, self.repo_id)
         }
 
         /// Build the git commit API URL for this repository.
@@ -963,7 +963,7 @@ mod uri {
                 "{}/api/{}/{}/commit/{}",
                 endpoint,
                 self.repo_type.as_plural_str(),
-                &self.repo_id,
+                self.repo_id,
                 percent_encode_revision(self.revision()),
             )
         }
@@ -1095,25 +1095,25 @@ mod uri {
                 HfRepoType::Model => {
                     format!(
                         "{}/{}/resolve/{}/{}",
-                        endpoint, &self.repo.repo_id, revision, path
+                        endpoint, self.repo.repo_id, revision, path
                     )
                 }
                 HfRepoType::Dataset => {
                     format!(
                         "{}/datasets/{}/resolve/{}/{}",
-                        endpoint, &self.repo.repo_id, revision, path
+                        endpoint, self.repo.repo_id, revision, path
                     )
                 }
                 HfRepoType::Space => {
                     format!(
                         "{}/spaces/{}/resolve/{}/{}",
-                        endpoint, &self.repo.repo_id, revision, path
+                        endpoint, self.repo.repo_id, revision, path
                     )
                 }
                 HfRepoType::Bucket => {
                     format!(
                         "{}/buckets/{}/resolve/{}",
-                        endpoint, &self.repo.repo_id, path
+                        endpoint, self.repo.repo_id, path
                     )
                 }
             }
@@ -1135,7 +1135,7 @@ mod uri {
                 format!(
                     "{}/api/buckets/{}/tree/{}?expand=True",
                     endpoint,
-                    &self.repo.repo_id,
+                    self.repo.repo_id,
                     percent_encode_path(&self.path),
                 )
             } else {
@@ -1143,7 +1143,7 @@ mod uri {
                     "{}/api/{}/{}/tree/{}/{}?expand=True",
                     endpoint,
                     self.repo.repo_type.as_plural_str(),
-                    &self.repo.repo_id,
+                    self.repo.repo_id,
                     percent_encode_revision(self.revision()),
                     percent_encode_path(&self.path),
                 )
diff --git a/core/services/hf/src/lister.rs b/core/services/hf/src/lister.rs
index 819f14729..0f30f1c0d 100644
--- a/core/services/hf/src/lister.rs
+++ b/core/services/hf/src/lister.rs
@@ -137,7 +137,7 @@ impl oio::PageList for HfLister {
         for info in response.files {
             let meta = info.metadata()?;
             let path = if meta.mode() == EntryMode::DIR {
-                format!("{}/", &info.path)
+                format!("{}/", info.path)
             } else {
                 info.path.clone()
             };
diff --git a/core/services/http/src/backend.rs 
b/core/services/http/src/backend.rs
index 5f44e01b9..d8b94e41a 100644
--- a/core/services/http/src/backend.rs
+++ b/core/services/http/src/backend.rs
@@ -104,7 +104,7 @@ impl Builder for HttpBuilder {
     type Config = HttpConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let endpoint = match &self.config.endpoint {
             Some(v) => v,
diff --git a/core/services/ipfs/src/backend.rs 
b/core/services/ipfs/src/backend.rs
index 44d955b50..ce788bbbb 100644
--- a/core/services/ipfs/src/backend.rs
+++ b/core/services/ipfs/src/backend.rs
@@ -89,7 +89,7 @@ impl Builder for IpfsBuilder {
     type Config = IpfsConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = normalize_root(&self.config.root.unwrap_or_default());
         if !root.starts_with("/ipfs/") && !root.starts_with("/ipns/") {
@@ -108,7 +108,7 @@ impl Builder for IpfsBuilder {
                 .with_context("service", IPFS_SCHEME)
                 .with_context("root", &root)),
         }?;
-        debug!("backend use endpoint {}", &endpoint);
+        debug!("backend use endpoint {}", endpoint);
 
         let info = ServiceInfo::new(IPFS_SCHEME, &root, "");
         let capability = Capability {
diff --git a/core/services/ipmfs/src/lister.rs 
b/core/services/ipmfs/src/lister.rs
index 6556aee72..d59eb21f2 100644
--- a/core/services/ipmfs/src/lister.rs
+++ b/core/services/ipmfs/src/lister.rs
@@ -80,8 +80,8 @@ impl oio::PageList for IpmfsLister {
 
         for object in entries_body.entries.unwrap_or_default() {
             let path = match object.mode() {
-                EntryMode::FILE => format!("{}{}", &self.path, object.name),
-                EntryMode::DIR => format!("{}{}/", &self.path, object.name),
+                EntryMode::FILE => format!("{}{}", self.path, object.name),
+                EntryMode::DIR => format!("{}{}/", self.path, object.name),
                 EntryMode::Unknown => unreachable!(),
             };
 
diff --git a/core/services/koofr/src/backend.rs 
b/core/services/koofr/src/backend.rs
index 6160b8796..f50633e2e 100644
--- a/core/services/koofr/src/backend.rs
+++ b/core/services/koofr/src/backend.rs
@@ -111,10 +111,10 @@ impl Builder for KoofrBuilder {
 
     /// Builds the backend and returns the result of KoofrBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         if self.config.endpoint.is_empty() {
             return Err(Error::new(ErrorKind::ConfigInvalid, "endpoint is 
empty")
@@ -122,7 +122,7 @@ impl Builder for KoofrBuilder {
                 .with_context("service", KOOFR_SCHEME));
         }
 
-        debug!("backend use endpoint {}", &self.config.endpoint);
+        debug!("backend use endpoint {}", self.config.endpoint);
 
         if self.config.email.is_empty() {
             return Err(Error::new(ErrorKind::ConfigInvalid, "email is empty")
@@ -130,7 +130,7 @@ impl Builder for KoofrBuilder {
                 .with_context("service", KOOFR_SCHEME));
         }
 
-        debug!("backend use email {}", &self.config.email);
+        debug!("backend use email {}", self.config.email);
 
         let password = match &self.config.password {
             Some(password) => Ok(password.clone()),
diff --git a/core/services/lakefs/src/backend.rs 
b/core/services/lakefs/src/backend.rs
index 0e3cd7e5c..9c0387368 100644
--- a/core/services/lakefs/src/backend.rs
+++ b/core/services/lakefs/src/backend.rs
@@ -111,7 +111,7 @@ impl Builder for LakefsBuilder {
 
     /// Build a LakefsBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let endpoint = match self.config.endpoint {
             Some(endpoint) => Ok(endpoint.clone()),
@@ -119,7 +119,7 @@ impl Builder for LakefsBuilder {
                 .with_operation("Builder::build")
                 .with_context("service", LAKEFS_SCHEME)),
         }?;
-        debug!("backend use endpoint: {:?}", &endpoint);
+        debug!("backend use endpoint: {:?}", endpoint);
 
         let repository = match &self.config.repository {
             Some(repository) => Ok(repository.clone()),
@@ -127,16 +127,16 @@ impl Builder for LakefsBuilder {
                 .with_operation("Builder::build")
                 .with_context("service", LAKEFS_SCHEME)),
         }?;
-        debug!("backend use repository: {}", &repository);
+        debug!("backend use repository: {}", repository);
 
         let branch = match &self.config.branch {
             Some(branch) => branch.clone(),
             None => "main".to_string(),
         };
-        debug!("backend use branch: {}", &branch);
+        debug!("backend use branch: {}", branch);
 
         let root = normalize_root(&self.config.root.unwrap_or_default());
-        debug!("backend use root: {}", &root);
+        debug!("backend use root: {}", root);
 
         let username = match &self.config.username {
             Some(username) => Ok(username.clone()),
diff --git a/core/services/lakefs/src/lister.rs 
b/core/services/lakefs/src/lister.rs
index bdf948c51..c4e27f4ef 100644
--- a/core/services/lakefs/src/lister.rs
+++ b/core/services/lakefs/src/lister.rs
@@ -106,7 +106,7 @@ impl oio::PageList for LakefsLister {
             }
 
             let path = if entry_type == EntryMode::DIR {
-                format!("{}/", &status.path)
+                format!("{}/", status.path)
             } else {
                 status.path.clone()
             };
diff --git a/core/services/mini_moka/src/backend.rs 
b/core/services/mini_moka/src/backend.rs
index ddeaea9a1..2b8b2e077 100644
--- a/core/services/mini_moka/src/backend.rs
+++ b/core/services/mini_moka/src/backend.rs
@@ -88,7 +88,7 @@ impl Builder for MiniMokaBuilder {
     type Config = MiniMokaConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let mut builder: mini_moka::sync::CacheBuilder<String, MiniMokaValue, 
_> =
             mini_moka::sync::Cache::builder();
diff --git a/core/services/moka/src/backend.rs 
b/core/services/moka/src/backend.rs
index 9006e9def..ec0cbe76a 100644
--- a/core/services/moka/src/backend.rs
+++ b/core/services/moka/src/backend.rs
@@ -143,7 +143,7 @@ impl Builder for MokaBuilder {
     type Config = MokaConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = normalize_root(
             self.config
diff --git a/core/services/obs/src/backend.rs b/core/services/obs/src/backend.rs
index 7338b1954..121a7510a 100644
--- a/core/services/obs/src/backend.rs
+++ b/core/services/obs/src/backend.rs
@@ -135,7 +135,7 @@ impl Builder for ObsBuilder {
     type Config = ObsConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = normalize_root(&self.config.root.unwrap_or_default());
         debug!("backend use root {root}");
@@ -147,7 +147,7 @@ impl Builder for ObsBuilder {
                     .with_context("service", OBS_SCHEME),
             ),
         }?;
-        debug!("backend use bucket {}", &bucket);
+        debug!("backend use bucket {}", bucket);
 
         let uri = match &self.config.endpoint {
             Some(endpoint) => endpoint.parse::<Uri>().map_err(|err| {
@@ -174,7 +174,7 @@ impl Builder for ObsBuilder {
                 (host, false)
             }
         };
-        debug!("backend use endpoint {}", &endpoint);
+        debug!("backend use endpoint {}", endpoint);
 
         let ctx = Context::new().with_file_read(TokioFileRead).with_env(OsEnv);
 
@@ -252,7 +252,7 @@ impl Builder for ObsBuilder {
                 capability,
                 bucket,
                 root,
-                endpoint: format!("{}://{}", &scheme, &endpoint),
+                endpoint: format!("{}://{}", scheme, endpoint),
                 signer,
             }),
         })
diff --git a/core/services/oss/src/backend.rs b/core/services/oss/src/backend.rs
index 976991b2d..5b487fe18 100644
--- a/core/services/oss/src/backend.rs
+++ b/core/services/oss/src/backend.rs
@@ -410,13 +410,13 @@ impl Builder for OssBuilder {
     type Config = OssConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         #[allow(deprecated)]
         let skip_signature = self.config.skip_signature || 
self.config.allow_anonymous;
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         // Handle endpoint, region and bucket name.
         let bucket = match self.config.bucket.is_empty() {
@@ -434,7 +434,7 @@ impl Builder for OssBuilder {
             bucket,
             (&self.config.addressing_style).try_into()?,
         )?;
-        debug!("backend use bucket {}, endpoint: {}", &bucket, &endpoint);
+        debug!("backend use bucket {}, endpoint: {}", bucket, endpoint);
 
         let presign_endpoint = if self.config.presign_endpoint.is_some() {
             self.parse_endpoint(
@@ -446,7 +446,7 @@ impl Builder for OssBuilder {
         } else {
             endpoint.clone()
         };
-        debug!("backend use presign_endpoint: {}", &presign_endpoint);
+        debug!("backend use presign_endpoint: {}", presign_endpoint);
 
         let server_side_encryption = match &self.config.server_side_encryption 
{
             None => None,
diff --git a/core/services/pcloud/src/backend.rs 
b/core/services/pcloud/src/backend.rs
index d2951f26f..8b918d0ba 100644
--- a/core/services/pcloud/src/backend.rs
+++ b/core/services/pcloud/src/backend.rs
@@ -107,10 +107,10 @@ impl Builder for PcloudBuilder {
 
     /// Builds the backend and returns the result of PcloudBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         // Handle endpoint.
         if self.config.endpoint.is_empty() {
@@ -119,7 +119,7 @@ impl Builder for PcloudBuilder {
                 .with_context("service", PCLOUD_SCHEME));
         }
 
-        debug!("backend use endpoint {}", &self.config.endpoint);
+        debug!("backend use endpoint {}", self.config.endpoint);
 
         let username = match &self.config.username {
             Some(username) => Ok(username.clone()),
diff --git a/core/services/s3/src/backend.rs b/core/services/s3/src/backend.rs
index bceac617d..9d0869789 100644
--- a/core/services/s3/src/backend.rs
+++ b/core/services/s3/src/backend.rs
@@ -725,7 +725,7 @@ impl Builder for S3Builder {
     type Config = S3Config;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let S3Builder {
             mut config,
@@ -738,7 +738,7 @@ impl Builder for S3Builder {
         }
 
         let root = normalize_root(&config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         // Handle bucket name.
         let bucket = if Self::is_bucket_valid(&config) {
@@ -749,7 +749,7 @@ impl Builder for S3Builder {
                     .with_context("service", S3_SCHEME),
             )
         }?;
-        debug!("backend use bucket {}", &bucket);
+        debug!("backend use bucket {}", bucket);
 
         let default_storage_class = match &config.default_storage_class {
             None => None,
diff --git a/core/services/seafile/src/backend.rs 
b/core/services/seafile/src/backend.rs
index 52fc5817e..a176049e2 100644
--- a/core/services/seafile/src/backend.rs
+++ b/core/services/seafile/src/backend.rs
@@ -118,10 +118,10 @@ impl Builder for SeafileBuilder {
 
     /// Builds the backend and returns the result of SeafileBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         // Handle bucket.
         if self.config.repo_name.is_empty() {
@@ -130,7 +130,7 @@ impl Builder for SeafileBuilder {
                 .with_context("service", SEAFILE_SCHEME));
         }
 
-        debug!("backend use repo_name {}", &self.config.repo_name);
+        debug!("backend use repo_name {}", self.config.repo_name);
 
         let endpoint = match &self.config.endpoint {
             Some(endpoint) => Ok(endpoint.clone()),
diff --git a/core/services/sftp/src/backend.rs 
b/core/services/sftp/src/backend.rs
index 5b8cb8ab9..ba977218d 100644
--- a/core/services/sftp/src/backend.rs
+++ b/core/services/sftp/src/backend.rs
@@ -124,7 +124,7 @@ impl Builder for SftpBuilder {
     type Config = SftpConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("sftp backend build started: {:?}", &self);
+        debug!("sftp backend build started: {:?}", self);
         let endpoint = match self.config.endpoint.clone() {
             Some(v) => v,
             None => return Err(Error::new(ErrorKind::ConfigInvalid, "endpoint 
is empty")),
@@ -192,7 +192,7 @@ impl Builder for SftpBuilder {
             known_hosts_strategy,
         ));
 
-        debug!("sftp backend finished: {:?}", &self);
+        debug!("sftp backend finished: {:?}", self);
         Ok(SftpBackend { core })
     }
 }
diff --git a/core/services/swift/src/backend.rs 
b/core/services/swift/src/backend.rs
index fdeb7ebae..13a375519 100644
--- a/core/services/swift/src/backend.rs
+++ b/core/services/swift/src/backend.rs
@@ -126,7 +126,7 @@ impl Builder for SwiftBuilder {
 
     /// Build a SwiftBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = normalize_root(&self.config.root.unwrap_or_default());
         debug!("backend use root {root}");
@@ -146,7 +146,7 @@ impl Builder for SwiftBuilder {
                 ));
             }
         };
-        debug!("backend use endpoint: {}", &endpoint);
+        debug!("backend use endpoint: {}", endpoint);
 
         let container = match self.config.container {
             Some(container) => container,
diff --git a/core/services/swift/src/core.rs b/core/services/swift/src/core.rs
index 748773489..30399a42f 100644
--- a/core/services/swift/src/core.rs
+++ b/core/services/swift/src/core.rs
@@ -134,8 +134,8 @@ impl SwiftCore {
 
         let url = format!(
             "{}/{}/{}",
-            &self.endpoint,
-            &self.container,
+            self.endpoint,
+            self.container,
             percent_encode_path(&p)
         );
 
@@ -163,7 +163,7 @@ impl SwiftCore {
         paths: &[(String, OpDelete)],
     ) -> Result<Response<Buffer>> {
         // The bulk-delete endpoint is on the account URL (the endpoint 
itself).
-        let url = format!("{}?bulk-delete", &self.endpoint);
+        let url = format!("{}?bulk-delete", self.endpoint);
 
         let mut req = Request::post(&url);
 
@@ -177,7 +177,7 @@ impl SwiftCore {
             .iter()
             .map(|(path, _)| {
                 let abs = build_abs_path(&self.root, path);
-                format!("{}/{}", &self.container, percent_encode_path(&abs))
+                format!("{}/{}", self.container, percent_encode_path(&abs))
             })
             .collect::<Vec<_>>()
             .join("\n");
@@ -205,7 +205,7 @@ impl SwiftCore {
 
         // The delimiter is used to disable recursive listing.
         // Swift returns a 200 status code when there is no such pseudo 
directory in prefix.
-        let mut url = QueryPairsWriter::new(&format!("{}/{}/", &self.endpoint, 
&self.container,))
+        let mut url = QueryPairsWriter::new(&format!("{}/{}/", self.endpoint, 
self.container,))
             .push("prefix", &percent_encode_path(&p))
             .push("delimiter", delimiter)
             .push("format", "json");
@@ -241,8 +241,8 @@ impl SwiftCore {
         let p = build_abs_path(&self.root, path);
         let url = format!(
             "{}/{}/{}",
-            &self.endpoint,
-            &self.container,
+            self.endpoint,
+            self.container,
             percent_encode_path(&p)
         );
 
@@ -293,8 +293,8 @@ impl SwiftCore {
 
         let url = format!(
             "{}/{}/{}",
-            &self.endpoint,
-            &self.container,
+            self.endpoint,
+            self.container,
             percent_encode_path(&p)
         );
 
@@ -348,8 +348,8 @@ impl SwiftCore {
 
         let url = format!(
             "{}/{}/{}",
-            &self.endpoint,
-            &self.container,
+            self.endpoint,
+            self.container,
             percent_encode_path(&dst_p)
         );
 
@@ -384,8 +384,8 @@ impl SwiftCore {
 
         let url = format!(
             "{}/{}/{}",
-            &self.endpoint,
-            &self.container,
+            self.endpoint,
+            self.container,
             percent_encode_path(&p)
         );
 
@@ -443,8 +443,8 @@ impl SwiftCore {
         let segment = self.slo_segment_path(path, upload_id, part_number);
         let url = format!(
             "{}/{}/{}",
-            &self.endpoint,
-            &self.container,
+            self.endpoint,
+            self.container,
             percent_encode_path(&segment)
         );
 
@@ -477,8 +477,8 @@ impl SwiftCore {
         let abs = build_abs_path(&self.root, path);
         let url = format!(
             "{}/{}/{}?multipart-manifest=put",
-            &self.endpoint,
-            &self.container,
+            self.endpoint,
+            self.container,
             percent_encode_path(&abs)
         );
 
@@ -524,7 +524,7 @@ impl SwiftCore {
         let prefix = format!(".segments/{}{}/", abs.trim_end_matches('/'), 
upload_id);
 
         // List all segments with this prefix.
-        let url = QueryPairsWriter::new(&format!("{}/{}/", &self.endpoint, 
&self.container))
+        let url = QueryPairsWriter::new(&format!("{}/{}/", self.endpoint, 
self.container))
             .push("prefix", &percent_encode_path(&prefix))
             .push("format", "json")
             .finish();
@@ -551,8 +551,8 @@ impl SwiftCore {
             if let ListOpResponse::FileInfo { name, .. } = seg {
                 let seg_url = format!(
                     "{}/{}/{}",
-                    &self.endpoint,
-                    &self.container,
+                    self.endpoint,
+                    self.container,
                     percent_encode_path(&name)
                 );
 
@@ -606,7 +606,7 @@ impl SwiftCore {
         let signing_path = format!(
             "{}/{}/{}",
             account_path,
-            &self.container,
+            self.container,
             abs.trim_start_matches('/')
         );
 
@@ -629,10 +629,10 @@ impl SwiftCore {
 
         Ok(format!(
             "{}/{}/{}?temp_url_sig={}&temp_url_expires={}",
-            &self.endpoint,
-            &self.container,
+            self.endpoint,
+            self.container,
             percent_encode_path(&abs),
-            &encoded_sig,
+            encoded_sig,
             expires
         ))
     }
diff --git a/core/services/swift/src/deleter.rs 
b/core/services/swift/src/deleter.rs
index 2a4a2a087..42aff4b7c 100644
--- a/core/services/swift/src/deleter.rs
+++ b/core/services/swift/src/deleter.rs
@@ -73,7 +73,7 @@ impl oio::BatchDelete for SwiftDeleter {
             // The error paths from Swift include the container prefix, so we 
need
             // to reconstruct the full path for comparison.
             let abs = build_abs_path(&self.core.root, &path);
-            let full_path = format!("{}/{}", &self.core.container, abs);
+            let full_path = format!("{}/{}", self.core.container, abs);
 
             if let Some(error_entry) = result.errors.iter().find(|e| {
                 e.first()
diff --git a/core/services/swift/src/writer.rs 
b/core/services/swift/src/writer.rs
index 0ebb710e4..d99fbc609 100644
--- a/core/services/swift/src/writer.rs
+++ b/core/services/swift/src/writer.rs
@@ -129,7 +129,7 @@ impl oio::MultipartWrite for SwiftWriter {
                     .core
                     .slo_segment_path(&self.path, upload_id, part.part_number);
                 SloManifestEntry {
-                    path: format!("{}/{}", &self.core.container, segment),
+                    path: format!("{}/{}", self.core.container, segment),
                     etag: part.etag.trim_matches('"').to_string(),
                     size_bytes: part.size.unwrap_or(0),
                 }
diff --git a/core/services/tikv/src/backend.rs 
b/core/services/tikv/src/backend.rs
index 565de1673..f817c98d1 100644
--- a/core/services/tikv/src/backend.rs
+++ b/core/services/tikv/src/backend.rs
@@ -94,7 +94,7 @@ impl Builder for TikvBuilder {
                 || self.config.key_path.is_some()
                 || self.config.cert_path.is_some())
         {
-            return Err(
+            Err(
                 Error::new(ErrorKind::ConfigInvalid, "invalid tls 
configuration")
                     .with_context("service", TIKV_SCHEME)
                     .with_context("endpoints", format!("{endpoints:?}")),
diff --git a/core/services/upyun/src/backend.rs 
b/core/services/upyun/src/backend.rs
index 23ba12748..3e1c18394 100644
--- a/core/services/upyun/src/backend.rs
+++ b/core/services/upyun/src/backend.rs
@@ -103,10 +103,10 @@ impl Builder for UpyunBuilder {
 
     /// Builds the backend and returns the result of UpyunBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         // Handle bucket.
         if self.config.bucket.is_empty() {
@@ -115,7 +115,7 @@ impl Builder for UpyunBuilder {
                 .with_context("service", UPYUN_SCHEME));
         }
 
-        debug!("backend use bucket {}", &self.config.bucket);
+        debug!("backend use bucket {}", self.config.bucket);
 
         let operator = match &self.config.operator {
             Some(operator) => Ok(operator.clone()),
diff --git a/core/services/vercel-blob/src/backend.rs 
b/core/services/vercel-blob/src/backend.rs
index 24d619847..efc40bf2a 100644
--- a/core/services/vercel-blob/src/backend.rs
+++ b/core/services/vercel-blob/src/backend.rs
@@ -82,10 +82,10 @@ impl Builder for VercelBlobBuilder {
 
     /// Builds the backend and returns the result of VercelBlobBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         // Handle token.
         let Some(token) = self.config.token.clone() else {
diff --git a/core/services/webdav/src/backend.rs 
b/core/services/webdav/src/backend.rs
index e18f0037d..a82f902a6 100644
--- a/core/services/webdav/src/backend.rs
+++ b/core/services/webdav/src/backend.rs
@@ -177,7 +177,7 @@ impl Builder for WebdavBuilder {
     type Config = WebdavConfig;
 
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let endpoint = match &self.config.endpoint {
             Some(v) => v,
diff --git a/core/services/yandex-disk/src/backend.rs 
b/core/services/yandex-disk/src/backend.rs
index a0786adc3..040103ade 100644
--- a/core/services/yandex-disk/src/backend.rs
+++ b/core/services/yandex-disk/src/backend.rs
@@ -79,10 +79,10 @@ impl Builder for YandexDiskBuilder {
 
     /// Builds the backend and returns the result of YandexDiskBackend.
     fn build(self) -> Result<impl Service> {
-        debug!("backend build started: {:?}", &self);
+        debug!("backend build started: {:?}", self);
 
         let root = 
normalize_root(&self.config.root.clone().unwrap_or_default());
-        debug!("backend use root {}", &root);
+        debug!("backend use root {}", root);
 
         // Handle oauth access_token.
         if self.config.access_token.is_empty() {
diff --git a/core/tests/behavior/async_list.rs 
b/core/tests/behavior/async_list.rs
index 6f1f4aafc..ef25aa22a 100644
--- a/core/tests/behavior/async_list.rs
+++ b/core/tests/behavior/async_list.rs
@@ -81,7 +81,7 @@ pub async fn test_check(op: Operator) -> Result<()> {
 pub async fn test_list_dir(op: Operator) -> Result<()> {
     let parent = uuid::Uuid::new_v4().to_string();
     let path = format!("{parent}/{}", uuid::Uuid::new_v4());
-    debug!("Generate a random file: {}", &path);
+    debug!("Generate a random file: {}", path);
     let (content, size) = gen_bytes(op.info().capability());
 
     op.write(&path, content).await.expect("write must succeed");
@@ -106,7 +106,7 @@ pub async fn test_list_dir(op: Operator) -> Result<()> {
 /// List prefix should return newly created file.
 pub async fn test_list_prefix(op: Operator) -> Result<()> {
     let path = uuid::Uuid::new_v4().to_string();
-    debug!("Generate a random file: {}", &path);
+    debug!("Generate a random file: {}", path);
     let (content, _) = gen_bytes(op.info().capability());
 
     op.write(&path, content).await.expect("write must succeed");
diff --git a/core/tests/behavior/async_presign.rs 
b/core/tests/behavior/async_presign.rs
index f3d8eaca9..2f242fea1 100644
--- a/core/tests/behavior/async_presign.rs
+++ b/core/tests/behavior/async_presign.rs
@@ -43,7 +43,7 @@ pub fn tests(op: &Operator, tests: &mut Vec<Trial>) {
 /// Presign write should succeed.
 pub async fn test_presign_write(op: Operator) -> Result<()> {
     let path = uuid::Uuid::new_v4().to_string();
-    debug!("Generate a random file: {}", &path);
+    debug!("Generate a random file: {}", path);
     let (content, size) = gen_bytes(op.info().capability());
 
     let signed_req = op.presign_write(&path, Duration::from_secs(3600)).await?;
@@ -75,7 +75,7 @@ pub async fn test_presign_write(op: Operator) -> Result<()> {
 
 pub async fn test_presign_stat(op: Operator) -> Result<()> {
     let path = uuid::Uuid::new_v4().to_string();
-    debug!("Generate a random file: {}", &path);
+    debug!("Generate a random file: {}", path);
     let (content, size) = gen_bytes(op.info().capability());
     op.write(&path, content.clone())
         .await
@@ -105,7 +105,7 @@ pub async fn test_presign_stat(op: Operator) -> Result<()> {
 // Presign read should read content successfully.
 pub async fn test_presign_read(op: Operator) -> Result<()> {
     let path = uuid::Uuid::new_v4().to_string();
-    debug!("Generate a random file: {}", &path);
+    debug!("Generate a random file: {}", path);
     let (content, size) = gen_bytes(op.info().capability());
 
     op.write(&path, content.clone())
@@ -142,7 +142,7 @@ pub async fn test_presign_delete(op: Operator) -> 
Result<()> {
     }
 
     let path = uuid::Uuid::new_v4().to_string();
-    debug!("Generate a random file: {}", &path);
+    debug!("Generate a random file: {}", path);
     let (content, _size) = gen_bytes(op.info().capability());
     // create a file
     op.write(&path, content.clone())
diff --git a/core/tests/behavior/async_stat.rs 
b/core/tests/behavior/async_stat.rs
index 141200894..e2a595485 100644
--- a/core/tests/behavior/async_stat.rs
+++ b/core/tests/behavior/async_stat.rs
@@ -148,7 +148,7 @@ pub async fn test_stat_not_cleaned_path(op: Operator) -> 
Result<()> {
 
     op.write(&path, content).await.expect("write must succeed");
 
-    let meta = op.stat(&format!("//{}", &path)).await?;
+    let meta = op.stat(&format!("//{}", path)).await?;
     assert_eq!(meta.mode(), EntryMode::FILE);
     assert_eq!(meta.content_length(), size as u64);
 
diff --git a/dev/src/generate/python.j2 b/dev/src/generate/python.j2
index 7ff45f523..21227fed6 100644
--- a/dev/src/generate/python.j2
+++ b/dev/src/generate/python.j2
@@ -39,7 +39,7 @@ pub enum Scheme {
 impl Scheme {
     #[getter]
     pub fn name(&self) -> String {
-        format!("{:?}", &self)
+        format!("{:?}", self)
     }
 
     #[getter]
diff --git a/integrations/object_store/README.md 
b/integrations/object_store/README.md
index 4986712ff..4842e19af 100644
--- a/integrations/object_store/README.md
+++ b/integrations/object_store/README.md
@@ -145,7 +145,7 @@ async fn main() -> Result<()> {
     // Dynamic query using the file path directly
     let ctx = ctx.enable_url_table();
     let df = ctx
-        .sql(format!(r#"SELECT * FROM '{}' LIMIT 10"#, &path).as_str())
+        .sql(format!(r#"SELECT * FROM '{}' LIMIT 10"#, path).as_str())
         .await?;
     // Print the results
     df.show().await?;
diff --git a/integrations/object_store/examples/datafusion.rs 
b/integrations/object_store/examples/datafusion.rs
index 6076b8415..dd9cd10fe 100644
--- a/integrations/object_store/examples/datafusion.rs
+++ b/integrations/object_store/examples/datafusion.rs
@@ -58,7 +58,7 @@ async fn main() -> Result<()> {
     // Dynamic query using the file path directly
     let ctx = ctx.enable_url_table();
     let df = ctx
-        .sql(format!(r#"SELECT * FROM '{}' LIMIT 10"#, &path).as_str())
+        .sql(format!(r#"SELECT * FROM '{}' LIMIT 10"#, path).as_str())
         .await?;
     // Print the results
     df.show().await?;

Reply via email to