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

P2165 Compatibility between tuple and tuple-like objects #876

Closed
wg21bot opened this issue May 21, 2020 · 11 comments
Closed

P2165 Compatibility between tuple and tuple-like objects #876

wg21bot opened this issue May 21, 2020 · 11 comments
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++23 Targeted at C++23 IS Ship vehicle: IS LWG Library lwg-fullreview Paper is ready for lwg full group review plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. ranges std::ranges size - medium paper size estimate tentatively-ready-for-plenary Reviewed between meetings; ready for a vote.
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented May 21, 2020

P2165R0 Comparing pair and tuples (Corentin Jabot)

@wg21bot wg21bot added the LEWG Library Evolution label May 21, 2020
@wg21bot wg21bot added this to the 2020-telecon milestone May 21, 2020
@brycelelbach brycelelbach added this to 2020-07-13 Telecon in Library Evolution Telecons Jun 9, 2020
@brycelelbach brycelelbach moved this from 2020-07-13 Telecon to Weekly Mailing List Discussions in Library Evolution Telecons Jul 12, 2020
@wg21bot
Copy link
Collaborator Author

wg21bot commented Aug 1, 2020

P2165R1 Compatibility between tuple and tuple-like objects (Corentin Jabot)

@brycelelbach brycelelbach added B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e IS Ship vehicle: IS ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list labels Aug 25, 2020
@brycelelbach brycelelbach added unclear-status The status of this paper is unclear, people have been contacted to help figure it out and removed ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list labels Oct 20, 2020
@inbal2l
Copy link
Collaborator

inbal2l commented Oct 21, 2020

Review summary:
Topics to be addressed in a future revision:

  1. A request for additional clarification for the motivation - why does comparing a pair to a tuple desirable.
    The question of defining which types will be supported in more detail was raised.
    Comments include:
  • use of T<UT...> as a parameter in the constructors rejects types with non-type template parameters, including std::array.

  • Paper should address tuple<int, double> constructible from ptr_tuple<int, double> (will not compile).

    Author's replay: Some of the types were considered and support requires complex additions. I agree this needs to be stated explicitly in the paper.

  1. A request to explore in more detail information regarding the implementation experience and expected implications.
    Comments include:
  • Is the proposal implementable with backward support (and is it needed).
  • Does the implementation pass the existing tests for tuple in a stdlib implementation.

Waiting for next Revision.

@inbal2l inbal2l added needs-revision Paper needs changes before it can proceed and removed unclear-status The status of this paper is unclear, people have been contacted to help figure it out labels Oct 21, 2020
@jensmaurer jensmaurer removed this from the 2020-telecon milestone Dec 27, 2020
@wg21bot
Copy link
Collaborator Author

wg21bot commented Jun 26, 2021

P2165R2 Compatibility between tuple, pair and tuple-like objects (Corentin Jabot)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Jun 26, 2021
@wg21bot wg21bot added this to the 2021-telecon milestone Jun 26, 2021
@inbal2l inbal2l added the ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting label Jun 26, 2021
@brycelelbach brycelelbach added the C++23 Targeted at C++23 label Aug 1, 2021
@brycelelbach brycelelbach added the needs-revision Paper needs changes before it can proceed label Sep 17, 2021
@inbal2l
Copy link
Collaborator

inbal2l commented Sep 18, 2021

Was seen by SG9 on 2021-09-23 (Minutes)

Polls

POLL: We like the direction of P2165R2 and encourage more work.

F N A
3 3 0

Outcome: Weak consensus in favor

Attendance: 9

IL: Please notice that encouraging of more work is easy (for the group) and is the default for most papers

Summary

Author asked for guidance, this will also effect P2164R5: views::enumerate

