]> git.lizzy.rs Git - rust.git/commit
Rollup merge of #96935 - thomcc:atomicptr-strict-prov, r=dtolnay
authorGuillaume Gomez <guillaume1.gomez@gmail.com>
Wed, 6 Jul 2022 18:43:23 +0000 (20:43 +0200)
committerGitHub <noreply@github.com>
Wed, 6 Jul 2022 18:43:23 +0000 (20:43 +0200)
commit4755173cf61dfd432d8fb96ea3d09da99fe30283
treea22f929eb63cecca112b3003f5968dc7c476f8cd
parent049308cf8b48e9d67e54d6d0b01c10c79d1efc3a
parente65ecee90eff2c90e12164417cc31ab959c321cf
Rollup merge of #96935 - thomcc:atomicptr-strict-prov, r=dtolnay

Allow arithmetic and certain bitwise ops on AtomicPtr

This is mainly to support migrating from `AtomicUsize`, for the strict provenance experiment.

This is a pretty dubious set of APIs, but it should be sufficient to allow code that's using `AtomicUsize` to manipulate a tagged pointer atomically. It's under a new feature gate, `#![feature(strict_provenance_atomic_ptr)]`, but I'm not sure if it needs its own tracking issue. I'm happy to make one, but it's not clear that it's needed.

I'm unsure if it needs changes in the various non-LLVM backends. Because we just cast things to integers anyway (and were already doing so), I doubt it.

API change proposal: https://github.com/rust-lang/libs-team/issues/60

Fixes #95492