Skip to content

CI red 해소 — beta clippy double_must_use 13건 (매크로 기인) + matrix fail-fast: false - #14

Merged
Jun025 merged 1 commit into
mainfrom
fix/beta-clippy-double-must-use
Aug 25, 2026
Merged

CI red 해소 — beta clippy double_must_use 13건 (매크로 기인) + matrix fail-fast: false#14
Jun025 merged 1 commit into
mainfrom
fix/beta-clippy-double-must-use

Conversation

@Jun025

@Jun025 Jun025 commented Aug 25, 2026

Copy link
Copy Markdown
Owner

무엇

rust_ci (ubuntu-latest, beta) 가 red 라 main 과 열린 PR 전건의 게이트③이 막혀 있다. 그 red 를 푼다.

근인 — 우리 #[must_use] 가 아니다

트리 rustup run beta cargo clippy --all -- -D warnings double_must_use
origin/main 00bddf3 (코드 무변경) rc=101 13
PR #13 head eaa5668 rc=101 13
이 브랜치 rc=0 0

13건 전부 note: this error originates in the attribute macro … 가 붙는다 —
async_trait::async_trait 7 + async_recursion::async_recursion 6.
우리 소스가 #[must_use] 를 쓴 지점은 0건이다. 즉 코드가 아니라 부동 beta 채널이 움직였다
(rustc 1.99.0-beta.1 (f47d5bb13 2026-08-17) · clippy 0.1.99). stable 1.98.0 은 양쪽 트리 다 rc=0.

처방

  1. async-trait 0.1.89 → 0.1.92 (Cargo.lock 만 — 워크스페이스 요구가 이미 ^0.1).
    0.1.92 는 expand.rspush(#[must_use]) 를 삭제했다 ⇒ 7건 → 0. 새 전이 의존성 syn 3.0.4 1개.
  2. async-recursion 은 1.1.1 이 최신이라 올릴 곳이 없다 ⇒ 그 사용처 7지점
    (jvm/src/jvm.rs 6 + jvm_rust/src/interpreter.rs 1 = grep -rn async_recursion --include='*.rs' 전건)에만
    #[allow(clippy::double_must_use)] + 사유 주석. ★crate 전역·워크스페이스 전역 억제는 쓰지 않았다
    그건 우리 코드의 진짜 중복까지 가린다.
  3. fail-fast: false (matrix). 지금은 beta 1잡 실패가 나머지 5잡을 cancel 시켜
    gh pr checks 상 「6잡 전부 fail」로 오독된다(check-runs API 실측은 failure 1 · cancelled 5).

기능 변경 0 — 어트리뷰트·주석·Cargo.lock·워크플로 1줄·문서뿐.

로컬 실측 (전건 rc=0)

게이트 stable 1.98.0 beta 1.99.0-beta.1
cargo fmt --all -- --check pass
cargo clippy --all -- -D warnings pass pass
cargo clippy --workspace --exclude test_utils --target wasm32-unknown-unknown -- -D warnings pass pass
cargo test --all pass pass

ticket: rustjava-ci-beta-clippy-double-must-use-red

🤖 Generated with Claude Code

https://claude.ai/code/session_01DEx9MyAY9utJdWSq9yGSGR

…must_use red

beta 1.99.0-beta.1 (clippy 0.1.99) flags 13 `double_must_use` errors on
`origin/main` with zero code change — all 13 originate in attribute macro
expansion, not our source.

- async-trait 0.1.89 -> 0.1.92 (Cargo.lock only; 0.1.92 dropped the
  `push(#[must_use])` in expand.rs) => 7 hits gone
- async-recursion is already at latest 1.1.1, so its 6+1 sites get a
  scoped `#[allow(clippy::double_must_use)]` (no crate-wide allow)
- rust.yml matrix: `fail-fast: false` so one red job stops cancelling the
  other five (they currently read as "6 jobs failed" when only 1 failed)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DEx9MyAY9utJdWSq9yGSGR
@Jun025
Jun025 merged commit dde85ce into main Aug 25, 2026
8 checks passed
@Jun025
Jun025 deleted the fix/beta-clippy-double-must-use branch August 25, 2026 12:40
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