[BUG] Production output configurations fail strict builds #3
Labels
No labels
bug
ci
docs
duplicate
enhancement
help wanted
invalid
performance
phase-6
question
refactor
security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
erix/logd#3
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The logging-only native configuration compiles three direct-sink transport helpers although neither serial nor framebuffer output is enabled. Strict native Clippy fails with unused-function errors. The earlier default/all-feature checks do not expose this unsupported inclusion boundary.
Reproduction
Run
cargo clippy --locked --features logd-runtime-logging --target x86_64-unknown-none -- -D warnings. The retained invocation exits 101 with completed cleanup and diagnosesdecode_direct_transport_reply,encode_direct_call_requestanddirect_transport_call_if_availableinsrc/sinks_transport.rsas unused.Expected and actual behavior
The declared logging-only feature must build without warnings. Direct serial/framebuffer transport should be compiled only where those configured sinks use it. Keep strict warning enforcement and the existing capability and transport contracts.
Environment and identity
c53d4550cb432e25d83c9c37f02aac01053818d3; the first retained native failure used this original transport implementation and inclusion condition before the correction.x86_64-unknown-nonetarget, logging-only production feature.Evidence and prior checks
The complete retained diagnostic identifies the three unused functions and the warning-denied exit. Source inspection finds a logging-feature condition on each definition, while their actual direct-sink callers are gated by serial/framebuffer selection. Host/default/all-feature checks passed before this independently selected native mode exposed the gap.
Signed correction
The full matrix additionally exposed serial-only test imports/helpers and a test-only unused mutable variable. Their conditions now match their actual consumers; serial-only idle delivery is exercised without requiring framebuffer output. Signed
bc15238f25f818a28fe51b249e2db33f667c4599passes the complete warning-denied host/native matrix: default and runtime/logging configurations each pass 43 tests, serial-only 59, framebuffer/all-feature 133, release-only/release+logging 45, release+serial 62, and release+framebuffer 138, in both development and release profiles. All twenty native builds, strict host/native Clippy, formatting, private host/native rustdoc and documentation checks pass. Earlier failures are retained. Complete push/review CI 233/234 passes with four classified logs, 631,851 bytes and no warnings. Each Rust job runs all eighty-three owned checks across the twenty feature/profile configurations. Product catalog and runtime-image adoption remain separate. Review: #4. Both complete CI runs are now classified and this configuration regression is resolved. Coherent product runtime-image adoption remains a separate open gate.Tracking
Related audit: #1. Related configuration-test gap: #2. Narrow and consolidate the transport inclusion condition, document the helpers, and validate every supported production output configuration before closing this report.
[BUG] Logging-only native build includes unused sink transportto [BUG] Production output configurations fail strict builds