C++ Logo

std-proposals

Advanced search

Re: [std-proposals] P3695R0 Deprecate implicit conversions between char8_t, char16_t, and char32_t

From: Hans Åberg <haberg_1_at_[hidden]>
Date: Fri, 16 May 2025 22:22:20 +0200
> On 16 May 2025, at 21:45, Tom Honermann <tom_at_[hidden]> wrote:
>
> On 5/16/25 12:12 PM, Hans Åberg via Std-Proposals wrote:
>>> On 16 May 2025, at 14:20, Jan Schultke via Std-Proposals <std-proposals_at_[hidden]> wrote:
>>> https://isocpp.org/files/papers/P3695R0.html will be in the next mailing.
>>>
>>> It seems like people almost universally dislike this implicit conversion, and overall, deprecation has been received very positively. However, I'd still be interested in your thoughts on this.
>> One can have implicit conversions between the types std::string, std::u8string, and std::u32string, where std::u8string might guarantee valid UTF-8 sequences. Conversions from std::string would then throw exceptions for invalid UTF-8 sequences. No exceptions are needed for conversions between std::u8string and std::u32string.
>
> Implicit conversions that involve potentially high performance costs are generally discouraged.

These are conversions that cannot be avoided, so it does not matter.

Received on 2025-05-16 20:22:41