-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Tracking Issue for arithmetic and certain bitwise ops on AtomicPtr #99108
Copy link
Copy link
Closed
Labels
C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.disposition-mergeThis issue / PR is in PFCP or FCP with a disposition to merge it.This issue / PR is in PFCP or FCP with a disposition to merge it.finished-final-comment-periodThe final comment period is finished for this PR / Issue.The final comment period is finished for this PR / Issue.
Milestone
Metadata
Metadata
Assignees
Labels
C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.disposition-mergeThis issue / PR is in PFCP or FCP with a disposition to merge it.This issue / PR is in PFCP or FCP with a disposition to merge it.finished-final-comment-periodThe final comment period is finished for this PR / Issue.The final comment period is finished for this PR / Issue.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Feature gate:
#![feature(strict_provenance_atomic_ptr)]This is a tracking issue for arithmetic and certain bitwise operations on
AtomicPtr.As part of the strict provenance experiment #95228.
This feature adds arithmetic (
add,sub) and bitwise (or,end,xor) atomic operations forAtomicPtrin order to replace uses ofAtomicUsize-but-actually-a-pointer to preserve provenance information for the compiler and removeusize->ptrcasts from existing code.Arithmetic ops behave as the their non-atomic wrapping versions. Bitwise ops behave as
.map_addr(|x| x op val).Public API
Steps / History
Unresolved Questions
AtomicPtr::fetch_ptr_{add,sub}toAtomicPtr::fetch_{add,sub}libs-team#126)Footnotes
https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html ↩