Skip to content

fix(lint): clear clippy 1.99 -D warnings; bin uses the library's modules - #220

Closed
hyperpolymath wants to merge 11 commits into
claude/new-session-th4e9wfrom
claude/new-session-th4e9w-clippy
Closed

hyperpolymath wants to merge 11 commits into
claude/new-session-th4e9wfrom
claude/new-session-th4e9w-clippy

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Stacked on #218 (base claude/new-session-th4e9w). This is the first of the follow-ups listed in #218 (comment). It clears the clippy failures in rust-ci / Cargo check + clippy + fmt that #218 surfaced once the workflows could start.

Changes

refactor(bin): the binary uses the library's modules (7704c54)

  • src/main.rs re-declared every module with mod x;, so the binary compiled its own private copy of the whole tree.
  • Code reached only through the library API was therefore dead inside the binary, and -D warnings rejected it. Affected modules: aggregate::proven_tests, jit_context, comment_marker, ffi_kind.
  • The binary now imports those modules from panic_attack. Only the bin-only diagnostics, groove and kin stay as mod.
  • This also means one compile of the tree per build instead of two.

fix(lint) (5cdd1df)

  • Removed redundant borrows in format! arguments (storage).
  • split(['/', '\\']) replaces a closure (safe_path).
  • rfind / find / and_then replace filter+last, filter+next and map+flatten.
  • egui Panel / CentralPanel::show_inside becomes show. In egui 0.36.2, show_inside is #[deprecated = "Renamed to show"] and its body just calls show, so behaviour is unchanged.
  • is_safe_char and all_chars_safe are used only by the proptest invariants, so they are now #[cfg(test)].
  • ProvenTestsReport::from_str is now a real std::str::FromStr impl. Existing ProvenTestsReport::from_str(..) calls keep working, and .parse() now works too.
  • anyhow! is fully qualified inside the sarif-gated parser, so the import isn't unused without that feature.

Verification


Generated by Claude Code

main.rs re-declared every module with `mod x;`, so the binary compiled
its own private copy of the whole tree. Items used only through the
library API (proven_tests, jit_context, comment_marker, ffi_kind) were
then dead code inside the binary, which clippy -D warnings rejects.
The binary now imports those modules from panic_attack; only the
bin-only modules (diagnostics, groove, kin) stay as `mod`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
- drop redundant borrows in format! args (storage)
- split on a char array instead of a closure (safe_path)
- rfind / find / and_then instead of filter+last, filter+next, map+flatten
- egui Panel/CentralPanel::show_inside -> show (a pure rename in 0.36)
- is_safe_char / all_chars_safe are proptest-only helpers: #[cfg(test)]
- ProvenTestsReport::from_str becomes a real FromStr impl
- qualify anyhow! inside the sarif-gated parser so the import is not
  unused without the feature

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 0b1f7a48-3add-4fd4-9ed5-879fa8097138
📥 Commits

Reviewing files that changed from the base of the PR and between 0f68c62 and 74a4654.

