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

Implement formatter specializations for pair and tuple #4438

Merged
merged 23 commits into from
Mar 16, 2024

Conversation

frederick-vs-ja
Copy link
Contributor

@frederick-vs-ja frederick-vs-ja commented Mar 3, 2024

Towards #2919. Also partially implements LWG-3839 and LWG-3892.

Test coverage mainly relies on unblocked libcxx tests.

  • std/utilities/format/format.tuple/format.functions.format.pass.cpp
  • std/utilities/format/format.tuple/format.functions.vformat.pass.cpp
  • std/utilities/format/format.tuple/set_brackets.pass.cpp
  • std/utilities/format/format.tuple/set_separator.pass.cpp

There's one new test file added to the std subdirectory that is derived from libcxx tests.

The following ones would also be unblocked after this PR and LLVM-83734.

  • std/containers/sequences/vector.bool/vector.bool.fmt/parse.pass.cpp
  • std/thread/thread.threads/thread.thread.class/thread.thread.id/parse.pass.cpp
  • std/utilities/format/format.tuple/parse.pass.cpp

Test coverage mainly rely on unblocked libcxx tests.
@frederick-vs-ja frederick-vs-ja requested a review from a team as a code owner March 3, 2024 18:49
@StephanTLavavej StephanTLavavej added ranges C++20/23 ranges format C++20/23 format cxx23 C++23 feature labels Mar 3, 2024
@StephanTLavavej StephanTLavavej self-assigned this Mar 3, 2024
and re-enable fixed `_STL_INTERNAL_STATIC_ASSERT`
- std/containers/sequences/vector.bool/vector.bool.fmt/parse.pass.cpp
- std/thread/thread.threads/thread.thread.class/thread.thread.id/parse.pass.cpp
stl/inc/format Outdated Show resolved Hide resolved
stl/inc/format Outdated Show resolved Hide resolved
@cpplearner

This comment was marked as resolved.

frederick-vs-ja and others added 18 commits March 6, 2024 00:33
- Remove redundant `_Writer`.
- Remove redundant `back_insert_iterator` variable.
- Use `_Copy_unchecked`, removing `_Sv_formatter`.
- Remove one superfluous `_Write_aligned` call.
* `std/utilities/format/format.tuple/format.functions.tests.h`
* `std/utilities/format/format.tuple/format.functions.format.pass.cpp`
* `std/utilities/format/format.tuple/format.functions.vformat.pass.cpp`
stl/inc/__msvc_formatter.hpp Outdated Show resolved Hide resolved
stl/inc/__msvc_formatter.hpp Outdated Show resolved Hide resolved
stl/inc/__msvc_formatter.hpp Outdated Show resolved Hide resolved
stl/inc/format Outdated Show resolved Hide resolved
stl/inc/format Outdated Show resolved Hide resolved
stl/inc/format Outdated Show resolved Hide resolved
tests/std/tests/P2286R8_text_formatting_tuple/test.cpp Outdated Show resolved Hide resolved
tests/std/tests/P2286R8_text_formatting_tuple/test.cpp Outdated Show resolved Hide resolved
stl/inc/format Outdated Show resolved Hide resolved
@StephanTLavavej StephanTLavavej removed their assignment Mar 15, 2024
@StephanTLavavej StephanTLavavej removed the ranges C++20/23 ranges label Mar 15, 2024
@StephanTLavavej StephanTLavavej self-assigned this Mar 15, 2024
@StephanTLavavej
Copy link
Member

I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

@StephanTLavavej StephanTLavavej merged commit 79e79a2 into microsoft:main Mar 16, 2024
35 checks passed
@StephanTLavavej
Copy link
Member

("Thank you!", "😻")

@frederick-vs-ja frederick-vs-ja deleted the formatter-pair-tuple branch March 16, 2024 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cxx23 C++23 feature format C++20/23 format
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants