So, I dropped a message to the SG16 mailing list, and I got a link to a new paper as an answer: https://wg21.link/P3258
As I read it, the key point for us is that the formatter output should use the literal encoding of the format string, or fall back to the execution encoding. AFAIK, we in Qt already assume that the literal and execution encoding is UTF-8. That's the case for Linux and macOS, and for MSVC we explicitly pass the /utf8 flag to enable the same behavior. As a result, UTF-8 seems to be the right choice for the char formatters. Best regards, Ivan ------------------------------ Ivan Solovev Senior Software Engineer The Qt Company GmbH Erich-Thilo-Str. 10 12489 Berlin, Germany ivan.solo...@qt.io www.qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B ________________________________________ From: Development <development-boun...@qt-project.org> on behalf of Thiago Macieira <thiago.macie...@intel.com> Sent: Friday, June 7, 2024 6:25 PM To: development@qt-project.org Subject: Re: [Development] std::format support for Qt string types On Friday 7 June 2024 08:40:33 GMT-7 Ivan Solovev via Development wrote: > IIUC, the problem of extra allocations is covered by the transcoding > iterators and views in the paper that was linked by Giuseppe. Yes and no. That appears to transfer the responsibility of transcoding to the formatter, which may be acceptable for std::format() on std::string or for std::print(), because for those, performance and code bloat are entirely unimportant. The question I want to see addressed is performance when we begin using format to replace QString::arg() and thus tr(). We have highly-specialised conversion code because this is critical to us and I'd like to see it used. So how do we ensure that in those contexts we use our code, which is not and cannot be inline? How do we format onto a QString? -- Thiago Macieira - thiago.macieira (AT) intel.com Principal Engineer - Intel DCAI Fleet Engineering and Quality -- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development