Compare commits

..

No commits in common. "1a0f44fff152c60477a3fec8b527acb4aba2a924" and "34826c625327460c921aff61d8401fb280d79612" have entirely different histories.

40 changed files with 163 additions and 128 deletions

View File

@ -1,12 +1,10 @@
## PR Type ## PR Type
<!-- What kind of change does this PR make? --> <!-- What kind of change does this PR make? -->
<!-- Bug Fix / Feature / Refactor / Code Style / Other --> <!-- Bug Fix / Feature / Refactor / Code Style / Other -->
INSERT_PR_TYPE INSERT_PR_TYPE
## PR Checklist
## PR Checklist
Check your PR fulfills the following: Check your PR fulfills the following:
<!-- For draft PRs check the boxes as you complete them. --> <!-- For draft PRs check the boxes as you complete them. -->
@ -16,10 +14,11 @@ Check your PR fulfills the following:
- [ ] A changelog entry has been made for the appropriate packages. - [ ] A changelog entry has been made for the appropriate packages.
- [ ] Format code with the latest stable rustfmt - [ ] Format code with the latest stable rustfmt
## Overview
## Overview
<!-- Describe the current and new behavior. --> <!-- Describe the current and new behavior. -->
<!-- Emphasize any breaking changes. --> <!-- Emphasize any breaking changes. -->
<!-- If this PR fixes or closes an issue, reference it here. --> <!-- If this PR fixes or closes an issue, reference it here. -->
<!-- Closes #000 --> <!-- Closes #000 -->

View File

@ -64,7 +64,7 @@ jobs:
toolchain: ${{ matrix.version }} toolchain: ${{ matrix.version }}
- name: Install just, cargo-hack, cargo-nextest, cargo-ci-cache-clean - name: Install just, cargo-hack, cargo-nextest, cargo-ci-cache-clean
uses: taiki-e/install-action@v2.47.0 uses: taiki-e/install-action@v2.46.4
with: with:
tool: just,cargo-hack,cargo-nextest,cargo-ci-cache-clean tool: just,cargo-hack,cargo-nextest,cargo-ci-cache-clean
@ -121,9 +121,26 @@ jobs:
toolchain: nightly toolchain: nightly
- name: Install cargo-hack & cargo-minimal-versions - name: Install cargo-hack & cargo-minimal-versions
uses: taiki-e/install-action@v2.47.0 uses: taiki-e/install-action@v2.46.4
with: with:
tool: cargo-hack,cargo-minimal-versions tool: cargo-hack,cargo-minimal-versions
- name: Check With Minimal Versions - name: Check With Minimal Versions
run: cargo minimal-versions check run: cargo minimal-versions check
nextest:
name: nextest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1.10.1
- name: Install cargo-nextest
uses: taiki-e/install-action@v2.46.4
with:
tool: cargo-nextest
- name: Test with cargo-nextest
run: cargo nextest run

View File

@ -73,7 +73,7 @@ jobs:
toolchain: ${{ matrix.version.version }} toolchain: ${{ matrix.version.version }}
- name: Install just, cargo-hack, cargo-nextest, cargo-ci-cache-clean - name: Install just, cargo-hack, cargo-nextest, cargo-ci-cache-clean
uses: taiki-e/install-action@v2.47.0 uses: taiki-e/install-action@v2.46.4
with: with:
tool: just,cargo-hack,cargo-nextest,cargo-ci-cache-clean tool: just,cargo-hack,cargo-nextest,cargo-ci-cache-clean
@ -125,7 +125,7 @@ jobs:
toolchain: nightly toolchain: nightly
- name: Install just - name: Install just
uses: taiki-e/install-action@v2.47.0 uses: taiki-e/install-action@v2.46.4
with: with:
tool: just tool: just

View File

@ -23,7 +23,7 @@ jobs:
components: llvm-tools-preview components: llvm-tools-preview
- name: Install cargo-llvm-cov - name: Install cargo-llvm-cov
uses: taiki-e/install-action@v2.47.0 uses: taiki-e/install-action@v2.46.4
with: with:
tool: cargo-llvm-cov tool: cargo-llvm-cov
@ -31,7 +31,7 @@ jobs:
run: cargo llvm-cov --workspace --all-features --codecov --output-path codecov.json run: cargo llvm-cov --workspace --all-features --codecov --output-path codecov.json
- name: Upload coverage to Codecov - name: Upload coverage to Codecov
uses: codecov/codecov-action@v5.1.2 uses: codecov/codecov-action@v5.1.1
with: with:
files: codecov.json files: codecov.json
fail_ci_if_error: true fail_ci_if_error: true

