Skip to content

composefs-rs: composefs-boot selabel: use let-chains now that MSRV is 1.88 (drop the rust#51114 TODO) #322

Open

Description

@cgwalters-bot

Repo: composefs/composefs-rs

Task: crates/composefs-boot/src/selabel.rs carries a comment TODO: https://github.com/rust-lang/rust/issues/51114 about not being able to write Some(opt) if let Some(..) = .... The workspace is edition 2024 with rust-version = "1.88.0", where let-chains are stable. Rewrite that policy-line parse with a let-chain (or a plain match if clearer), drop the TODO, and sweep the workspace for other nested if let / && let workarounds that clippy's collapsible_if / collapsible_match now flag on current stable (fix those too, in separate commits).

Acceptance: existing selabel tests pass unchanged and one added case covers -b style type codes, a missing context and trailing data; no behaviour change; cargo fmt --check, cargo clippy --all-targets and cargo test --workspace --exclude composefs-integration-tests pass (fs-verity tests may fail on a filesystem without verity; say so rather than skipping); cargo clippy --workspace --all-targets -- -D warnings is clean on the current stable toolchain.

Constraints: code and tests only, no GitHub writes (the coordinator opens the PR); no design decisions; do not touch .github/ workflows; keep the change small and match the surrounding style; commit message in the project's style with a Generated-by: AI trailer, no Signed-off-by.

Generated-by: https://github.com/cgwalters/#llms

Activity

  1. added
    dispatchOpt in to the dispatcher's auto-dispatch of a devspace run
    on Oct 3, 2026
  2. removed
    dispatchOpt in to the dispatcher's auto-dispatch of a devspace run
    on Oct 3, 2026
  3. moved this from In Progress to Draft in Workstreamon Oct 3, 2026
  4. cgwalters-bot commented on Oct 17, 2026

    @cgwalters-bot
    CollaboratorAuthor

    Board scheduler: no plan. A triage run is asked whether this is done; it answers here. Delete this comment to ask again.

  5. cgwalters-bot commented on Oct 17, 2026

    @cgwalters-bot
    CollaboratorAuthor

    Partly done. The work is staged as fork PR cgwalters-forge/composefs-rs#19, which is still open and not yet promoted. Nothing for this has merged upstream. Upstream main still has the TODO at crates/composefs-boot/src/selabel.rs#L78-L81 (f5aa0a2, "Bump version to 0.9.4"). The issue is valid. The workspace is edition 2024 with rust-version = "1.88.0" (Cargo.toml#L23-L27).

    Five PRs have merged in composefs/composefs-rs since 3 Oct: #411, #412, #413, #414 and #415. None of them touches selabel or let-chains. GitHub search finds no upstream PR for this.

    The issue's parts, against fork #19 (head cd3cb9ab17, opened 3 Oct, still merges cleanly onto upstream f5aa0a2):

    What's left:

    1. Review bootc: extend test-49 bridge to a >=1.16.4 stager (stages V1 directly) #19 and promote it upstream (approve, or comment /promote). That is an operator step, not an agent job.
    2. Make -D warnings clean on current stable. The plan below covers this.

    I couldn't recount the remaining lints: this sandbox has rustc/cargo 1.93.1 but no clippy component. So the "about 52" count is #19's run, not mine.

    Unclear: there is no issue in the fork for the plan to target, and the bounds only just allowed the fork. A plan aimed at the tracker issue gets a tracker checkout and stops, as the run on #317 did (run 39028652224). So the plan uses cgwalters-forge/composefs-rs with item 19, the PR where this work is staged. If the dispatcher needs a real issue there, a writer should open one in the fork and change item. The overlap check will probably hold this run while #19 is open, because both name selabel.rs. That is the order wanted anyway.

    {
      "schema": "agent-board/job-plan/v1",
      "repo": "cgwalters-forge/composefs-rs",
      "item": 19,
      "kind": "implement",
      "runner": "hosted",
      "brief": "Follow-up to cgwalters-forge/tracker#322, whose let-chain and collapsible_if/collapsible_match part is staged in cgwalters-forge/composefs-rs#19 (do not redo it). Remaining acceptance item: make `cargo clippy --workspace --all-targets -- -D warnings` clean on the current stable toolchain, based on main (which tracks upstream composefs/composefs-rs). #19's run reported about 50 pre-existing lints in the composefs crate's tests and 2 in composefs-splitdirfdstream; recount them on current stable first and list what you found. Fix lints in code rather than silencing them; use an item-scoped #[allow] only where a fix would change behaviour or public API, with a comment giving the reason. Do not change the [lints] tables or the public API. Leave the collapsible_if/collapsible_match sites #19 fixes (crates/composefs-boot/src/selabel.rs, the nested if-lets in crates/composefs/src/erofs/reader.rs and crates/composefs/src/test.rs) alone so the two rebase cleanly; if one of them is the only remaining warning, say so instead of fixing it. Open fork PR cgwalters-forge/composefs-rs#28 cleans clippy::pedantic in composefs-ioctls and composefs-splitdirfdstream; keep splitdirfdstream edits minimal and name any overlap with #28 in the PR. One commit per crate or lint family. No behaviour change. Acceptance: `cargo fmt --check`, `cargo clippy --workspace --all-targets -- -D warnings` and `cargo test --workspace --exclude composefs-integration-tests` pass; fs-verity tests may fail on a filesystem without verity, so say so rather than skipping them. Constraints: code and tests only; no design decisions; do not touch .github/ workflows; keep the change small and match the surrounding style; commit message in the project's style with a Generated-by: AI trailer and no Signed-off-by."
    }
    
    {"request":"fefa244a-ab89-4c8a-b8ed-7064e714df1b","verdict":"partly"}
    

    Generated by dispatch · ◷

  6. locked as resolved and limited conversation to collaborators on Oct 18, 2026
  7. cgwalters-bot commented on Oct 18, 2026

    @cgwalters-bot
    CollaboratorAuthor

    ✅ dispatch ended well. Result: #322 (comment)

    (Run status from 2026-10-17T12:16:49Z, re-posted by the bot without the agent's own words. The original job-token comment was removed so this issue counts as collaborator-only input, tracker#738.)

    Generated-by: https://github.com/cgwalters/#llms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions