Summary
Both legs of the rustc-warnings gate (Warnings (product) and
Warnings (host-compatible)) fail on every PR, and on main:
error: unused doc comment
error: could not compile `perry-runtime` (lib) due to 1 previous error
##[error]Process completed with exit code 101.
The job runs with RUSTFLAGS: -D warnings, so the warning is an error there. It
is a plain cargo check warning everywhere else — visible in any local
cargo build -p perry-runtime.
Cause
crates/perry-runtime/src/gc/roots/stack_maps.rs:209 — a /// doc comment
directly above a macro invocation:
/// #7803 creation-cycle verifier (diagnostic, `PERRY_GC_NATIVE_SLOT_VERIFY=1`).
///
/// Runs a SECOND, non-rewriting native-slot walk after the rewrite passes of
/// ...
crate::perry_thread_local! {
/// The rewrite walk's stats for the CURRENT cycle, ...
static LAST_REWRITE_WALK: std::cell::Cell<(usize, usize, usize)> = ...;
}
rustc does not attach a doc comment to a macro invocation, so the outer block is
dropped and unused_doc_comments fires. (The inner one, on the static the
macro expands, is fine.) Landed with #8084 (53d63aad2).
Why it went unnoticed
The last test.yml run on main is 83b6b8c69 at 2026-08-15T04:22Z, where both
Warnings legs were green. #8084 merged at 12:25Z and there has been no main
run of that workflow since, so the breakage has only ever appeared on PR runs —
where it reads as "somebody else's red X".
Fix
Either demote the outer block to // line comments, or move it inside the macro
alongside the existing inner doc comment so it documents LAST_REWRITE_WALK.
The text is worth keeping — it explains the verifier — so moving it in is
probably the better of the two.
Noticed on #8165, where it is one of three red checks, all pre-existing; the
other two are #8170 and #8155.
Summary
Both legs of the
rustc-warningsgate (Warnings (product)andWarnings (host-compatible)) fail on every PR, and onmain:The job runs with
RUSTFLAGS: -D warnings, so the warning is an error there. Itis a plain
cargo checkwarning everywhere else — visible in any localcargo build -p perry-runtime.Cause
crates/perry-runtime/src/gc/roots/stack_maps.rs:209— a///doc commentdirectly above a macro invocation:
rustc does not attach a doc comment to a macro invocation, so the outer block is
dropped and
unused_doc_commentsfires. (The inner one, on thestaticthemacro expands, is fine.) Landed with #8084 (
53d63aad2).Why it went unnoticed
The last
test.ymlrun onmainis83b6b8c69at 2026-08-15T04:22Z, where bothWarnings legs were green. #8084 merged at 12:25Z and there has been no
mainrun of that workflow since, so the breakage has only ever appeared on PR runs —
where it reads as "somebody else's red X".
Fix
Either demote the outer block to
//line comments, or move it inside the macroalongside the existing inner doc comment so it documents
LAST_REWRITE_WALK.The text is worth keeping — it explains the verifier — so moving it in is
probably the better of the two.
Noticed on #8165, where it is one of three red checks, all pre-existing; the
other two are #8170 and #8155.