SG16 will hold a telecon on Wednesday, May 24th, at 19:30 UTC (timezone conversion).

The agenda follows.

P2779R0 was briefly discussed during the 2023-04-26 SG16 telecon. This time around, the author is expected to be present so we'll have an opportunity to hear his perspective. The primary SG16 concern is the proposed same-type match of a member traits_type type alias to determine whether a type is implicitly convertible to a std::string_view specialization. There is a bit of history here. The proposed wording is relative to the C++ Working Draft as specified in N4928, but that is no longer the status quo. The proposed removal of [string.view.cons]p12 sub paragraph 6 (12.6) already occurred via LWG 3857. The proposal actually resurrects that wording (in both proposed options) and repurposes it for the proposed conditionally explicit behavior. Both proposed options require matching traits_type type aliases to enable implicit conversions; the difference is that option 1 also requires a std::is_string_view_like variable template specialization to be true in order to enable implicit conversions. When last discussed, Victor asserted that the maintainers of Folly's basic_fbstring alternative to std::string would not want such implicit conversions enabled. I'd like to better understand why that is. Our goal will be to poll forwarding the paper with a preference for option 1 or option2.

The remaining papers are all courtesy of Alisdair and address the removal of previously deprecated features. For P2863R0, the only item of discussion is that std::filesystem::u8path is not proposed for removal; see section 6.29 for rationale. P2871R0 proposes the removal of std::codecvt_utf16, std::codecvt_utf8, and std::codecvt_utf8_utf16, all of which were deprecated in C++17. P2872R0 proposes the removal of std::wstring_convert which was deprecated in C++17. Finally, P2873R0 proposes removal of the std::codecvt<char16_t, char, mbstate_t>, std::codecvt<char32_t, char, mbstate_t>, std::codecvt_byname<char16_t, char, mbstate_t>, and std::codecvt_byname<char32_t, char, mbstate_t> specializations, all of which were deprecated in C++20. With regard to this last paper, we may want to consider LWG 3767 as well and the mistake that was made (by me) in adding the std::codecvt<char16_t, char8_t, mbstate_t>, std::codecvt<char32_t, char8_t, mbstate_t>, std::codecvt_byname<char16_t, char8_t, mbstate_t>, and std::codecvt_byname<char32_t, char8_t, mbstate_t> specializations.

If we don't get through all of these papers in this meeting, then we'll plan to meet again either May 31st or June 7th to finish reviews in time for the Varna meeting.

Tom.