Description
PR #5960 (fixing #5894/#5895) added linker_messages = "allow" to [workspace.lints.rust] in the workspace root Cargo.toml to unblock plain cargo build/cargo run on macOS/arm64 (Apple ld's __eh_frame section too large warning was being denied by build.warnings = "deny", #5891).
This lint only fires on macOS's linker; Linux CI runners never emit the warning, so linker_messages = "allow" is a no-op there. If a future change accidentally removes or narrows that line, CI stays green — nothing in the test/lint/build matrix would catch the regression. It would only resurface when a developer or live-tester next builds on macOS/arm64, exactly the silent-failure pattern #5895 itself was.
Expected Behavior
A regression that reintroduces the eh_frame build failure on macOS/arm64 should be caught automatically, not discovered by a human hitting a broken cargo build.
Suggested Fix (not yet scoped — needs owner decision)
Options, non-exclusive:
- Add a macOS runner to the CI build matrix (heavier, but closes the blind spot for this and any other macOS-only issue).
- A lightweight guard test (e.g. a
#[test] or build script check) asserting the workspace lint table still contains linker_messages = "allow", so at least accidental removal is caught even without a macOS runner.
- Accept the residual gap and document it explicitly as a known limitation.
Environment
Description
PR #5960 (fixing #5894/#5895) added
linker_messages = "allow"to[workspace.lints.rust]in the workspace rootCargo.tomlto unblock plaincargo build/cargo runon macOS/arm64 (Appleld's__eh_frame section too largewarning was being denied bybuild.warnings = "deny", #5891).This lint only fires on macOS's linker; Linux CI runners never emit the warning, so
linker_messages = "allow"is a no-op there. If a future change accidentally removes or narrows that line, CI stays green — nothing in the test/lint/build matrix would catch the regression. It would only resurface when a developer or live-tester next builds on macOS/arm64, exactly the silent-failure pattern #5895 itself was.Expected Behavior
A regression that reintroduces the eh_frame build failure on macOS/arm64 should be caught automatically, not discovered by a human hitting a broken
cargo build.Suggested Fix (not yet scoped — needs owner decision)
Options, non-exclusive:
#[test]or build script check) asserting the workspace lint table still containslinker_messages = "allow", so at least accidental removal is caught even without a macOS runner.Environment
02aaedc8