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

P1413 Deprecate std::aligned_storage and std::aligned_union #197

Closed
jensmaurer opened this issue Jan 26, 2019 · 11 comments · Fixed by cplusplus/draft#5282
Closed

P1413 Deprecate std::aligned_storage and std::aligned_union #197

jensmaurer opened this issue Jan 26, 2019 · 11 comments · Fixed by cplusplus/draft#5282
Labels
C++23 Targeted at C++23 LWG Library plenary-approved Papers approved for inclusion in their target vehicle by plenary vote.
Milestone

Comments

@jensmaurer
Copy link
Member

P1413R0 A safer interface for std::aligned_storage (CJ Johnson)

@jensmaurer jensmaurer added this to the 2019-02 milestone Jan 26, 2019
@jensmaurer jensmaurer added the LEWG Library Evolution label Jan 26, 2019
@jensmaurer jensmaurer added this to Tuesday in LEWG-I in Kona 2019 Feb 13, 2019
@jensmaurer jensmaurer added LEWGI Library Evolution Incubator and removed LEWG Library Evolution labels Feb 13, 2019
@jensmaurer
Copy link
Member Author

LEWG-I in Kona

@jensmaurer jensmaurer removed this from the 2019-02 milestone Mar 22, 2019
@wg21bot
Copy link
Collaborator

wg21bot commented Jun 23, 2019

P1413R1 Deprecate std::aligned_storage and std::aligned_union (CJ Johnson)

@wg21bot wg21bot added this to the 2019-07 milestone Jun 23, 2019
@brycelelbach
Copy link

Kona 2019-02 LEWGI Minutes

P1413R0 std::aligned_storage_for

Champion: CJ Johnson

Minute Taker: JeanHeyd Meneide

Start Overview: 13:54

Start Discussion: 14:01

Don’t want both a type trait and a type alias; we want just the type alias.

aligned_storage is /at least/ as large and /at least/ as aligned.

Start Polling:

POLL: We should promise more committee time to pursuing std::aligned_storage_for as a new type alias which is not implemented in terms of std::aligned_storage, knowing that our time is scarce and this will leave less time for other work.

NO OBJECTION TO UNANIMOUS CONSENT

Attendance: 12

POLL: Deprecate aligned_storage with the shipment of this feature.

NO OBJECTION TO UNANIMOUS CONSENT

Attendance: 12

POLL: Someone should write a paper to deprecate aligned_union, knowing that our time is scarce and this will leave less time for other work.

Strongly For Weakly For Neutral Weakly Against Strongly Against
10 0 1 0 0

Attendance: 12

That has strong consensus.

POLL: We should promise more committee time to pursuing P1413R0 revised as specified above, to be reviewed again by LEWGI, for C++20, knowing that our time is scarce and this will leave less time for other work.

Strongly For Weakly For Neutral Weakly Against Strongly Against
2 4 4 0 0

Attendance: 12

That has strong consensus.

Volunteers: Eric F to help CJ revise P1413R0, Jonathan W + Eric F + CJ to write the deprecate aligned_union paper.

End: 14:16

@brycelelbach brycelelbach changed the title P1413 A safer interface for std::aligned_storage P1413 Deprecate std::aligned_storage and std::aligned_union Jul 12, 2019
@brycelelbach
Copy link

Cologne 2019-07 LEWGI Minutes

P1413R1 Deprecate std::aligned_storage and std::aligned_union: Design Review

Champion: CJ Johnson

Minute Taker: Adrian Cowan

Start Overview: 07-15 13:58

Start Review: 14:00

Start Polling: 14:04

POLL: Forward P1413R1 to LEWG for C++23.

Strongly For Weakly For Neutral Weakly Against Strongly Against
8 5 1 0 0

That has strong consensus.

Attendance: 20

End: 14:05

CONSENSUS: Forward P1413R1 to LEWG for C++23.

@brycelelbach brycelelbach added LEWG Library Evolution C++23 Targeted at C++23 and removed LEWGI Library Evolution Incubator labels Jul 15, 2019
@wg21bot
Copy link
Collaborator

wg21bot commented Aug 23, 2019

P1413R2 Deprecate std::aligned_storage and std::aligned_union (CJ Johnson)

@wg21bot wg21bot modified the milestones: 2019-07, 2019-11 Aug 23, 2019
@FabioFracassi FabioFracassi added this to If time allows in LEWGBelfast2019 Oct 24, 2019
@FabioFracassi FabioFracassi moved this from If time allows to Wednesday Afternoon in LEWGBelfast2019 Oct 30, 2019
@brycelelbach
Copy link

brycelelbach commented Feb 14, 2020

Prague 2020-02 LEWG Minutes

P1413R2 Deprecate std::aligned_storage and std::aligned_union

Chair: Bryce Adelstein Lelbach

Champion: CJ Johnson

Minute Taker: Inbal Levi

Start Review: 2020-02-13 16:54

Examples: Yes, in paper.

Wording:

Start Polling: 17:05

POLL: If we deprecate std::aligned_storage and std::aligned_union, we must first have a replacement easier to use than an aligned byte array or a union.

Strongly For Weakly For Neutral Weakly Against Strongly Against
2 3 2 8 6

Attendance: 29

# of Authors: 1

Author Position: SA

POLL: Forward P1413R2 (Deprecate std::aligned_storage and std::aligned_union) to LWG (mark as Tentatively Ready).

Strongly For Weakly For Neutral Weakly Against Strongly Against
6 11 3 0 0

Attendance: 29

# of Authors: 1

Author Position: SF

That has unanimous consent.

End: 17:15

