This is an archive of the discontinued LLVM Phabricator instance.

Add list of LWG papers accepted by WG21 during the June 2021 plenary
ClosedPublic

Authored by cor3ntin on Jun 29 2021, 5:23 AM.

Diff Detail

Event Timeline

cor3ntin requested review of this revision.Jun 29 2021, 5:23 AM
cor3ntin created this revision.
Herald added a project: Restricted Project. · View Herald TranscriptJun 29 2021, 5:23 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
cor3ntin updated this revision to Diff 355185.Jun 29 2021, 5:25 AM

Missing EOF

Quuxplusone requested changes to this revision.Jun 29 2021, 6:40 AM
Quuxplusone added subscribers: cjdb, Quuxplusone.
Quuxplusone added inline comments.
libcxx/docs/Cxx2bStatusPaperStatus.csv
14

Please alphabetize (within lines 14–25, that is); so e.g. P1518R2 should come after P1425R4, and P0401R6 should come first.

19

I believe this was at least partly done in D102119. @cjdb's commit message mentions p2231, although it doesn't explicitly claim to have implemented the whole optional half of the paper.
D102119 also added a line to libcxx/docs/Cxx2aStatusPaperStatus.csv, which should be removed from there and moved over to here. Alternatively, ping me and I'll make a followup PR to verify and/or complete the optional implementation, add the feature-test macro, and move the line.

libcxx/docs/FormatIssuePaperStatus.csv
26

Was p2216 accepted for C++2b in June? If so, then it should also be listed in libcxx/docs/Cxx2bStatusPaperStatus.csv (as well as here: I think this line is good).

libcxx/docs/RangesIssuePaperStatus.csv
26–30

Were these papers accepted for C++2b in June? If so, then they should also be listed in libcxx/docs/Cxx2bStatusPaperStatus.csv (as well as here).

This revision now requires changes to proceed.Jun 29 2021, 6:40 AM
cor3ntin updated this revision to Diff 355251.Jun 29 2021, 8:06 AM

Sort papers by numbers

cor3ntin marked 3 inline comments as done.Jun 29 2021, 8:07 AM
cor3ntin added inline comments.
libcxx/docs/Cxx2bStatusPaperStatus.csv
19

I actually would appreciate a follow up PR for that!

Thanks a lot for updating the documentation!

libcxx/docs/Cxx2bStatusPaperStatus.csv
21

Can you add a note that this paper has been retroactively accepted in C++20? (The same for the other papers retroactively accepted to C++20.)

libcxx/docs/FormatIssuePaperStatus.csv
26

It was accepted in the last meeting. Since the paper is backported to C++20 I think it makes sense to place it next to the other format papers accepted in C++20.

cor3ntin updated this revision to Diff 355266.Jun 29 2021, 9:16 AM

Add notes for C++20 targeting papers

cor3ntin marked an inline comment as done.Jun 29 2021, 9:17 AM
ldionne accepted this revision as: ldionne.Jun 29 2021, 9:23 AM
ldionne added a subscriber: ldionne.

Thanks a lot for updating @cor3ntin!

Ship it once @Quuxplusone is happy, he seems to have taken this one into his hands.

libcxx/docs/Cxx2bStatusPaperStatus.csv
21

Actually, based on @Mordante's comments, I'm revising my opinion: If a paper was accepted as a DR against C++20 or earlier (especially, I assume, all the format- and ranges-related papers; but also the constexpr-optional paper p2231 which was DR'ed back to C++20 but not C++17, IIUC), then I see how it makes perfect sense to list them in Cxx2aStatusPaperStatus.csv instead of Cxx2bStatusPaperStatus.csv.

I still think that every paper voted in at the June meeting should appear in either Cxx2bStatusPaperStatus.csv or Cxx2aStatusPaperStatus.csv. (That is, no paper should appear solely in RangesIssuePaperStatus.csv. So thank you for fixing that.)

It'd be nice if the commit message explained where this data came from.

cor3ntin updated this revision to Diff 355282.Jun 29 2021, 10:06 AM

Put a link to WG21's github in the commit message

libcxx/docs/Cxx2bStatusPaperStatus.csv
21

I think it makes more sense too keep everything under 23 with a note.

Mordante added inline comments.Jun 29 2021, 10:42 AM
libcxx/docs/Cxx2bStatusPaperStatus.csv
21

I would look under C++23 for the status of these papers, so I prefer them in this file. cppreference also lists them under C++23, but with a DR: prefix.
https://en.cppreference.com/w/cpp/compiler_support/23

cor3ntin added inline comments.Jun 29 2021, 11:01 AM
libcxx/docs/Cxx2bStatusPaperStatus.csv
21

What do you think of the current approach? (a note column, see below)

Mordante added inline comments.Jun 29 2021, 11:16 AM
libcxx/docs/Cxx2bStatusPaperStatus.csv
21

I liked the approach when I looked at it before, I just didn't comment on it ;-)

cjdb added inline comments.Jun 29 2021, 11:48 AM
libcxx/docs/Cxx2bStatusPaperStatus.csv
19

std::optional is 100% constexpr per that paper. No feature test macros have been updated.

libcxx/docs/RangesIssuePaperStatus.csv
26–30

@ldionne asked me to put the constexpr optional paper into Cxx2a, so I think these should follow suit.

ldionne added inline comments.Jun 29 2021, 12:06 PM
libcxx/docs/RangesIssuePaperStatus.csv
26–30

Indeed, my understanding is that https://wg21.link/P2231R1 was voted to be applied as a DR to C++20 (with the understanding that it's up to implementers to do what they want).

libcxx/docs/RangesIssuePaperStatus.csv
26–30

@ldionne: Yeah, but the question is, should these papers be listed on the Cxx2a status page, the Cxx2b status page(, or both)? I initially thought Cxx2b but then changed my mind to Cxx2a. It sounds as if @Mordante still thinks Cxx2b though?

Mordante added inline comments.Jun 29 2021, 10:54 PM
libcxx/docs/RangesIssuePaperStatus.csv
26–30

Yes I still prefer Cxx2b. LWG-issues are backported to previous standards, these are also listed under Cxx2b.
I won't object against Cxx2a. I do object to add them to both pages, that's asking for these two pages getting out of sync.

Quuxplusone accepted this revision.Jun 30 2021, 5:53 AM
Quuxplusone added inline comments.
libcxx/docs/RangesIssuePaperStatus.csv
26–30

Well, if @ldionne is leaving it up to me (which is probable IMHO but not 100% clear), I'll make the call for Cxx2a please.
Rationale: People might look at the Cxx2a status page to see whether we've implemented all of C++20... and that includes whether we've implemented the DRs that retroactively changed what it means to "implement all of C++20."
@cor3ntin, please make the move from Cxx2b to Cxx2a, and then ship it! (Or, don't make the move and ship it anyway; I won't seriously object; but I still think my rationale is good for making the move.)

This revision is now accepted and ready to land.Jun 30 2021, 5:53 AM
cor3ntin updated this revision to Diff 355609.Jun 30 2021, 9:58 AM

Move DR papers to Cxx2a