microsoft / STL

MSVC's implementation of the C++ Standard Library.
Other
9.88k stars 1.45k forks source link

Implement `range-default-formatter` #4716

Closed frederick-vs-ja closed 1 day ago

frederick-vs-ja commented 2 weeks ago

Towards #2919/WG21-P2286R8/WG21-P2585R1.

The following tests are derived from libc++'s test files:

Note that libc++'s range_formatter is currently buggy on the m option, see LLVM-90196 and LLVM-94562.

The test P2286R8_text_formatting_tuple_disambiguation covers formatting pairs and tuples that are also ranges.

Unblocks libcxx tests:

frederick-vs-ja commented 2 weeks ago

~Remaining test failures seem related to #4320. Perhaps I also need to fix it.~

Edit: nope, they're unrelated. The locale-related test cases should be conditionally skipped.

cpplearner commented 2 weeks ago

There are a lot of code movements. To make code review easier, can you split them into a separate commit?

frederick-vs-ja commented 2 weeks ago

There are a lot of code movements. To make code review easier, can you split them into a separate commit?

Done.

StephanTLavavej commented 3 days ago

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

StephanTLavavej commented 1 day ago

Thanks for this next step towards completing C++23! :tada: :heart_eyes_cat: :green_heart: