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

P1715 Loosen restrictions on "_t" typedefs and "_v" values #481

Open
wg21bot opened this issue Jun 23, 2019 · 11 comments
Open

P1715 Loosen restrictions on "_t" typedefs and "_v" values #481

wg21bot opened this issue Jun 23, 2019 · 11 comments
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++26 Targeted at C++26 IS Ship vehicle: IS LEWG Library Evolution needs-revision Paper needs changes before it can proceed ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting size - small paper size estimate

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Jun 23, 2019

P1715R0 Loosen restrictions on "_t" typedefs and "_v" values. (Jorg Brown)

@wg21bot wg21bot added this to the 2019-07 milestone Jun 23, 2019
@wg21bot wg21bot added CWG Core LEWG Library Evolution LWG Library labels Jun 23, 2019
@jensmaurer jensmaurer removed the CWG Core label Jun 24, 2019
@wg21bot wg21bot added the C++20 Targeted at C++20 label Jun 26, 2019
@tituswinters
Copy link

I don't see this as being a bugfix for C++20 features - the only timeline/features discussed are C++14-era. Much as I'd love to see this happen, I don't think it meets the criteria for C++20-focus.

That said, it's also an LWG matter as far as I'm concerned. I'm dropping the LEWG tag, and recommend dropping the C++20 tag, but defer to Marshall.

@tituswinters tituswinters removed the LEWG Library Evolution label Jul 5, 2019
@jorgbrown
Copy link

The paper that was mailed, pre-Cologne, is http://wg21.link/p1715r0
The reflectors reported a problem with that version, regarding function template argument deduction. This is corrected in http://wiki.edg.com/pub/Wg21cologne2019/LibraryWorkingGroup/D1715r1.html

@jensmaurer jensmaurer modified the milestones: 2019-07, 2019-11 Aug 23, 2019
@mclow mclow removed the C++20 Targeted at C++20 label Nov 3, 2019
@mclow
Copy link

mclow commented Nov 3, 2019

This was not adopted for C++20. Removing the "C++20" label.

@JeffGarland JeffGarland added the C++23 Targeted at C++23 label Feb 17, 2020
@jensmaurer jensmaurer modified the milestones: 2019-11, 2020-06 Feb 18, 2020
@jensmaurer jensmaurer added IS Ship vehicle: IS and removed C++23 Targeted at C++23 labels Feb 18, 2020
@JeffGarland JeffGarland added the lwg-pending LWG Chair needs to disposition label Apr 15, 2020
@ben-craig ben-craig added B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e size - small paper size estimate labels Oct 17, 2020
@jensmaurer jensmaurer modified the milestones: 2020-telecon, 2021-telecon Dec 28, 2020
@JeffGarland JeffGarland added the lwg-blocked LWG has dispositioned this paper as inactive -- unable to move forward label Sep 18, 2021
@jensmaurer jensmaurer added the C++23 Targeted at C++23 label Jan 1, 2022
@jensmaurer jensmaurer modified the milestones: 2021-telecon, 2022-telecon Jan 1, 2022
@brycelelbach brycelelbach removed LWG Library lwg-pending LWG Chair needs to disposition lwg-blocked LWG has dispositioned this paper as inactive -- unable to move forward labels Nov 4, 2022
@brycelelbach
Copy link

brycelelbach commented Nov 10, 2022

2022-11-07 10:00 to 11:30 UTC-10 Kona Library Evolution Meeting

P1715R0: Loosen restrictions on "_t" typedefs and "_v" values

2022-11-07 10:00 to 11:30 UTC-10 Kona Library Evolution Minutes

Champion: Corentin Jabot

Chair: Fabio Fracassi & Billy Baker

Minute Taker: Steve Downey

Key Insights:

  • Add missing type traits.
  • Look at existing traits and make sure they do not introduce deduced context. e.g. common_type
  • Existing implementations might not want to make use of the new liberties for ABI reasons
  • deployment/experience

Summary

We feel this paper has some merits, but there was also some skepticism. Potential ABI and API inconsistencies have to be carefully surveyed.

Since this paper does not prescribe the changes but only gives implementors more freedom for better QoI.

Next Steps

Champion will provide an updated revision, which we will review.

@brycelelbach
Copy link

brycelelbach commented Jan 6, 2023

Why is this listed for C++23? The world wonders.

@brycelelbach brycelelbach added unclear-status The status of this paper is unclear, people have been contacted to help figure it out needs-revision Paper needs changes before it can proceed C++26 Targeted at C++26 and removed unclear-status The status of this paper is unclear, people have been contacted to help figure it out scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review C++23 Targeted at C++23 labels Jan 6, 2023
@brycelelbach
Copy link

