Skip to content

[libc++] Update some C++23 statuses to "Nothing to do" or "Complete" #99621

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

Merged
merged 3 commits into from
Jul 22, 2024

Conversation

strega-nil
Copy link
Contributor

@strega-nil strega-nil commented Jul 19, 2024

  • P2160R1 "Locks lock lockables"
  • P2212R2 "Relax Requirements for time_point::clock"
  • P1675R2 "rethrow_exception must be allowed to copy"
  • P2340R1 "Clarifying the status of the 'C headers'"
  • P2460R2 "Relax requirements on wchar_t to match existing practices"

Are all papers that change wording without changing implementation behaviour.

Additionally, P2736R2 "Referencing The Unicode Standard", is an already complete paper in 19.0 (as of LLVM-86543)

[P2160R1][] "Locks lock lockables" is a paper that updates wording,
without changing behaviour.

[P2160R1]: https://wg21.link/p2160r1
@strega-nil strega-nil requested a review from a team as a code owner July 19, 2024 09:48
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Jul 19, 2024
@llvmbot
Copy link
Member

llvmbot commented Jul 19, 2024

@llvm/pr-subscribers-libcxx

Author: nicole mazzuca (strega-nil)

Changes

P2160R1 "Locks lock lockables" is a paper that updates wording, without changing behaviour.


Full diff: https://github.com/llvm/llvm-project/pull/99621.diff

1 Files Affected:

  • (modified) libcxx/docs/Status/Cxx23Papers.csv (+1-1)
diff --git a/libcxx/docs/Status/Cxx23Papers.csv b/libcxx/docs/Status/Cxx23Papers.csv
index 6dd6bdad07658..42a10ae85e816 100644
--- a/libcxx/docs/Status/Cxx23Papers.csv
+++ b/libcxx/docs/Status/Cxx23Papers.csv
@@ -6,7 +6,7 @@
 "","","","","","",""
 "`P1682R3 <https://wg21.link/P1682R3>`__","LWG","std::to_underlying for enumerations","February 2021","|Complete|","13.0"
 "`P2017R1 <https://wg21.link/P2017R1>`__","LWG","Conditionally borrowed ranges","February 2021","|Complete|","16.0","|ranges|"
-"`P2160R1 <https://wg21.link/P2160R1>`__","LWG","Locks lock lockables","February 2021","",""
+"`P2160R1 <https://wg21.link/P2160R1>`__","LWG","Locks lock lockables","February 2021","Nothing to do",""
 "`P2162R2 <https://wg21.link/P2162R2>`__","LWG","Inheriting from std::variant","February 2021","|Complete|","13.0"
 "`P2212R2 <https://wg21.link/P2212R2>`__","LWG","Relax Requirements for time_point::clock","February 2021","",""
 "`P2259R1 <https://wg21.link/P2259R1>`__","LWG","Repairing input range adaptors and counted_iterator","February 2021","","","|ranges|"

@strega-nil strega-nil marked this pull request as draft July 19, 2024 09:53
@strega-nil strega-nil changed the title [libc++] Mark P2160R1 as "Nothing to do" [libc++] Mark papers with no implementation changes required as "Nothing to do" Jul 19, 2024
@strega-nil strega-nil marked this pull request as ready for review July 19, 2024 10:11
@@ -120,4 +120,4 @@
"`P2614R2 <https://wg21.link/P2614R2>`__","LWG", "Deprecate ``numeric_limits::has_denorm``","February 2023","|Complete|","18.0",""
"`P2588R3 <https://wg21.link/P2588R3>`__","LWG", "``barrier``’s phase completion guarantees","February 2023","","",""
"`P2763R1 <https://wg21.link/P2763R1>`__","LWG", "``layout_stride`` static extents default constructor fix","February 2023","","",""
"`P2736R2 <https://wg21.link/P2736R2>`__","CWG","Referencing The Unicode Standard","February 2023","","","|format|"
"`P2736R2 <https://wg21.link/P2736R2>`__","CWG","Referencing The Unicode Standard","February 2023","Nothing to do","","|format|"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure whether this should be considered completed in #86543 (and hence should be in 19.0). @mordante

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say no; the paper involved is not updating the unicode standard, just switching to referencing the unicode standard rather than ISO 10646.

Copy link
Contributor

@frederick-vs-ja frederick-vs-ja Jul 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, the referenced Unicode version used by <format> seemed to be Unicode 14 (per Bibliography in the paper) , and the paper updated the referenced version to 15?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This paper, in my opinion, just removes the referenced version - the current C++ standard only refers to the latest unicode standard, unversioned. In my opinion, this means that implementations are free to reference any standard (perhaps only newer than the C++ standard they are implementing), and therefore that updating the standard referenced in implementations is just an implementation detail.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually it means implementations should always use the latest released Unicode version. This means it's complete until the next Unicode release. I think marking it as complete in version 19.0 would be better.

There is a core issue filed against this change.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mmh, point; I'll make this change, thanks @mordante!

Copy link
Member

@mordante mordante left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for reviewing the status of these papers!
LGTM modulo one comment.

@@ -120,4 +120,4 @@
"`P2614R2 <https://wg21.link/P2614R2>`__","LWG", "Deprecate ``numeric_limits::has_denorm``","February 2023","|Complete|","18.0",""
"`P2588R3 <https://wg21.link/P2588R3>`__","LWG", "``barrier``’s phase completion guarantees","February 2023","","",""
"`P2763R1 <https://wg21.link/P2763R1>`__","LWG", "``layout_stride`` static extents default constructor fix","February 2023","","",""
"`P2736R2 <https://wg21.link/P2736R2>`__","CWG","Referencing The Unicode Standard","February 2023","","","|format|"
"`P2736R2 <https://wg21.link/P2736R2>`__","CWG","Referencing The Unicode Standard","February 2023","Nothing to do","","|format|"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually it means implementations should always use the latest released Unicode version. This means it's complete until the next Unicode release. I think marking it as complete in version 19.0 would be better.

There is a core issue filed against this change.

@strega-nil strega-nil changed the title [libc++] Mark papers with no implementation changes required as "Nothing to do" [libc++] Update some C++23 statuses to "Nothing to do" or "Complete" Jul 22, 2024
@mordante mordante merged commit 4189226 into llvm:main Jul 22, 2024
56 checks passed
yuxuanchen1997 pushed a commit that referenced this pull request Jul 25, 2024
…99621)

Summary:
- [P2160R1][] "Locks lock lockables"
- [P2212R2][] "Relax Requirements for `time_point::clock`"
- [P1675R2][] "`rethrow_exception` must be allowed to copy"
- [P2340R1][] "Clarifying the status of the 'C headers'"
- [P2460R2][] "Relax requirements on `wchar_t` to match existing
practices"

Are all papers that change wording without changing implementation
behaviour.

Additionally, [P2736R2][] "Referencing The Unicode Standard", is an
already complete paper in 19.0 (as of [LLVM-86543][])

[P2160R1]: https://wg21.link/p2160r1
[P2212R2]: https://wg21.link/p2212r2
[P1675R2]: https://wg21.link/p1675r2
[P2340R1]: https://wg21.link/p2340r1
[P2460R2]: https://wg21.link/p2460r2
[P2736R2]: https://wg21.link/p2736r2
[LLVM-86543]: #86543

Test Plan: 

Reviewers: 

Subscribers: 

Tasks: 

Tags: 


Differential Revision: https://phabricator.intern.facebook.com/D60251122
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants