Skip to content

[anneal][v2] Add Cargo workspace resolution and target resolution logic#3401

Open
mdittmer wants to merge 1 commit into
Gbbpbt76nsgp2ohpclea46vot5joxx7b5from
Gjnh4bziqtksdvg43zzll4732lxlcuss3
Open

[anneal][v2] Add Cargo workspace resolution and target resolution logic#3401
mdittmer wants to merge 1 commit into
Gbbpbt76nsgp2ohpclea46vot5joxx7b5from
Gjnh4bziqtksdvg43zzll4732lxlcuss3

Conversation

@mdittmer

@mdittmer mdittmer commented May 25, 2026

Copy link
Copy Markdown
Collaborator

TAG=agy

Resolve Cargo requests into explicit package, target, and target-kind artifacts instead of preserving only user-facing Cargo flags for later Charon invocation. This keeps downstream stages from relying on Cargo output conventions whose shape depends on flags and workspace configuration.

A future single charon cargo invocation strategy would need to account for these hazards:

  • one --dest-file is unsafe when Cargo selects multiple primary units, since multiple Charon driver invocations can race on that path;
  • Charon directory output is named by Rust crate name, so workspace packages can collide when they share [lib] name;
  • target selectors such as --tests, --bins, and default selection can produce extra or multiple artifacts;
  • Charon options such as --start-from and --opaque are invocation-wide and would be applied to every selected target;
  • lib+bin package builds may compile a sibling library under RUSTC_WRAPPER, which can fail if that library is translated instead of producing the rlib the bin needs.

Latest Update: v37 — Compare vs v36

📚 Full Patch History

Links show the diff between the row version and the column version.

Version v36 v35 v34 v33 v32 v31 v30 v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v37 v36 v35 v34 v33 v32 v31 v30 v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v36 v35 v34 v33 v32 v31 v30 v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v35 v34 v33 v32 v31 v30 v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v34 v33 v32 v31 v30 v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v33 v32 v31 v30 v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v32 v31 v30 v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v31 v30 v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v30 v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v8 v7 v6 v5 v4 v3 v2 v1 Base
v7 v6 v5 v4 v3 v2 v1 Base
v6 v5 v4 v3 v2 v1 Base
v5 v4 v3 v2 v1 Base
v4 v3 v2 v1 Base
v3 v2 v1 Base
v2 v1 Base
v1 Base
⬇️ Download this PR

Branch

git fetch origin refs/heads/Gjnh4bziqtksdvg43zzll4732lxlcuss3 && git checkout -b pr-Gjnh4bziqtksdvg43zzll4732lxlcuss3 FETCH_HEAD

Checkout

git fetch origin refs/heads/Gjnh4bziqtksdvg43zzll4732lxlcuss3 && git checkout FETCH_HEAD

Cherry Pick

git fetch origin refs/heads/Gjnh4bziqtksdvg43zzll4732lxlcuss3 && git cherry-pick FETCH_HEAD

Pull

git pull origin refs/heads/Gjnh4bziqtksdvg43zzll4732lxlcuss3

Stacked PRs enabled by GHerrit.

@codecov-commenter

codecov-commenter commented May 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (Gbbpbt76nsgp2ohpclea46vot5joxx7b5@ffffcc7). Learn more about missing BASE report.

Additional details and impacted files
@@                         Coverage Diff                          @@
##             Gbbpbt76nsgp2ohpclea46vot5joxx7b5    #3401   +/-   ##
====================================================================
  Coverage                                     ?   91.85%           
====================================================================
  Files                                        ?       20           
  Lines                                        ?     6093           
  Branches                                     ?        0           
====================================================================
  Hits                                         ?     5597           
  Misses                                       ?      496           
  Partials                                     ?        0           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from 758f290 to f0ebc05 Compare May 25, 2026 18:30
