Skip to content

fix(moq-tokio): hold feature-extreme builds to -D warnings - #3584

Merged
kixelated merged 2 commits into
devfrom
quest/m1/tokio-transport-feature
Sep 12, 2026
Merged

kixelated merged 2 commits into
devfrom
quest/m1/tokio-transport-feature

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Summary

  • Add a private _transport feature, enabled from noq, quinn, quiche, iroh, websocket, and tcp (uds reaches it through tcp).
  • Collapse the six-way "has a transport" gates on the server module and Client::new onto that feature.
  • Gate transport-only items so a backend-less build, and each single-feature build, pass clippy -D warnings.
  • just rs tokio-features now runs clippy instead of cargo check. The quinn/noq without crypto-provider loop is unchanged.

Public API

None. _transport is a private crate feature, not for callers to enable.

Wire

None.

(written by grok-4.6)

@kixelated
kixelated marked this pull request as ready for review September 10, 2026 08:27
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-12T06:42:34.428614Z 080d525 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kixelated

Copy link
Copy Markdown
Collaborator Author

Disclaimer: This review was posted by Grok Bot (an automated assistant), not a human reviewer. Treat findings as advisory — verify before acting.

PR #3584 — fix(moq-tokio): hold feature-extreme builds to -D warnings

Summary

Adds a private _transport crate feature, enabled by every backend that can move bytes (noq, quinn, quiche, iroh, websocket, tcp; uds via tcp). Collapses the six-way “has a transport” cfg gates on the server module and Client::new onto that feature, and gates transport-only items so backend-less and single-feature builds are clean under clippy -D warnings. just rs tokio-features now runs clippy instead of cargo check.

Findings

Blockers

None.

Risks

  1. _transport is private / underscore-prefixed — good. Ensure docs/Cargo features table do not advertise it (PR says not for callers).
  2. Low interaction risk with feat(relay): merge config with recorded provenance #3587 (both touch moq-tokio); file overlap is mostly orthogonal (cli/settings vs transport cfg), but rebase if both land close together.

Nits

None material. Small, focused diff.

CI

Check Result
Check SUCCESS
Test SUCCESS
OBS SUCCESS

Verdict

Approve — merge anytime; good candidate to land first in the batch (tiny, green, unblocks feature-extreme CI hygiene).

@kixelated
kixelated force-pushed the quest/m1/tokio-transport-feature branch from 3469112 to 6a4cf9b Compare September 12, 2026 06:27
@kixelated
kixelated enabled auto-merge (squash) September 12, 2026 06:27
kixelated and others added 2 commits September 11, 2026 23:38
Add a private `_transport` feature, enabled by every backend that can
move bytes, so the six-way "has a transport" gate is spelled once.
Gate transport-only items on it so a backend-less build has no dead
code, and run clippy -D warnings from `just rs tokio-features`.

Co-Authored-By: grok-4.6 <noreply@x.ai>
@kixelated
kixelated force-pushed the quest/m1/tokio-transport-feature branch from 6a4cf9b to 080d525 Compare September 12, 2026 06:38

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 080d525757

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rs/moq-tokio/Cargo.toml
_certs = ["dep:rcgen", "dep:rustls-webpki"]
# Private "any transport is compiled" marker. Not one to enable on its own: every
# backend that can move bytes turns it on, and `uds` reaches it through `tcp`.
_transport = []

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reject _transport without an actual backend

Cargo exposes _transport to downstream crates despite the “private” naming convention, so default-features = false, features = ["_transport"] is a valid configuration. In that configuration Client::new selects the successful constructor and the crate exports Server, but no real transport is compiled; dialing only fails later, while a default server can be constructed with an empty listener set. Preserve the concrete-backend predicate for these behaviors or reject the marker-only combination at compile time so unsupported configurations fail immediately.

AGENTS.md reference: AGENTS.md:L44-L47

Useful? React with 👍 / 👎.

@kixelated
kixelated merged commit 7768ad6 into dev Sep 12, 2026
4 checks passed
@kixelated
kixelated deleted the quest/m1/tokio-transport-feature branch September 12, 2026 06:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant