Implements parts of
- P2286R8 Formatting Ranges
- P2585R0 Improving default container formatting
Depends on D140651
Paths
| Differential D140653
[libc++][format] Implements range_formatter ClosedPublic Authored by Mordante on Dec 24 2022, 6:01 AM.
Details
Summary Implements parts of
Depends on D140651
Diff Detail
Event TimelineMordante added a child revision: D140801: [libc++][format] range-default-formatter for map.Dec 31 2022, 4:30 AM Mordante added a child revision: D141290: [libc++][format] Adds container adaptor formatters..Jan 9 2023, 8:14 AM
Mordante added a child revision: D141761: [libc++][format] Adds formatter std::vector<bool>..Jan 14 2023, 6:49 AM ldionne added inline comments.
This revision now requires changes to proceed.Jan 17 2023, 9:06 AM Comment Actions Thanks for the review!
This revision is now accepted and ready to land.Jan 18 2023, 12:02 PM Closed by commit rG22e8525dfdd7: [libc++][format] Implements range_formatter (authored by Mordante). · Explain WhyJan 19 2023, 8:20 AM This revision was automatically updated to reflect the committed changes. Comment Actions Hey, it looks like this change (and maybe https://reviews.llvm.org/D141290) is breaking the Fuchsia toolchain builders: https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-linux-arm64/b8791522961721981361/test-results?sortby=&groupby= It seems likely that we don't have the fr_FR locale generated on our bots, so I wouldn't expect these tests to work. Is there a way to feature flag these off so that the corresponding portions are disabled if the locale is unavailable? Comment Actions
Sorry for the inconvenience. Unfortunately it's not possible to selectively disable that part of the test. For now I've disabled it unconditionally. I will look at a proper solution, but I would like to have that reviewed properly. It seems currently the fuchsia buildbot has unrelated issues. Can you test whether main works again with my patch? Comment Actions
The builders are green now; thanks for your help! Comment Actions
Thanks for the update!
Revision Contents
Diff 490530 libcxx/docs/Status/FormatPaper.csv
libcxx/include/CMakeLists.txt
libcxx/include/__format/buffer.h
libcxx/include/__format/format_context.h
libcxx/include/__format/formatter_output.h
libcxx/include/__format/parser_std_format_spec.h
libcxx/include/__format/range_default_formatter.h
libcxx/include/__format/range_formatter.h
libcxx/include/__memory/allocate_at_least.h
libcxx/include/format
libcxx/include/module.modulemap.in
libcxx/test/libcxx/private_headers.verify.cpp
libcxx/test/libcxx/transitive_includes/cxx03.csv
libcxx/test/libcxx/transitive_includes/cxx11.csv
libcxx/test/libcxx/transitive_includes/cxx14.csv
libcxx/test/libcxx/transitive_includes/cxx17.csv
libcxx/test/libcxx/transitive_includes/cxx20.csv
libcxx/test/libcxx/transitive_includes/cxx2b.csv
libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.format.pass.cpp
libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.vformat.pass.cpp
libcxx/test/std/utilities/format/format.range/format.range.formatter/format.pass.cpp
libcxx/test/std/utilities/format/format.range/format.range.formatter/parse.pass.cpp
libcxx/test/std/utilities/format/format.range/format.range.formatter/set_brackets.pass.cpp
libcxx/test/std/utilities/format/format.range/format.range.formatter/set_separator.pass.cpp
libcxx/test/std/utilities/format/format.range/format.range.formatter/underlying.pass.cpp
libcxx/test/std/utilities/format/format.tuple/format.functions.format.pass.cpp
libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h
libcxx/test/support/format.functions.common.h
|
I wouldn't guard this as being >= C++23, since this is an implementation detail. I would only guard the range formatter itself.
Same applies below.