View File

@ -56,7 +56,7 @@ jobs:
toolchain: ${{ vars.RUST_VERSION_EXTERNAL_TYPES }} toolchain: ${{ vars.RUST_VERSION_EXTERNAL_TYPES }}
- name: Install just - name: Install just
uses: taiki-e/install-action@v2.47.0 uses: taiki-e/install-action@v2.46.4
with: with:
tool: just tool: just
@ -67,3 +67,31 @@ jobs:
- name: check external types - name: check external types
run: just check-external-types-all +${{ vars.RUST_VERSION_EXTERNAL_TYPES }} run: just check-external-types-all +${{ vars.RUST_VERSION_EXTERNAL_TYPES }}
public-api-diff:
name: Public API Diff
runs-on: ubuntu-latest
steps:
- name: Checkout main branch
uses: actions/checkout@v4
with:
ref: ${{ github.base_ref }}
- name: Checkout PR branch
uses: actions/checkout@v4
- name: Install Rust (${{ vars.RUST_VERSION_API_DIFF }})
uses: actions-rust-lang/setup-rust-toolchain@v1.10.1
with:
toolchain: ${{ vars.RUST_VERSION_API_DIFF }}
- name: Install cargo-public-api
uses: taiki-e/install-action@v2.46.4
with:
tool: cargo-public-api
- name: Generate API diff
run: |
for f in $(find -mindepth 2 -maxdepth 2 -name Cargo.toml); do
cargo public-api --manifest-path "$f" --simplified diff ${{ github.event.pull_request.base.sha }}..${{ github.sha }}
done

View File

@ -1,29 +0,0 @@
exclude = ["target/*"]
include = ["**/*.toml"]
[formatting]
column_width = 110
[[rule]]
include = ["**/Cargo.toml"]
keys = [
"dependencies",
"*-dependencies",
"workspace.dependencies",
"workspace.*-dependencies",
"target.*.dependencies",
"target.*.*-dependencies",
]
formatting.reorder_keys = true
[[rule]]
include = ["**/Cargo.toml"]
keys = [
"dependencies.*",
"*-dependencies.*",
"workspace.dependencies.*",
"workspace.*-dependencies.*",
"target.*.dependencies",
"target.*.*-dependencies",
]
formatting.reorder_keys = false

View File

@ -36,9 +36,3 @@ local-waker = { path = "local-waker" }
lto = true lto = true
opt-level = 3 opt-level = 3
codegen-units = 1 codegen-units = 1
[workspace.lints.rust]
rust_2018_idioms = "deny"
nonstandard-style = "deny"
future_incompatible = "deny"
missing_docs = { level = "warn", priority = -1 }

View File