Few topics came up during the discussion:

  • There were some concerns around dealing with the tuple-pair problems in the standard lib (breaking code / limiting users' ability on user-defined types, etc.)
  • A request to consider design alternatives to the tuple-like concept proposed (for example - always convert to tuples)
  • Consider the idea of supporting tuple only in new facilities (for example - zip)

@brycelelbach brycelelbach added the ranges std::ranges label Nov 3, 2021
@jensmaurer jensmaurer removed this from the 2021-telecon milestone Nov 12, 2021
@cor3ntin cor3ntin changed the title P2165 Comparing pair and tuples P2165 Compatibility between tuple and tuple-like objects Dec 8, 2021
@inbal2l inbal2l added SG9 Ranges SG and removed ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting labels Dec 20, 2021
@inbal2l
Copy link
Collaborator

inbal2l commented Dec 20, 2021

Paper P2165R3 Was seen by SG9 on Dec 20th, 2021 (Minutes).
Forwarded to LEWG, with the request that the author will add more implementation info before it reaches LEWG's telecon (tentatively scheduled for Jan 4th, 2022).

Polls

Poll: Forward “D2165R3: Compatibility between tuple, pair and tuple-like objects” to LEWG for C++23.

SF F N A SA
1 6 0 1 0

Attendance: 13

Author(s) position: SF

Outcome: Consensus in favor

A: Needs more implementation experience.

Summery

SG9 has some concerns about breaking the current usage of tuple and pair (for example in conversion)
DR3 was forwarded, with a request to add the following changes:

  • A table of content
  • A feature test macro
  • Preferably, wider implementation experience

@inbal2l inbal2l added ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting and removed SG9 Ranges SG labels Dec 20, 2021
@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 20, 2021
@brycelelbach brycelelbach added the size - medium paper size estimate label Dec 22, 2021
@inbal2l inbal2l removed the needs-revision Paper needs changes before it can proceed label Dec 22, 2021
@jensmaurer jensmaurer added this to the 2022-telecon milestone Jan 1, 2022
@brycelelbach brycelelbach 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 Jan 18, 2022
@wg21bot
Copy link
Collaborator Author

wg21bot commented Jan 22, 2022

P2165R3 Compatibility between tuple, pair and tuple-like objects (Corentin Jabot)

@brycelelbach brycelelbach added scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review and removed scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Feb 1, 2022
@cor3ntin
Copy link

cor3ntin commented Feb 16, 2022

2022-01-18 Library Evolution Telecon

P2163R3: Compatibility between tuple and tuple-like objects

2022-01-18 Library Evolution Telecon Minutes

Chair: Bryce Adelstein Lelbach

Champion: Corentin Jabot

Minute Taker: Inbal Levi

Start: 2022-01-18 12:09 Eastern

Does this proposal have:

  • Examples?
    • Yes.
  • Implementation experience?
    • Yes, in a fork of libstdc++, with all tests passing in C++20 mode.
  • Usage experience?
    • No.
  • Deployment experience?
    • No.
  • Performance considerations?
    • N/A.
  • Discussion of prior art?
    • Yes.
  • Changes Library Evolution previously requested?
    • N/A.
  • Wording?
    • Yes.
  • Feature test macro?
    • Yes.

POLL: Send P2165R3 (Compatibility between tuple and tuple-like objects) to LWG for C++23 classified as an improvement (priority B2), to be confirmed with a Library Evolution electronic poll.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
4 13 1 0 0

Attendance: 22

# of Authors: 1

Author Position: 1xSF

Outcome: Strong consensus in favor.

End: 12:22

Outcome

Send P2165R3 (Compatibility between tuple and tuple-like objects) to LWG for C++23 classified as an improvement (priority B2), to be confirmed with a Library Evolution electronic poll.

@cor3ntin cor3ntin added LWG Library 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 Feb 16, 2022
@brycelelbach brycelelbach added the lwg-pending LWG Chair needs to disposition label Feb 23, 2022
@brycelelbach
Copy link

2022-01 Library Evolution Electronic Poll Outcomes

Send [P2165R3] (Compatibility Between tuple, pair, And tuple-Like Objects) to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item)

SF F N A SA
20 14 3 2 0

Consensus in favor.

@JeffGarland JeffGarland added lwg-fullreview Paper is ready for lwg full group review and removed lwg-pending LWG Chair needs to disposition labels Jul 4, 2022
@wg21bot
Copy link
Collaborator Author

wg21bot commented Jul 21, 2022

P2165R4 Compatibility between tuple, pair and tuple-like objects (Corentin Jabot)

@cor3ntin cor3ntin added tentatively-ready-for-plenary Reviewed between meetings; ready for a vote. plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. labels Jul 23, 2022
@tkoeppe
Copy link

tkoeppe commented Aug 16, 2022

This has been applied.

@tkoeppe tkoeppe closed this as completed Aug 16, 2022
@jwakely
Copy link
Member

jwakely commented Aug 25, 2022

For the record, D2165R4 was reviewed by LWG in the 2022-07-15 telecon with a poll "Include P2165r4 into C++23?" The result was 12 in favour, 0 against, 0 neutral.

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++23 Targeted at C++23 IS Ship vehicle: IS LWG Library lwg-fullreview Paper is ready for lwg full group review plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. ranges std::ranges size - medium paper size estimate tentatively-ready-for-plenary Reviewed between meetings; ready for a vote.
Projects
No open projects
Development

No branches or pull requests

8 participants