Implements parts of
- P2286R8 Formatting Ranges
Paths
| Differential D136775
[libc++][format] Adds formatter for tuple and pair ClosedPublic Authored by Mordante on Oct 26 2022, 10:56 AM.
Details
Summary Implements parts of
Diff Detail
Event TimelineComment Actions Overall looks good but we need to fix escaping in the standard and the implementation before this ships. Also a bunch of minor(ish) comments inline.
Comment Actions Thanks for the review!
I too think we should fix escaping. I also think we should fix the nesting of formatters.
Comment Actions Mostly LGTM but I would like to see again for for_each.
This revision now requires changes to proceed.Dec 13 2022, 9:00 AM Comment Actions Thanks for the review!
Mordante marked 3 inline comments as done. Comment ActionsRebased, address review comments, and improve tests. ldionne added inline comments.
This revision is now accepted and ready to land.Dec 21 2022, 12:02 PM Mordante marked 6 inline comments as done. Comment ActionsRebased and addresses review comments. Give a spin before landing. This revision was landed with ongoing or failed builds.Dec 22 2022, 10:36 AM Closed by commit rGeb6e13cb3280: [libc++][format] Adds formatter for tuple and pair (authored by Mordante). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 484845 libcxx/docs/Status/FormatPaper.csv
libcxx/include/CMakeLists.txt
libcxx/include/__chrono/statically_widen.h
libcxx/include/__format/formatter.h
libcxx/include/__format/formatter_tuple.h
libcxx/include/__format/parser_std_format_spec.h
libcxx/include/__utility/integer_sequence.h
libcxx/include/format
libcxx/include/module.modulemap.in
libcxx/test/libcxx/private_headers.verify.cpp
libcxx/test/libcxx/utilities/intseq/for_each_index_sequence.pass.cpp
libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
libcxx/test/std/utilities/format/format.functions/format_tests.h
libcxx/test/std/utilities/format/format.tuple/format.functions.format.pass.cpp
libcxx/test/std/utilities/format/format.tuple/format.functions.format.verify.cpp
libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h
libcxx/test/std/utilities/format/format.tuple/format.functions.vformat.pass.cpp
libcxx/test/std/utilities/format/format.tuple/format.pass.cpp
libcxx/test/std/utilities/format/format.tuple/parse.pass.cpp
libcxx/test/std/utilities/format/format.tuple/set_brackets.pass.cpp
libcxx/test/std/utilities/format/format.tuple/set_separator.pass.cpp
libcxx/utils/ci/run-buildbot
|
If these issues were already in the pipeline and we knew pretty much which way things were going to go, I would say "sure, let's implement the expected issue resolution right away". However, it seems that we're a bit earlier than this here. I would recommend implementing whatever the standard says right now and have another patch ready to apply the expected issue resolution once it is discussed and we know which way we'll go.
We can also raise the unfortunate timing of the committee meeting and the LLVM release with the release manager -- perhaps it would be better for everyone to push back the LLVM branch point by 2 weeks or so.