Switch from AtomicU64 to Mutex.#12981
Conversation
|
r? @epage (rustbot has picked a reviewer for you, use r? to override) |
Not all platforms support AtomicU64, so this swaps the usage with Mutex. The difference in performance should be imperceptible.
|
Going to merge this now as it blocks submodule update in rust-lang/rust @bors r+ |
Switch from AtomicU64 to Mutex. Not all platforms support AtomicU64, so this swaps the usage with Mutex. The difference in performance should be imperceptible.
|
💔 Test failed - checks-actions |
|
I think there's a user adjustable clippy lint to ban individual types, do we want to ban the reintroduction of AtomicU##? |
|
@bors retry Looks like these jobs are updating (I don't know why those jobs are updating |
If someone wants to add that, it's probably ok. However, I don't know how that would interact if it is made conditional on |
|
☀️ Test successful - checks-actions |
Update cargo 19 commits in 6790a5127895debec95c24aefaeb18e059270df3..2c03e0e2dcd05dd064fcf10cc1050d342eaf67e3 2023-11-10 17:09:35 +0000 to 2023-11-16 04:21:44 +0000 - docs(ref): Find a place to comment on --cap-lints (rust-lang/cargo#12976) - Switch from AtomicU64 to Mutex. (rust-lang/cargo#12981) - If the only path is a loop then counted as the shortest path. (rust-lang/cargo#12977) - fix(resolver): Prefer MSRV, rather than ignore incompatible (rust-lang/cargo#12950) - fix error message for duplicate links (rust-lang/cargo#12973) - Only filter out target if its in the package root (rust-lang/cargo#12944) - Ignore changing_spec_relearns_crate_types on windows-gnu (rust-lang/cargo#12972) - fix: do not panic when failed to parse rustc commit-hash (rust-lang/cargo#12965) - query{_vec} use IndexSummary (rust-lang/cargo#12970) - Bump to 0.77.0; update changelog (rust-lang/cargo#12966) - Improve about information of `cargo search` (rust-lang/cargo#12962) - Fix --quiet being used with nested subcommands. (rust-lang/cargo#12959) - make some debug assertion failures more informative (rust-lang/cargo#12963) - refactor(toml): Consistently lead with 'Toml' prefix (rust-lang/cargo#12960) - refactor(toml): Remove unused method (rust-lang/cargo#12961) - Fix non-deterministic behavior in last-use repopulation (rust-lang/cargo#12958) - Add cache garbage collection (rust-lang/cargo#12634) - refactor(toml): Improve consistency (rust-lang/cargo#12954) - Fix typo (rust-lang/cargo#12956)
AtomicU64 is not portable and use of it, without `target_has_atomic`, will fail CI for rust-lang/rust when the cargo submodule gets updated (see rust-lang#12981). If there is a reason to use it, we could always `allow` in that one case.
chore(ci): Catch naive use of AtomicU64 early AtomicU64 is not portable and use of it, without `target_has_atomic`, will fail CI for rust-lang/rust when the cargo submodule gets updated (see #12981). If there is a reason to use it, we could always `allow` in that one case.
Not all platforms support AtomicU64, so this swaps the usage with Mutex. The difference in performance should be imperceptible.