P2869 R4 Remove Deprecated `shared_ptr` Atomic Access APIs From C++26 · Issue #1525 · cplusplus/papers · GitHub
Skip to content
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

P2869 R4 Remove Deprecated shared_ptr Atomic Access APIs From C++26 #1525

Closed
brycelelbach opened this issue May 24, 2023 · 8 comments · Fixed by cplusplus/draft#6902
Closed
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++26 Targeted at C++26 concurrency IS Ship vehicle: IS LWG Library plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. size - small paper size estimate
Milestone

Comments

@brycelelbach
Copy link

P2869R0 Remove Deprecated shared_ptr Atomic Access APIs From C++26 (Alisdair Meredith)

@brycelelbach brycelelbach added SG1 Concurrency IS Ship vehicle: IS B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list size - small paper size estimate C++26 Targeted at C++26 concurrency labels May 24, 2023
@wg21bot
Copy link
Collaborator

wg21bot commented Aug 23, 2023

P2869R1 Remove Deprecated shared_ptr Atomic Access APIs From C++26 (Alisdair Meredith)

@wg21bot wg21bot added this to the 2023-telecon milestone Aug 23, 2023
@wg21bot wg21bot changed the title P2869 Remove Deprecated shared_ptr Atomic Access APIs From C++26 P2869 R1 Remove Deprecated shared_ptr Atomic Access APIs From C++26 Aug 23, 2023
@wg21bot
Copy link
Collaborator

wg21bot commented Sep 18, 2023

P2869R2 Remove Deprecated shared_ptr Atomic Access APIs From C++26 (Alisdair Meredith)

@wg21bot wg21bot changed the title P2869 R1 Remove Deprecated shared_ptr Atomic Access APIs From C++26 P2869 R2 Remove Deprecated shared_ptr Atomic Access APIs From C++26 Sep 18, 2023
@inbal2l inbal2l removed the ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list label Oct 16, 2023
@cplusplus cplusplus deleted a comment from cor3ntin Oct 17, 2023
@inbal2l
Copy link
Collaborator

inbal2l commented Oct 17, 2023

SG1 saw P2869R0 on June 13th (Varna 2023 meeting) (Full minutes)

Summary

POLL: Remove deprecated shared_ptr atomic access APIs from C++26, with any of the library options listed in P2689.

SF F N A SA
2 4 1 1 0

Outcome: Consensus in favour

A: Generally against removing anything that can break old code.

Next Steps

Removal from C++26 was supported by SG1, paper was forwarded to LEWG.

@inbal2l inbal2l added ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting LEWG Library Evolution scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review and removed SG1 Concurrency labels Oct 17, 2023
@inbal2l inbal2l changed the title P2869 R2 Remove Deprecated shared_ptr Atomic Access APIs From C++26 P2869 R2 Remove Deprecated shared_ptr Atomic Access APIs From C++26 (A) Oct 18, 2023
@inbal2l inbal2l changed the title P2869 R2 Remove Deprecated shared_ptr Atomic Access APIs From C++26 (A) P2869 R2 Remove Deprecated shared_ptr Atomic Access APIs From C++26 Oct 19, 2023
@cor3ntin cor3ntin added ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll and removed ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Nov 7, 2023
@cor3ntin
Copy link

cor3ntin commented Nov 7, 2023

2023-11-7 Library Evolution Meeting Kona 2023

P2869R2 seen in Kona 2023 meeting, Tuesday, Nov 7th, second morning session (Full Minutes)

Champion: Alisdair Meredith.
Chair: Corentin Jabot
Minute Taker: Robert Lehy

Summary

POLL: We should remove unsafe and deprecated atomic accesses for shared_ptr

SF F N A SA
14 9 0 0 0

Attendance: 24 + 5
# of Authors: 1
Author Position: SF
Outcome: Strong consensus

POLL: We should provide a solution so that users do not have to include <atomic> manually to find atomic_load

SF F N A SA
1 1 6 5 3

Attendance: 24 + 4
# of Authors: 1
Author Position: SF
Outcome: Consensus against

POLL: Forward "P2869R2 Remove Deprecated shared_ptr Atomic Access APIs From C++26" to LWG to be confirmed by electronic polling

Attendance: 24
# of Authors: 1
Outcome: No objection to unanimous consent

Next Steps

Understanding that the deprecated atomic operations on shared_ptr are unsound, there was a strong consensus
for removal. LEWG felt that the usage of these APIs are low enough that the removal would be minimally disruptive and consequently decided no mitigation was needed for the fact that <memory> does not provide the atomic_load and similar atomic free function on pointers.

@cor3ntin
Copy link

cor3ntin commented Nov 9, 2023

The paper needs a revision to reflect the second poll. ie the added changes in 7.1 should be removed.
@inbal2l and @cor3ntin to check that these changes are apply before forwarding to electronic polling.

@cor3ntin cor3ntin added the needs-revision Paper needs changes before it can proceed label Nov 9, 2023
@inbal2l inbal2l added the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Dec 1, 2023
@inbal2l
Copy link
Collaborator

inbal2l commented Dec 2, 2023

P2869R3 was added to LEWG 2023 December electronic poll paper (P3053R0)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Dec 19, 2023
@wg21bot wg21bot modified the milestones: 2023-telecon, 2024-telecon Dec 19, 2023
@wg21bot wg21bot changed the title P2869 R2 Remove Deprecated shared_ptr Atomic Access APIs From C++26 P2869 R3 Remove Deprecated shared_ptr Atomic Access APIs From C++26 Dec 19, 2023
@inbal2l inbal2l added LWG Library lwg-pending LWG Chair needs to disposition and removed LEWG Library Evolution ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Jan 17, 2024
@inbal2l
Copy link
Collaborator

inbal2l commented Jan 17, 2024

P2869R3 was forwarded to LWG on LEWG 2023 December electronic poll (P3054R0)

@wg21bot
Copy link
Collaborator

wg21bot commented Apr 17, 2024

P2869R4 Remove Deprecated shared_ptr Atomic Access APIs From C++26 (Alisdair Meredith)

@wg21bot wg21bot changed the title P2869 R3 Remove Deprecated shared_ptr Atomic Access APIs From C++26 P2869 R4 Remove Deprecated shared_ptr Atomic Access APIs From C++26 Apr 17, 2024
@inbal2l inbal2l removed the lwg-pending LWG Chair needs to disposition label Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++26 Targeted at C++26 concurrency IS Ship vehicle: IS LWG Library plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. size - small paper size estimate
Projects
Status: Tentatively Ready
5 participants