diff --git a/.github/workflows/ci-post-merge.yml b/.github/workflows/ci-post-merge.yml
index 55202ba6c..9da5de5fd 100644
--- a/.github/workflows/ci-post-merge.yml
+++ b/.github/workflows/ci-post-merge.yml
@@ -45,7 +45,7 @@ jobs:
toolchain: ${{ matrix.version.version }}
- name: Install cargo-hack and cargo-ci-cache-clean
- uses: taiki-e/install-action@v2.32.17
+ uses: taiki-e/install-action@v2.33.16
with:
tool: cargo-hack,cargo-ci-cache-clean
@@ -88,7 +88,7 @@ jobs:
uses: actions-rust-lang/setup-rust-toolchain@v1.8.0
- name: Install cargo-hack
- uses: taiki-e/install-action@v2.32.17
+ uses: taiki-e/install-action@v2.33.16
with:
tool: cargo-hack
@@ -109,7 +109,7 @@ jobs:
uses: actions-rust-lang/setup-rust-toolchain@v1.8.0
- name: Install nextest
- uses: taiki-e/install-action@v2.32.17
+ uses: taiki-e/install-action@v2.33.16
with:
tool: nextest
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2488f7496..85854bdfd 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -50,7 +50,7 @@ jobs:
toolchain: ${{ matrix.version.version }}
- name: Install cargo-hack and cargo-ci-cache-clean
- uses: taiki-e/install-action@v2.32.17
+ uses: taiki-e/install-action@v2.33.16
with:
tool: cargo-hack,cargo-ci-cache-clean
diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
index ac5143d58..9ec33ee55 100644
--- a/.github/workflows/coverage.yml
+++ b/.github/workflows/coverage.yml
@@ -23,7 +23,7 @@ jobs:
components: llvm-tools-preview
- name: Install cargo-llvm-cov
- uses: taiki-e/install-action@v2.32.17
+ uses: taiki-e/install-action@v2.33.16
with:
tool: cargo-llvm-cov
@@ -31,7 +31,7 @@ jobs:
run: cargo llvm-cov --workspace --all-features --codecov --output-path codecov.json
- name: Upload coverage to Codecov
- uses: codecov/codecov-action@v4.3.0
+ uses: codecov/codecov-action@v4.3.1
with:
files: codecov.json
fail_ci_if_error: true
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index b0ac537a2..9c6846824 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -79,10 +79,10 @@ jobs:
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1.8.0
with:
- toolchain: nightly-2023-08-25
+ toolchain: nightly-2024-04-26
- name: Install cargo-public-api
- uses: taiki-e/install-action@v2.32.17
+ uses: taiki-e/install-action@v2.33.16
with:
tool: cargo-public-api
diff --git a/.github/workflows/upload-doc.yml b/.github/workflows/upload-doc.yml
index 963b7f6b3..6352e44d2 100644
--- a/.github/workflows/upload-doc.yml
+++ b/.github/workflows/upload-doc.yml
@@ -35,7 +35,7 @@ jobs:
run: echo '' > target/doc/index.html
- name: Deploy to GitHub Pages
- uses: JamesIves/github-pages-deploy-action@v4.5.0
+ uses: JamesIves/github-pages-deploy-action@v4.6.0
with:
folder: target/doc
single-commit: true
diff --git a/actix-http/src/h1/dispatcher.rs b/actix-http/src/h1/dispatcher.rs
index a24a6bb07..00b51360e 100644
--- a/actix-http/src/h1/dispatcher.rs
+++ b/actix-http/src/h1/dispatcher.rs
@@ -706,7 +706,7 @@ where
req.head_mut().peer_addr = *this.peer_addr;
- req.conn_data = this.conn_data.clone();
+ req.conn_data.clone_from(this.conn_data);
match this.codec.message_type() {
// request has no payload
diff --git a/actix-http/src/h2/dispatcher.rs b/actix-http/src/h2/dispatcher.rs
index 97ceb51e9..400476c88 100644
--- a/actix-http/src/h2/dispatcher.rs
+++ b/actix-http/src/h2/dispatcher.rs
@@ -126,7 +126,7 @@ where
head.headers = parts.headers.into();
head.peer_addr = this.peer_addr;
- req.conn_data = this.conn_data.clone();
+ req.conn_data.clone_from(&this.conn_data);
let fut = this.flow.service.call(req);
let config = this.config.clone();
diff --git a/actix-multipart/src/form/mod.rs b/actix-multipart/src/form/mod.rs
index 67adfd4b2..451b103fd 100644
--- a/actix-multipart/src/form/mod.rs
+++ b/actix-multipart/src/form/mod.rs
@@ -313,7 +313,8 @@ where
let entry = field_limits
.entry(field.name().to_owned())
.or_insert_with(|| T::limit(field.name()));
- limits.field_limit_remaining = entry.to_owned();
+
+ limits.field_limit_remaining.clone_from(entry);
T::handle_field(&req, field, &mut limits, &mut state).await?;
diff --git a/actix-router/src/path.rs b/actix-router/src/path.rs
index 467420cd3..9031ab763 100644
--- a/actix-router/src/path.rs
+++ b/actix-router/src/path.rs
@@ -154,15 +154,11 @@ impl Path {
None
}
- /// Get matched parameter by name.
+ /// Returns matched parameter by name.
///
/// If keyed parameter is not available empty string is used as default value.
pub fn query(&self, key: &str) -> &str {
- if let Some(s) = self.get(key) {
- s
- } else {
- ""
- }
+ self.get(key).unwrap_or_default()
}
/// Return iterator to items in parameter container.
diff --git a/actix-web/src/config.rs b/actix-web/src/config.rs
index fba0c2717..5e8b056f1 100644
--- a/actix-web/src/config.rs
+++ b/actix-web/src/config.rs
@@ -148,7 +148,7 @@ impl AppConfig {
#[cfg(test)]
pub(crate) fn set_host(&mut self, host: &str) {
- self.host = host.to_owned();
+ host.clone_into(&mut self.host);
}
}
diff --git a/actix-web/src/resource.rs b/actix-web/src/resource.rs
index 291d67460..00555b7b2 100644
--- a/actix-web/src/resource.rs
+++ b/actix-web/src/resource.rs
@@ -771,7 +771,7 @@ mod tests {
data3: web::Data| {
assert_eq!(**data1, 10);
assert_eq!(**data2, '*');
- let error = std::f64::EPSILON;
+ let error = f64::EPSILON;
assert!((**data3 - 1.0).abs() < error);
HttpResponse::Ok()
},