⛔ Files ignored due to path filters: 1
  • .github/workflows/actions.lock is excluded by !**/*.lock
📒 Files selected for processing: 11
  • .github/workflows/chapel-ci.yml
  • .github/workflows/scorecard.yml
  • src/aggregate/proven_tests.rs
  • src/assail/analyzer.rs
  • src/assail/mod.rs
  • src/diagnostics.rs
  • src/main.rs
  • src/report/gui.rs
  • src/safe_path.rs
  • src/scan/cargodeny.rs
  • src/storage/mod.rs
✨ Finishing Touches
📝 Generate docstrings
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

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 ⚠️ Failed 2026-10-19T18:43:33.800253Z 6592908 Draft marked ready
ℹ️ 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.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@hyperpolymath
hyperpolymath added this pull request to stack #224 October 19, 2026 20:48
@coderabbitai

coderabbitai Bot commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

Add Carrot credits or activate Agent usage billing to use Autofix

hyperpolymath pushed a commit that referenced this pull request Oct 19, 2026
…, and update K9 contracts and dependencies"

This reverts commit afd3da7, pushed by
CodeRabbit's CI-fix agent. This PR is the lock repair at the base of a
stack; the clippy fixes, the readiness doc paths and the K9 retirement
are the next three PRs (#220, #221, #223), and a second copy here would
conflict with them. The commit also rewrote generated/k9iser/*.k9 to
make them conform, which the owner has ruled the other way: k9iser is
retired and #223 deletes those files.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
claude and others added 7 commits October 19, 2026 21:51
…ranch, keeping this branch's fixes where both changed the same lines

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
…re-added unused import after the 0f68c62 merge

The text merge of 0f68c62 combined CodeRabbit's leading negation with this
branch's .find(..).is_none(), inverting the readiness control; it is now
the single !any(..) form. main.rs had its removed comment_marker/ffi_kind
import re-added by the same merge.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
…erge left two unused

CodeRabbit's hunk added an all_chars_safe helper beside this branch's
is_safe_char, and the merge kept both with neither caller, which
cargo clippy --all-targets -- -D warnings rejects as dead code in the
lib test target. The file is the version CI passed at 5db5d90.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
hyperpolymath added a commit that referenced this pull request Oct 20, 2026
…ries (#231)

Stacked on #222 (← #221 ← #220 ← #218).

## What

Lockfile-only bump of `zbus_xml` 5.1.0 → 5.2.1. This removes the last
`quick-xml 0.38.4` from `Cargo.lock` and clears:

- RUSTSEC-2026-0194: quadratic attribute checking in quick-xml
- RUSTSEC-2026-0195: unbounded namespace allocation in quick-xml

## Why no upstream PR or `[patch]` is needed

The handoff plan assumed every `zbus_xml` 5.x release still used
`quick-xml ^0.38`. crates.io shows otherwise:

| zbus_xml | XML parser |
|---|---|
| 5.1.0 (was locked) | quick-xml ^0.38 |
| 5.1.1 | quick-xml ^0.39 |
| 5.2.0, 5.2.1 | winnow ^1.0 (no quick-xml) |

`zbus-lockstep 0.5.2` (via `atspi-common 0.13`) requires `zbus_xml
^5.0.2`, so 5.2.1 is a semver-compatible resolution. The fix is already
published upstream; the lockfile simply had not picked it up.

## Side effects in the lockfile

All behind the opt-in `gui` feature. Default builds are unchanged.

- `zvariant` / `zvariant_derive` 5.10.0 → 5.15.1
- `zbus_names` 4.3.1 → 4.3.5
- adds `winnow 1.0.4`, `zvariant_utils 4.2.0`, `zcheapstr 1.1.0`, `syn
3.0.3` (proc-macro only)

Every new crate declares `rust-version` ≤ 1.87, the floor the previously
locked `zvariant 5.10.0` already set. The `gui` MSRV does not move.

## Verification (local, Rust 1.99.0)

- `cargo audit`: before, 2 vulnerabilities, exit 1. After, 0
vulnerabilities, exit 0, with zero ignores and no `audit.toml`.
- The same five `unmaintained` warnings appear before and after:
ttf-parser, unsafe-libyaml, zbus_names, zvariant, zvariant_derive.
- `cargo check --all-features --all-targets`: pass
- `cargo clippy --all-features --all-targets -- -D warnings`: pass
- `cargo test --all-features`: all suites pass

## Follow-up (not in this PR)

`zvariant`, `zvariant_derive` and `zbus_names` gained `unmaintained`
notices on 2026-10-16 because they were folded into zbus 6. These are
warnings, not failures. They clear only when accesskit/atspi move to
zbus 6.

---
_Generated by [Claude
Code](https://claude.ai/code/session_01Jma5ixtpeZyJRmfoSsC98u)_

Co-authored-by: Claude <noreply@anthropic.com>
An error occurred while trying to automatically change base from claude/new-session-th4e9w to main October 20, 2026 00:39
An error occurred while trying to automatically change base from claude/new-session-th4e9w to main October 20, 2026 00:39
@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Copy link
Copy Markdown
Owner Author

Superseded by the flattened direct-to-main PR #233. Its combined tree is preserved there, and the full PR CI suite has passed; closing this stacked child avoids the base-branch restriction.

hyperpolymath added a commit that referenced this pull request Oct 20, 2026
## Summary

Flatten the final combined tree of the readiness, dependency-audit, and
K9-retirement stack onto current `main`. This direct-to-main PR avoids
the GitHub stacked-PR base restriction that blocked retargeting the
first child.

- Clear the remaining Rust lint/readiness diagnostics fixes and update
docs references.
- Carry the dependency lockfile/advisory updates and workflow lock
changes.
- Retire the K9iser manifest and generated outputs as intended.
- Preserve the final combined tree from the previous stack tip (#223),
without carrying its stale branch ancestry.

This supersedes the stacked series #220–#223 if this PR passes review
and CI.

## Validation

- `git diff --check` — passed.
- `cargo test --all-targets` — not run locally; this environment has no
`cargo` executable. Use the PR CI result as the test gate.
- No merge performed; await full CI and review.

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
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.

2 participants