tokio_dual_stack

Dual-stack TcpListener.
git clone https://git.philomathiclife.com/repos/tokio_dual_stack
Log | Files | Refs | README

commit 1cc73441bf8fd290001b847081d8a0a930411db4
parent 38f35235f6ab92fa4ba813f18841ee8c237f8762
Author: Zack Newman <zack@philomathiclife.com>
Date:   Tue, 26 Aug 2025 08:18:23 -0600

lints and docs

Diffstat:
MCargo.toml | 17++++++++++++-----
MREADME.md | 4++--
Msrc/lib.rs | 4----
3 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml @@ -10,24 +10,30 @@ name = "tokio_dual_stack" readme = "README.md" repository = "https://git.philomathiclife.com/repos/tokio_dual_stack/" rust-version = "1.86.0" -version = "0.1.4" +version = "0.1.5" [lints.rust] ambiguous_negative_literals = { level = "deny", priority = -1 } closure_returning_async_block = { level = "deny", priority = -1 } +deprecated_safe = { level = "deny", priority = -1 } deref_into_dyn_supertrait = { level = "deny", priority = -1 } ffi_unwind_calls = { level = "deny", priority = -1 } future_incompatible = { level = "deny", priority = -1 } +#fuzzy_provenance_casts = { level = "deny", priority = -1 } impl_trait_redundant_captures = { level = "deny", priority = -1 } -keyword-idents = { level = "deny", priority = -1 } +keyword_idents = { level = "deny", priority = -1 } let_underscore = { level = "deny", priority = -1 } linker_messages = { level = "deny", priority = -1 } +#lossy_provenance_casts = { level = "deny", priority = -1 } macro_use_extern_crate = { level = "deny", priority = -1 } meta_variable_misuse = { level = "deny", priority = -1 } missing_copy_implementations = { level = "deny", priority = -1 } missing_debug_implementations = { level = "deny", priority = -1 } missing_docs = { level = "deny", priority = -1 } +#multiple_supertrait_upcastable = { level = "deny", priority = -1 } +#must_not_suspend = { level = "deny", priority = -1 } non_ascii_idents = { level = "deny", priority = -1 } +#non_exhaustive_omitted_patterns = { level = "deny", priority = -1 } nonstandard_style = { level = "deny", priority = -1 } redundant_imports = { level = "deny", priority = -1 } redundant_lifetimes = { level = "deny", priority = -1 } @@ -37,11 +43,12 @@ rust_2018_idioms = { level = "deny", priority = -1 } rust_2021_compatibility = { level = "deny", priority = -1 } rust_2024_compatibility = { level = "deny", priority = -1 } single_use_lifetimes = { level = "deny", priority = -1 } +#supertrait_item_shadowing_definition = { level = "deny", priority = -1 } trivial_casts = { level = "deny", priority = -1 } trivial_numeric_casts = { level = "deny", priority = -1 } unit_bindings = { level = "deny", priority = -1 } -unknown_lints = { level = "deny", priority = -1 } unnameable_types = { level = "deny", priority = -1 } +#unqualified_local_imports = { level = "deny", priority = -1 } unreachable_pub = { level = "deny", priority = -1 } unsafe_code = { level = "deny", priority = -1 } unstable_features = { level = "deny", priority = -1 } @@ -73,7 +80,7 @@ return_and_then = "allow" [dependencies] pin-project-lite = { version = "0.2.16", default-features = false } -tokio = { version = "1.45.1", default-features = false, features = ["net"] } +tokio = { version = "1.47.1", default-features = false, features = ["net"] } [dev-dependencies] -tokio = { version = "1.45.1", default-features = false, features = ["macros", "net", "rt"] } +tokio = { version = "1.47.1", default-features = false, features = ["macros", "net", "rt"] } diff --git a/README.md b/README.md @@ -63,5 +63,5 @@ Before any PR is sent, `cargo clippy` and `cargo t` should be run. Additionally This package is actively maintained and will conform to the latest version of [`tokio`](https://crates.io/crates/tokio). -The crate is only tested on `x86_64-unknown-linux-gnu` and `x86_64-unknown-openbsd` targets, but it should work -on most platforms. +The crate is only tested on the `x86_64-unknown-linux-gnu`, `x86_64-unknown-openbsd`, and `aarch64-apple-darwin` +targets; but it should work on most platforms. diff --git a/src/lib.rs b/src/lib.rs @@ -26,10 +26,6 @@ //! to `TcpListener::accept` a connection. This has the nice benefit of having a similar API to what a single //! `TcpListener` would have as well as having similar performance to a socket that does handle both IPv6 and //! IPv4 requests. -#![expect( - clippy::multiple_crate_versions, - reason = "dependencies haven't updated to most recent crates" -)] use core::{ net::{SocketAddr, SocketAddrV4, SocketAddrV6}, pin::Pin,