@ -3,7 +3,7 @@
> A collection of lower-level libraries for composable network services. > A collection of lower-level libraries for composable network services.
[![CI](https://github.com/actix/actix-net/actions/workflows/ci.yml/badge.svg?event=push&style=flat-square)](https://github.com/actix/actix-net/actions/workflows/ci.yml) [![CI](https://github.com/actix/actix-net/actions/workflows/ci.yml/badge.svg?event=push&style=flat-square)](https://github.com/actix/actix-net/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/actix/actix-net/graph/badge.svg?token=8rKIZKtLLm)](https://codecov.io/gh/actix/actix-net) [![codecov](https://codecov.io/gh/actix/actix-net/branch/master/graph/badge.svg)](https://codecov.io/gh/actix/actix-net)
[![Chat on Discord](https://img.shields.io/discord/771444961383153695?label=chat&logo=discord)](https://discord.gg/NWpN5mmg3x) [![Chat on Discord](https://img.shields.io/discord/771444961383153695?label=chat&logo=discord)](https://discord.gg/NWpN5mmg3x)
[![Dependency Status](https://deps.rs/repo/github/actix/actix-net/status.svg)](https://deps.rs/repo/github/actix/actix-net) [![Dependency Status](https://deps.rs/repo/github/actix/actix-net/status.svg)](https://deps.rs/repo/github/actix/actix-net)

View File

@ -1,7 +1,10 @@
[package] [package]
name = "actix-codec" name = "actix-codec"
version = "0.5.2" version = "0.5.2"
authors = ["Nikolay Kim <fafhrd91@gmail.com>", "Rob Ede <robjtede@icloud.com>"] authors = [
"Nikolay Kim <fafhrd91@gmail.com>",
"Rob Ede <robjtede@icloud.com>",
]
description = "Codec utilities for working with framed protocols" description = "Codec utilities for working with framed protocols"
keywords = ["network", "framework", "async", "futures"] keywords = ["network", "framework", "async", "futures"]
repository = "https://github.com/actix/actix-net" repository = "https://github.com/actix/actix-net"
@ -11,7 +14,13 @@ edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
[package.metadata.cargo_check_external_types] [package.metadata.cargo_check_external_types]
allowed_external_types = ["bytes::*", "futures_core::*", "futures_sink::*", "tokio::*", "tokio_util::*"] allowed_external_types = [
"bytes::*",
"futures_core::*",
"futures_sink::*",
"tokio::*",
"tokio_util::*",
]
[dependencies] [dependencies]
bitflags = "2" bitflags = "2"
@ -31,6 +40,3 @@ tokio-test = "0.4.2"
[[bench]] [[bench]]
name = "lines" name = "lines"
harness = false harness = false
[lints]
workspace = true

View File

@ -1,5 +1,3 @@
#![allow(missing_docs)]
use bytes::BytesMut; use bytes::BytesMut;
use criterion::{criterion_group, criterion_main, Criterion}; use criterion::{criterion_group, criterion_main, Criterion};

View File

@ -6,6 +6,8 @@
//! [`Sink`]: futures_sink::Sink //! [`Sink`]: futures_sink::Sink
//! [`Stream`]: futures_core::Stream //! [`Stream`]: futures_core::Stream
#![deny(rust_2018_idioms, nonstandard_style)]
#![warn(future_incompatible, missing_docs)]
#![doc(html_logo_url = "https://actix.rs/img/logo.png")] #![doc(html_logo_url = "https://actix.rs/img/logo.png")]
#![doc(html_favicon_url = "https://actix.rs/favicon.ico")] #![doc(html_favicon_url = "https://actix.rs/favicon.ico")]

View File

@ -1,5 +1,3 @@
#![allow(missing_docs)]
use std::{ use std::{
collections::VecDeque, collections::VecDeque,
io::{self, Write}, io::{self, Write},

View File

@ -34,6 +34,3 @@ actix-rt = "2"
futures-util = { version = "0.3.17", default-features = false } futures-util = { version = "0.3.17", default-features = false }
rustversion-msrv = "0.100" rustversion-msrv = "0.100"
trybuild = "1" trybuild = "1"
[lints]
workspace = true

View File

@ -8,6 +8,8 @@
//! # Tests //! # Tests
//! See docs for the [`#[test]`](macro@test) macro. //! See docs for the [`#[test]`](macro@test) macro.
#![deny(rust_2018_idioms, nonstandard_style)]
#![warn(future_incompatible)]
#![doc(html_logo_url = "https://actix.rs/img/logo.png")] #![doc(html_logo_url = "https://actix.rs/img/logo.png")]
#![doc(html_favicon_url = "https://actix.rs/favicon.ico")] #![doc(html_favicon_url = "https://actix.rs/favicon.ico")]

View File

@ -1,5 +1,3 @@
#![allow(missing_docs)]
#[rustversion_msrv::msrv] #[rustversion_msrv::msrv]
#[test] #[test]
fn compile_macros() { fn compile_macros() {

View File

@ -1,7 +1,10 @@
[package] [package]
name = "actix-rt" name = "actix-rt"
version = "2.10.0" version = "2.10.0"
authors = ["Nikolay Kim <fafhrd91@gmail.com>", "Rob Ede <robjtede@icloud.com>"] authors = [
"Nikolay Kim <fafhrd91@gmail.com>",
"Rob Ede <robjtede@icloud.com>",
]
description = "Tokio-based single-threaded async runtime for the Actix ecosystem" description = "Tokio-based single-threaded async runtime for the Actix ecosystem"
keywords = ["async", "futures", "io", "runtime"] keywords = ["async", "futures", "io", "runtime"]
homepage = "https://actix.rs" homepage = "https://actix.rs"
@ -12,7 +15,10 @@ edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
[package.metadata.cargo_check_external_types] [package.metadata.cargo_check_external_types]
allowed_external_types = ["actix_macros::*", "tokio::*"] allowed_external_types = [
"actix_macros::*",
"tokio::*",
]
[features] [features]
default = ["macros"] default = ["macros"]
@ -31,6 +37,3 @@ tokio-uring = { version = "0.5", optional = true }
[dev-dependencies] [dev-dependencies]
tokio = { version = "1.23.1", features = ["full"] } tokio = { version = "1.23.1", features = ["full"] }
[lints]
workspace = true

View File

@ -41,6 +41,8 @@
//! Note that there are currently some unimplemented parts of using `actix-rt` with `io-uring`. //! Note that there are currently some unimplemented parts of using `actix-rt` with `io-uring`.
//! In particular, when running a `System`, only `System::block_on` is supported. //! In particular, when running a `System`, only `System::block_on` is supported.
#![deny(rust_2018_idioms, nonstandard_style)]
#![warn(future_incompatible, missing_docs)]
#![allow(clippy::type_complexity)] #![allow(clippy::type_complexity)]
#![doc(html_logo_url = "https://actix.rs/img/logo.png")] #![doc(html_logo_url = "https://actix.rs/img/logo.png")]
#![doc(html_favicon_url = "https://actix.rs/favicon.ico")] #![doc(html_favicon_url = "https://actix.rs/favicon.ico")]

View File

@ -1,5 +1,3 @@
#![allow(missing_docs)]
use std::{ use std::{
future::Future, future::Future,
time::{Duration, Instant}, time::{Duration, Instant},

View File

@ -16,7 +16,9 @@ edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
[package.metadata.cargo_check_external_types] [package.metadata.cargo_check_external_types]
allowed_external_types = ["tokio::*"] allowed_external_types = [
"tokio::*",
]
[features] [features]
default = [] default = []
@ -26,6 +28,7 @@ io-uring = ["tokio-uring", "actix-rt/io-uring"]
actix-rt = { version = "2.10", default-features = false } actix-rt = { version = "2.10", default-features = false }
actix-service = "2" actix-service = "2"
actix-utils = "3" actix-utils = "3"
futures-core = { version = "0.3.17", default-features = false, features = ["alloc"] } futures-core = { version = "0.3.17", default-features = false, features = ["alloc"] }
futures-util = { version = "0.3.17", default-features = false, features = ["alloc"] } futures-util = { version = "0.3.17", default-features = false, features = ["alloc"] }
mio = { version = "1", features = ["os-poll", "net"] } mio = { version = "1", features = ["os-poll", "net"] }
@ -42,9 +45,6 @@ actix-codec = "0.5"
actix-rt = "2.8" actix-rt = "2.8"
bytes = "1" bytes = "1"
futures-util = { version = "0.3.17", default-features = false, features = ["sink", "async-await-macro"] }
pretty_env_logger = "0.5" pretty_env_logger = "0.5"
futures-util = { version = "0.3.17", default-features = false, features = ["sink", "async-await-macro"] }
tokio = { version = "1.23.1", features = ["io-util", "rt-multi-thread", "macros", "fs"] } tokio = { version = "1.23.1", features = ["io-util", "rt-multi-thread", "macros", "fs"] }
[lints]
workspace = true

View File

@ -8,8 +8,6 @@
//! //!
//! Follow the prompt and enter a file path, relative or absolute. //! Follow the prompt and enter a file path, relative or absolute.
#![allow(missing_docs)]
use std::io; use std::io;
use actix_codec::{Framed, LinesCodec}; use actix_codec::{Framed, LinesCodec};

View File

@ -1,5 +1,7 @@
//! General purpose TCP server. //! General purpose TCP server.
#![deny(rust_2018_idioms, nonstandard_style)]
#![warn(future_incompatible)]
#![doc(html_logo_url = "https://actix.rs/img/logo.png")] #![doc(html_logo_url = "https://actix.rs/img/logo.png")]
#![doc(html_favicon_url = "https://actix.rs/favicon.ico")] #![doc(html_favicon_url = "https://actix.rs/favicon.ico")]

View File

@ -160,7 +160,6 @@ pub enum MioStream {
/// Helper trait for converting a Mio stream into a Tokio stream. /// Helper trait for converting a Mio stream into a Tokio stream.
pub trait FromStream: Sized { pub trait FromStream: Sized {
/// Creates stream from a `mio` stream.
fn from_mio(sock: MioStream) -> io::Result<Self>; fn from_mio(sock: MioStream) -> io::Result<Self>;
} }

View File

@ -1,4 +1,4 @@
#![allow(clippy::let_underscore_future, missing_docs)] #![allow(clippy::let_underscore_future)]
use std::{ use std::{
net, net,

View File

@ -1,5 +1,3 @@
#![allow(missing_docs)]
use std::net; use std::net;
use actix_rt::net::TcpStream; use actix_rt::net::TcpStream;

View File

@ -1,7 +1,10 @@
[package] [package]
name = "actix-service" name = "actix-service"
version = "2.0.2" version = "2.0.2"
authors = ["Nikolay Kim <fafhrd91@gmail.com>", "Rob Ede <robjtede@icloud.com>"] authors = [
"Nikolay Kim <fafhrd91@gmail.com>",
"Rob Ede <robjtede@icloud.com>",
]
description = "Service trait and combinators for representing asynchronous request/response operations." description = "Service trait and combinators for representing asynchronous request/response operations."
keywords = ["network", "framework", "async", "futures", "service"] keywords = ["network", "framework", "async", "futures", "service"]
categories = ["network-programming", "asynchronous", "no-std"] categories = ["network-programming", "asynchronous", "no-std"]
@ -19,6 +22,3 @@ pin-project-lite = "0.2"
actix-rt = "2" actix-rt = "2"
actix-utils = "3" actix-utils = "3"
futures-util = { version = "0.3.17", default-features = false } futures-util = { version = "0.3.17", default-features = false }
[lints]
workspace = true

View File

@ -1,5 +1,3 @@
#![allow(missing_docs)]
use std::{future::Future, sync::mpsc, time::Duration}; use std::{future::Future, sync::mpsc, time::Duration};
async fn oracle<F, Fut>(f: F) -> (u32, u32) async fn oracle<F, Fut>(f: F) -> (u32, u32)

View File

@ -1,6 +1,8 @@
//! See [`Service`] docs for information on this crate's foundational trait. //! See [`Service`] docs for information on this crate's foundational trait.
#![no_std] #![no_std]
#![deny(rust_2018_idioms, nonstandard_style)]
#![warn(future_incompatible, missing_docs)]
#![allow(clippy::type_complexity)] #![allow(clippy::type_complexity)]
#![doc(html_logo_url = "https://actix.rs/img/logo.png")] #![doc(html_logo_url = "https://actix.rs/img/logo.png")]
#![doc(html_favicon_url = "https://actix.rs/favicon.ico")] #![doc(html_favicon_url = "https://actix.rs/favicon.ico")]

View File

@ -1,7 +1,10 @@
[package] [package]
name = "actix-tls" name = "actix-tls"
version = "3.4.0" version = "3.4.0"
authors = ["Nikolay Kim <fafhrd91@gmail.com>", "Rob Ede <robjtede@icloud.com>"] authors = [
"Nikolay Kim <fafhrd91@gmail.com>",
"Rob Ede <robjtede@icloud.com>",
]
description = "TLS acceptor and connector services for Actix ecosystem" description = "TLS acceptor and connector services for Actix ecosystem"
keywords = ["network", "tls", "ssl", "async", "transport"] keywords = ["network", "tls", "ssl", "async", "transport"]
repository = "https://github.com/actix/actix-net.git" repository = "https://github.com/actix/actix-net.git"
@ -15,7 +18,12 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs"] rustdoc-args = ["--cfg", "docsrs"]
[package.metadata.cargo_check_external_types] [package.metadata.cargo_check_external_types]
allowed_external_types = ["actix_service::*", "actix_utils::*", "futures_core::*", "tokio::*"] allowed_external_types = [
"actix_service::*",
"actix_utils::*",
"futures_core::*",
"tokio::*",
]
[package.metadata.cargo-machete] [package.metadata.cargo-machete]
ignored = [ ignored = [
@ -68,6 +76,7 @@ uri = ["dep:http-0_2", "dep:http-1"]
actix-rt = { version = "2.2", default-features = false } actix-rt = { version = "2.2", default-features = false }
actix-service = "2" actix-service = "2"
actix-utils = "3" actix-utils = "3"
futures-core = { version = "0.3.7", default-features = false, features = ["alloc"] } futures-core = { version = "0.3.7", default-features = false, features = ["alloc"] }
impl-more = "0.1" impl-more = "0.1"
pin-project-lite = "0.2.7" pin-project-lite = "0.2.7"
@ -119,9 +128,9 @@ actix-codec = "0.5"
actix-rt = "2.2" actix-rt = "2.2"
actix-server = "2" actix-server = "2"
bytes = "1" bytes = "1"
pretty_env_logger = "0.5"
futures-util = { version = "0.3.17", default-features = false, features = ["sink"] } futures-util = { version = "0.3.17", default-features = false, features = ["sink"] }
itertools = "0.13" itertools = "0.13"
pretty_env_logger = "0.5"
rcgen = "0.13" rcgen = "0.13"
rustls-pemfile = "2" rustls-pemfile = "2"
tokio-rustls-026 = { package = "tokio-rustls", version = "0.26" } tokio-rustls-026 = { package = "tokio-rustls", version = "0.26" }
@ -130,6 +139,3 @@ trust-dns-resolver = "0.23"
[[example]] [[example]]
name = "accept-rustls" name = "accept-rustls"
required-features = ["accept", "rustls-0_23"] required-features = ["accept", "rustls-0_23"]
[lints]
workspace = true

View File

@ -1,5 +1,7 @@
//! TLS acceptor and connector services for the Actix ecosystem. //! TLS acceptor and connector services for the Actix ecosystem.
#![deny(rust_2018_idioms, nonstandard_style)]
#![warn(future_incompatible, missing_docs)]
#![doc(html_logo_url = "https://actix.rs/img/logo.png")] #![doc(html_logo_url = "https://actix.rs/img/logo.png")]
#![doc(html_favicon_url = "https://actix.rs/favicon.ico")] #![doc(html_favicon_url = "https://actix.rs/favicon.ico")]
#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![cfg_attr(docsrs, feature(doc_auto_cfg))]

View File

@ -1,4 +1,3 @@
#![allow(missing_docs)]
#![cfg(feature = "connect")] #![cfg(feature = "connect")]
use std::{ use std::{

View File

@ -1,4 +1,3 @@
#![allow(missing_docs)]
#![cfg(feature = "connect")] #![cfg(feature = "connect")]
use std::{ use std::{

View File

@ -13,17 +13,20 @@ edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
[package.metadata.cargo_check_external_types] [package.metadata.cargo_check_external_types]
allowed_external_types = ["actix_service::*", "actix_utils::*", "tracing::*", "tracing_futures::*"] allowed_external_types = [
"actix_service::*",
"actix_utils::*",
"tracing::*",
"tracing_futures::*",
]
[dependencies] [dependencies]
actix-service = "2" actix-service = "2"
actix-utils = "3" actix-utils = "3"
tracing = "0.1.35" tracing = "0.1.35"
tracing-futures = "0.2" tracing-futures = "0.2"
[dev-dependencies] [dev-dependencies]
actix-rt = "2" actix-rt = "2"
slab = "0.4" slab = "0.4"
[lints]
workspace = true

View File

@ -1,5 +1,7 @@
//! Actix tracing - support for tokio tracing with Actix services. //! Actix tracing - support for tokio tracing with Actix services.
#![deny(rust_2018_idioms, nonstandard_style)]
#![warn(future_incompatible)]
#![doc(html_logo_url = "https://actix.rs/img/logo.png")] #![doc(html_logo_url = "https://actix.rs/img/logo.png")]
#![doc(html_favicon_url = "https://actix.rs/favicon.ico")] #![doc(html_favicon_url = "https://actix.rs/favicon.ico")]
@ -20,7 +22,6 @@ pub struct TracingService<S, F> {
} }
impl<S, F> TracingService<S, F> { impl<S, F> TracingService<S, F> {
/// Constructs new tracing middleware.
pub fn new(inner: S, make_span: F) -> Self { pub fn new(inner: S, make_span: F) -> Self {
TracingService { inner, make_span } TracingService { inner, make_span }
} }
@ -62,7 +63,6 @@ pub struct TracingTransform<S, U, F> {
} }
impl<S, U, F> TracingTransform<S, U, F> { impl<S, U, F> TracingTransform<S, U, F> {
/// Constructs new tracing middleware.
pub fn new(make_span: F) -> Self { pub fn new(make_span: F) -> Self {
TracingTransform { TracingTransform {
make_span, make_span,

View File

@ -1,7 +1,10 @@
[package] [package]
name = "actix-utils" name = "actix-utils"
version = "3.0.1" version = "3.0.1"
authors = ["Nikolay Kim <fafhrd91@gmail.com>", "Rob Ede <robjtede@icloud.com>"] authors = [
"Nikolay Kim <fafhrd91@gmail.com>",
"Rob Ede <robjtede@icloud.com>",
]
description = "Various utilities used in the Actix ecosystem" description = "Various utilities used in the Actix ecosystem"
keywords = ["network", "framework", "async", "futures"] keywords = ["network", "framework", "async", "futures"]
categories = ["network-programming", "asynchronous"] categories = ["network-programming", "asynchronous"]
@ -11,13 +14,10 @@ edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
[dependencies] [dependencies]
local-waker = "0.1"
pin-project-lite = "0.2" pin-project-lite = "0.2"
local-waker = "0.1"
[dev-dependencies] [dev-dependencies]
actix-rt = "2" actix-rt = "2"
futures-util = { version = "0.3.17", default-features = false } futures-util = { version = "0.3.17", default-features = false }
static_assertions = "1.1" static_assertions = "1.1"
[lints]
workspace = true

View File

@ -1,5 +1,7 @@
//! Various utilities used in the Actix ecosystem. //! Various utilities used in the Actix ecosystem.
#![deny(rust_2018_idioms, nonstandard_style)]
#![warn(future_incompatible, missing_docs)]
#![doc(html_logo_url = "https://actix.rs/img/logo.png")] #![doc(html_logo_url = "https://actix.rs/img/logo.png")]
#![doc(html_favicon_url = "https://actix.rs/favicon.ico")] #![doc(html_favicon_url = "https://actix.rs/favicon.ico")]

View File

@ -2,7 +2,10 @@
name = "bytestring" name = "bytestring"
version = "1.4.0" version = "1.4.0"
description = "A UTF-8 encoded read-only string using `Bytes` as storage" description = "A UTF-8 encoded read-only string using `Bytes` as storage"
authors = ["Nikolay Kim <fafhrd91@gmail.com>", "Rob Ede <robjtede@icloud.com>"] authors = [
"Nikolay Kim <fafhrd91@gmail.com>",
"Rob Ede <robjtede@icloud.com>",
]
keywords = ["string", "bytes", "utf8", "web", "bytestring"] keywords = ["string", "bytes", "utf8", "web", "bytestring"]
categories = ["no-std", "web-programming"] categories = ["no-std", "web-programming"]
homepage = "https://actix.rs" homepage = "https://actix.rs"
@ -12,7 +15,10 @@ edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
[package.metadata.cargo_check_external_types] [package.metadata.cargo_check_external_types]
allowed_external_types = ["bytes::*", "serde::*"] allowed_external_types = [
"bytes::*",
"serde::*",
]
[dependencies] [dependencies]
bytes = { version = "1.2", default-features = false } bytes = { version = "1.2", default-features = false }
@ -22,6 +28,3 @@ serde = { version = "1", optional = true }
ahash = { version = "0.8", default-features = false } ahash = { version = "0.8", default-features = false }
serde_json = "1" serde_json = "1"
static_assertions = "1.1" static_assertions = "1.1"
[lints]
workspace = true

View File

@ -3,6 +3,8 @@
//! See docs for [`ByteString`]. //! See docs for [`ByteString`].
#![no_std] #![no_std]
#![deny(rust_2018_idioms, nonstandard_style)]
#![warn(future_incompatible, missing_docs)]
extern crate alloc; extern crate alloc;

View File

@ -47,16 +47,16 @@ clippy toolchain="":
[windows] [windows]
test toolchain="": test toolchain="":
cargo {{ toolchain }} test --lib --tests --package=actix-macros cargo {{ toolchain }} test --lib --tests --package=actix-macros
cargo {{ toolchain }} nextest run --no-tests=warn --workspace --exclude=actix-macros --no-default-features cargo {{ toolchain }} nextest run --workspace --exclude=actix-macros --no-default-features
cargo {{ toolchain }} nextest run --no-tests=warn --workspace --exclude=actix-macros {{ all_crate_features }} cargo {{ toolchain }} nextest run --workspace --exclude=actix-macros {{ all_crate_features }}
# Test workspace code. # Test workspace code.
[linux] [linux]
test toolchain="": test toolchain="":
cargo {{ toolchain }} test --lib --tests --package=actix-macros cargo {{ toolchain }} test --lib --tests --package=actix-macros
cargo {{ toolchain }} nextest run --no-tests=warn --workspace --exclude=actix-macros --no-default-features cargo {{ toolchain }} nextest run --workspace --exclude=actix-macros --no-default-features
cargo {{ toolchain }} nextest run --no-tests=warn --workspace --exclude=actix-macros {{ non_linux_all_features_list }} cargo {{ toolchain }} nextest run --workspace --exclude=actix-macros {{ non_linux_all_features_list }}
cargo {{ toolchain }} nextest run --no-tests=warn --workspace --exclude=actix-macros {{ all_crate_features }} cargo {{ toolchain }} nextest run --workspace --exclude=actix-macros {{ all_crate_features }}
# Test workspace using MSRV. # Test workspace using MSRV.
test-msrv: downgrade-for-msrv (test msrv_rustup) test-msrv: downgrade-for-msrv (test msrv_rustup)

View File

@ -2,7 +2,10 @@
name = "local-channel" name = "local-channel"
version = "0.1.5" version = "0.1.5"
description = "A non-threadsafe multi-producer, single-consumer, futures-aware, FIFO queue" description = "A non-threadsafe multi-producer, single-consumer, futures-aware, FIFO queue"
authors = ["Nikolay Kim <fafhrd91@gmail.com>", "Rob Ede <robjtede@icloud.com>"] authors = [
"Nikolay Kim <fafhrd91@gmail.com>",
"Rob Ede <robjtede@icloud.com>",
]
repository = "https://github.com/actix/actix-net" repository = "https://github.com/actix/actix-net"
keywords = ["channel", "local", "futures"] keywords = ["channel", "local", "futures"]
license.workspace = true license.workspace = true
@ -10,7 +13,10 @@ edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
[package.metadata.cargo_check_external_types] [package.metadata.cargo_check_external_types]
allowed_external_types = ["futures_core::*", "futures_sink::*"] allowed_external_types = [
"futures_core::*",
"futures_sink::*",
]
[dependencies] [dependencies]
futures-core = "0.3.17" futures-core = "0.3.17"

View File

@ -2,7 +2,10 @@
name = "local-waker" name = "local-waker"
version = "0.1.4" version = "0.1.4"
description = "A synchronization primitive for thread-local task wakeup" description = "A synchronization primitive for thread-local task wakeup"
authors = ["Nikolay Kim <fafhrd91@gmail.com>", "Rob Ede <robjtede@icloud.com>"] authors = [
"Nikolay Kim <fafhrd91@gmail.com>",
"Rob Ede <robjtede@icloud.com>",
]
repository = "https://github.com/actix/actix-net" repository = "https://github.com/actix/actix-net"
keywords = ["waker", "local", "futures", "no-std"] keywords = ["waker", "local", "futures", "no-std"]
categories = ["asynchronous", "no-std"] categories = ["asynchronous", "no-std"]