Ah, this was listed for C++23 because we have an NB comment for it, FR-017-016 cplusplus/nbballot#419

@brycelelbach brycelelbach added C++23 Targeted at C++23 and removed C++26 Targeted at C++26 labels Jan 24, 2023
@brycelelbach brycelelbach changed the title P1715 Loosen restrictions on "_t" typedefs and "_v" values. P1715 Loosen restrictions on "_t" typedefs and "_v" values Jan 24, 2023
@jensmaurer jensmaurer modified the milestones: 2022-telecon, 2023-02 Jan 25, 2023
@brycelelbach brycelelbach removed the needs-revision Paper needs changes before it can proceed label Jan 25, 2023
@jorgbrown
Copy link

New version addresses comments more specifically, corrects naming to be "P" rather than "D". => https://isocpp.org/files/papers/P1715R1.html

@brycelelbach
Copy link

brycelelbach commented Feb 7, 2023

2023-02-06 13:00 to 15:15 Issaquah Library Evolution Meeting

P1715R1: Loosen restrictions on _t typedefs

2023-02-06 13:00 to 15:15 UTC-8 Issaquah Library Evolution Minutes

Champion: Jorg Brown (IP)

Chair: Bryce Adelstein Lelbach (IP) & Billy Baker (IP)

Minute Taker: Robert Leahy (IP)

Start: 2023-02-06 14:46 UTC-8

Does this paper have:

  • Examples?
    • Yes.
  • Field experience?
    • Some, but not of the entire proposal in a production Standard Library.
  • Performance considerations?
    • Not in the paper - such performance data should be included.
  • Discussion of prior art?
    • Yes.
  • Changes Library Evolution previously requested?
    • Yes.
  • Wording?
    • Yes.
  • Breaking changes?
    • Yes. The impact hasn't been sufficiently evaluated.
  • Feature test macro?
    • Not needed.
  • Freestanding?
    • N/A.

POLL: Send P1715R1 (Loosen restrictions on _t typedefs) to Library for C++23 as the resolution to C++23 National Body comment FR-017-016, classified as B2 - improvement.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
6 10 5 4 1

Attendance: 23 (in person) + 14 (remote)

# of Authors: 1

Author Position: SF

Outcome: No consensus.

Break: 15:16

Resume: 15:31

POLL: Send P1715R1 (Loosen restrictions on _t typedefs) to Library for C++23 as the resolution to C++23 National Body comment FR-017-016, classified as B2 - improvement.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
6 11 2 7 2

Attendance: 25 (in person) + 14 (remote)

# of Authors: 1

Author Position: SF

Outcome: No consensus.

End: 15:58

Summary

We discussed this proposal to give implementations freedom to improve the compile time performance of the _t typedefs.

Some implementers said they'd be unable to use this freedom as it would break ABIs. Others said they hoped to use it in their unstable ABI modes. It is believed that some implementations may be able to make the change without breaking ABI. Also, new implementations could take advantage of the freedom.

There was a desire to learn more about the performance implications of this change. An addition to the paper with benchmark results would be helpful.

The proposed change could be source breaking in some cases. There was a general belief that the impact on real-world code would be small. More discussion and analysis of this in the paper may help.

Since there was an NB comment requesting this for C++23, we discussed whether we should try to squeeze it in. Some felt that there was no great urgency, and that adding it at this late stage might be risky. Ultimately, we did not have consensus to pursue it for C++23.

Next Steps

Revise P1715R1 (Loosen restrictions on _t typedefs) and return to Library Evolution for further design review for C++26.

Reject C++23 National Body comment FR-017-016 as we have no consensus for change.

@brycelelbach brycelelbach added needs-revision Paper needs changes before it can proceed C++26 Targeted at C++26 and removed C++23 Targeted at C++23 labels Feb 7, 2023
@JeffGarland
Copy link
Member

@brycelelbach @billy-baker

I think there's something off in the notes here -- looks like copy-pasta w.r.t the 23/26 votes -- same poll two different outcomes?

@brycelelbach
Copy link

No, the polls are right. We took it once then learned new information afterwards.

@jorgbrown
Copy link

jorgbrown commented Feb 7, 2023 via email

@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 9, 2023
@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Feb 20, 2023
@wg21bot wg21bot modified the milestones: 2023-02, 2023-telecon Feb 20, 2023
@jensmaurer jensmaurer added the needs-revision Paper needs changes before it can proceed label Feb 20, 2023
@jensmaurer jensmaurer removed this from the 2023-telecon milestone Mar 19, 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 IS Ship vehicle: IS LEWG Library Evolution needs-revision Paper needs changes before it can proceed ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting size - small paper size estimate
Projects
Status: No status
Development

No branches or pull requests

8 participants