CONSENSUS: LEWG sends P1413R2 (Deprecate std::aligned_storage and std::aligned_union) to LWG (mark as Tentatively Ready) for C++23.

@brycelelbach brycelelbach added LWG Library and removed LEWG Library Evolution labels Feb 14, 2020
@tituswinters tituswinters added LEWG Library Evolution tentatively-ready-for-plenary Reviewed between meetings; ready for a vote. and removed LWG Library labels Feb 14, 2020
@jensmaurer jensmaurer modified the milestones: 2019-11, 2020-06 Feb 18, 2020
@jensmaurer jensmaurer removed the C++23 Targeted at C++23 label Mar 7, 2020
@JeffGarland JeffGarland added lwg-fullreview Paper is ready for lwg full group review and removed lwg-prereview Needs LWG initial review before full group labels Feb 2, 2021
@JeffGarland
Copy link
Member

JeffGarland commented Feb 5, 2021

LWG reviewed 2021-02-05 and requested changes

https://wiki.edg.com/bin/view/Wg21telecons2021/P1413-20210205

@JeffGarland JeffGarland added the needs-revision Paper needs changes before it can proceed label Feb 5, 2021
frederick-vs-ja added a commit to frederick-vs-ja/leveldb that referenced this issue Apr 14, 2021
1. Removed dependency on std::aligned_storage (which will be deprecated in C++23; see also cplusplus/papers#197).
2. Removed redundant static_assert's.
3. Guaranteed the placement new-expression calls global operator new.
@JeffGarland JeffGarland added the C++23 Targeted at C++23 label Sep 18, 2021
@jensmaurer jensmaurer removed this from the 2021-telecon milestone Nov 12, 2021
@wg21bot
Copy link
Collaborator

wg21bot commented Nov 26, 2021

P1413R3 Deprecate std::aligned_storage and std::aligned_union (CJ Johnson)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Nov 26, 2021
@wg21bot wg21bot added this to the 2021-telecon milestone Nov 26, 2021
@JeffGarland
Copy link
Member

LWG reviewed an approved: https://wiki.edg.com/bin/view/Wg21telecons2021/P1413-2021103

poll: put p1413r3 into the C++23 working paper

F A N
11 0 0

present: 12

@JeffGarland JeffGarland added tentatively-ready-for-plenary Reviewed between meetings; ready for a vote. and removed lwg-fullreview Paper is ready for lwg full group review B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e size - small paper size estimate labels Dec 6, 2021
qtprojectorg pushed a commit to qt/qtbase that referenced this issue Dec 15, 2021
Add some scaffolding to prevent us from running into BC issues due to
the underspecified nature of std::aligned_storage.

Qt 5.15 uses a union { char[], double, qint64 } instead of
std::aligned_storage, so doesn't need the fix.

References:
- cplusplus/papers#197
- wg21.link/p1413

Task-number: QTBUG-99122
Pick-to: 6.3 6.2
Change-Id: I212be7000376c2db33b8cb244a6e862cc4dad544
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
qtprojectorg pushed a commit to qt/qtbase that referenced this issue Dec 15, 2021
Add some scaffolding to prevent us from running into BC issues due to
the underspecified nature of std::aligned_storage.

Qt 5.15 uses a union { char[], double, qint64 } instead of
std::aligned_storage, so doesn't need the fix.

References:
- cplusplus/papers#197
- wg21.link/p1413

Task-number: QTBUG-99122
Change-Id: I212be7000376c2db33b8cb244a6e862cc4dad544
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 9a7d2a7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
qtprojectorg pushed a commit to qt/qtbase that referenced this issue Dec 16, 2021
Add some scaffolding to prevent us from running into BC issues due to
the underspecified nature of std::aligned_storage.

Qt 5.15 uses a union { char[], double, qint64 } instead of
std::aligned_storage, so doesn't need the fix.

References:
- cplusplus/papers#197
- wg21.link/p1413

Task-number: QTBUG-99122
Change-Id: I212be7000376c2db33b8cb244a6e862cc4dad544
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 9a7d2a7)
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
@jensmaurer jensmaurer modified the milestones: 2021-telecon, 2022-telecon Jan 1, 2022
@cor3ntin cor3ntin added the plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. label Feb 7, 2022
@jensmaurer
Copy link
Member Author

Approved by WG21 plenary 2022-02-07

@cor3ntin cor3ntin removed the tentatively-ready-for-plenary Reviewed between meetings; ready for a vote. label Feb 21, 2022
qtprojectorg pushed a commit to qt/qtdeclarative that referenced this issue Oct 17, 2022
…in C++23)

... by rolling our own.

Qt 5.15 uses a pointer (additional indirection), not aligned_storage,
so isn't affected.

References:
- cplusplus/papers#197
- https://wg21.link/p1413

Pick-to: 6.4 6.2
Task-number: QTBUG-99122
Change-Id: Ia116dc11336901a19fc227fb68ac266c1bfbbcb1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
qtprojectorg pushed a commit to qt/qtdeclarative that referenced this issue Oct 17, 2022
…in C++23)

... by rolling our own.

Qt 5.15 uses a pointer (additional indirection), not aligned_storage,
so isn't affected.

References:
- cplusplus/papers#197
- https://wg21.link/p1413

Task-number: QTBUG-99122
Change-Id: Ia116dc11336901a19fc227fb68ac266c1bfbbcb1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 6e9a9ed)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++23 Targeted at C++23 LWG Library plenary-approved Papers approved for inclusion in their target vehicle by plenary vote.
Projects
No open projects
LEWGBelfast2019
Wednesday Afternoon (NB comment buffe...
Development

Successfully merging a pull request may close this issue.

7 participants