@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from 3da3a84 to 30344a2 Compare May 25, 2026 18:30
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from f0ebc05 to 8815480 Compare May 25, 2026 19:12
@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from 30344a2 to 632f851 Compare May 25, 2026 19:12
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from 8815480 to cb7cac5 Compare May 25, 2026 19:34
@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from 632f851 to b59e6f0 Compare May 25, 2026 19:34
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from cb7cac5 to ebd26a0 Compare May 25, 2026 22:48
@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from b59e6f0 to 7035d4b Compare May 25, 2026 22:48
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from ebd26a0 to a3bc3a2 Compare May 27, 2026 18:13
@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from 7035d4b to 4488992 Compare May 27, 2026 18:13
@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from 4488992 to cc455f2 Compare June 5, 2026 16:02
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from a3bc3a2 to da15155 Compare June 5, 2026 16:02
@joshlf joshlf force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from cc455f2 to 7e3e226 Compare June 5, 2026 17:07
@joshlf joshlf force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from da15155 to 3616324 Compare June 5, 2026 17:07
@joshlf joshlf force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from c9ea6ac to 76bceb6 Compare June 7, 2026 01:17
@joshlf joshlf force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from b995544 to 1c66e62 Compare June 7, 2026 01:17

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Optimistically Approved: Changes appear scoped. Final strict verification will occur in the Merge Queue.

@joshlf joshlf force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from 76bceb6 to d0f8b3d Compare June 7, 2026 01:56
@joshlf joshlf force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from 1c66e62 to 36928ab Compare June 7, 2026 01:56

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Optimistically Approved: Changes appear scoped. Final strict verification will occur in the Merge Queue.

@joshlf joshlf force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from d0f8b3d to 492abe7 Compare June 7, 2026 01:57
@joshlf joshlf force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from 36928ab to 2fd2d04 Compare June 7, 2026 01:57

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Optimistically Approved: Changes appear scoped. Final strict verification will occur in the Merge Queue.

@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from 2fd2d04 to 64a3d69 Compare June 15, 2026 17:24
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch 2 times, most recently from 320679c to bf8f7c3 Compare June 15, 2026 18:19
@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from 64a3d69 to 77d4461 Compare June 15, 2026 18:19
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from bf8f7c3 to e895f4e Compare June 16, 2026 02:01
@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch 2 times, most recently from 36f8fe9 to 6fe99ad Compare June 16, 2026 11:49
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from e895f4e to 02102ea Compare June 16, 2026 11:49
@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from 6fe99ad to a0775b9 Compare June 16, 2026 14:45
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from 02102ea to 5972a63 Compare June 16, 2026 14:45
@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch from a0775b9 to 787ea4e Compare June 16, 2026 18:58
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from 5972a63 to 349be33 Compare June 16, 2026 18:58
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from 349be33 to dc739b0 Compare June 16, 2026 19:04
@mdittmer mdittmer force-pushed the Gbbpbt76nsgp2ohpclea46vot5joxx7b5 branch 2 times, most recently from 783f549 to 6a398da Compare June 17, 2026 13:58
@mdittmer mdittmer force-pushed the Gjnh4bziqtksdvg43zzll4732lxlcuss3 branch from dc739b0 to 9544e92 Compare June 17, 2026 13:58
TAG=agy

Resolve Cargo requests into explicit package, target, and target-kind artifacts instead of preserving only user-facing Cargo flags for later Charon invocation. This keeps downstream stages from relying on Cargo output conventions whose shape depends on flags and workspace configuration.

A future single `charon cargo` invocation strategy would need to account for these hazards:

- one `--dest-file` is unsafe when Cargo selects multiple primary units, since multiple Charon driver invocations can race on that path;
- Charon directory output is named by Rust crate name, so workspace packages can collide when they share `[lib] name`;
- target selectors such as `--tests`, `--bins`, and default selection can produce extra or multiple artifacts;
- Charon options such as `--start-from` and `--opaque` are invocation-wide and would be applied to every selected target;
- lib+bin package builds may compile a sibling library under `RUSTC_WRAPPER`, which can fail if that library is translated instead of producing the rlib the bin needs.

gherrit-pr-id: Gjnh4bziqtksdvg43zzll4732lxlcuss3
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