-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
make summary sync by using Arc not Rc #14260
Conversation
r? @weihanglo rustbot has assigned @weihanglo. Use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be add a test a this is sync?
Yes please.
Nice! @bors r+ |
☀️ Test successful - checks-actions |
Update cargo 9 commits in a2b58c3dad4d554ba01ed6c45c41ff85390560f2..5f6b9a92201d78af75dc24f14662c3e2dacbbbe1 2024-07-16 00:52:02 +0000 to 2024-07-19 18:09:17 +0000 - Add `TomlPackage::new`, `Default` for `TomlWorkspace` (rust-lang/cargo#14271) - fix(test): Move 'cargo_home' from 'install' to 'paths' (rust-lang/cargo#14270) - fix(test)!: Clarify extension trait role with rename (rust-lang/cargo#14269) - feat(test): Re-export ProcessBuilder (rust-lang/cargo#14268) - fix(test): Move path2url to CargoPathExt::to_url (rust-lang/cargo#14266) - Fix passing of links-overrides with target-applies-to-host and an implicit target (rust-lang/cargo#14205) - fix(toml): Improve error on missing package and workspace (rust-lang/cargo#14261) - Migrate global_cache_tracker snapbox (rust-lang/cargo#14244) - make summary sync by using Arc not Rc (rust-lang/cargo#14260)
Update cargo 9 commits in a2b58c3dad4d554ba01ed6c45c41ff85390560f2..5f6b9a92201d78af75dc24f14662c3e2dacbbbe1 2024-07-16 00:52:02 +0000 to 2024-07-19 18:09:17 +0000 - Add `TomlPackage::new`, `Default` for `TomlWorkspace` (rust-lang/cargo#14271) - fix(test): Move 'cargo_home' from 'install' to 'paths' (rust-lang/cargo#14270) - fix(test)!: Clarify extension trait role with rename (rust-lang/cargo#14269) - feat(test): Re-export ProcessBuilder (rust-lang/cargo#14268) - fix(test): Move path2url to CargoPathExt::to_url (rust-lang/cargo#14266) - Fix passing of links-overrides with target-applies-to-host and an implicit target (rust-lang/cargo#14205) - fix(toml): Improve error on missing package and workspace (rust-lang/cargo#14261) - Migrate global_cache_tracker snapbox (rust-lang/cargo#14244) - make summary sync by using Arc not Rc (rust-lang/cargo#14260)
What does this PR try to resolve?
For my PubGrub testing work I want to be able to read the entire crates.io index into memory and then run lots of resolution questions against that data in parallel. Currently cargoes
Summary
andDependency
types useRc
internally which prevents this pattern. UsingArc
in cargo makes my life a lot easier! It does not noticeably slow down single threaded performance. (Measured by running my PubGrub testing in single threaded mode before and after.)The team largely agreed to this at a meeting and in discussions https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/Make.20summary.20sync
How should we test and review this PR?
Tests still pass
Additional information
Should be add a test a this is sync?