иметь ввиду автор библиотеки здесь https://github.com/fmtlib/fmt/issues/3718?
А что, в fmt Args&&? Но зачем 😱
Ой, в std тоже...
Автор пишет и даже как-то обосновывает. Я сейчас начинаю понимать, что в (частичной) специализации std:formatter у std::formatter::format может быть первый аргумент не-const ссылкой и внутри "материализовать" лениво вычисляемое значение. Если автор гарантирует порядок вызова, то UB не будет.
потому что некоторые типы не итерируются по const, views filter, generator
интересно, нет ли проблем с "{1} {0} {1}" для этих случаев. В каком порядке аргументы материализуются и прикапываются?
В порядке следования {}
При инициализации параметров всегда неуточненный порядок же. Определен он для элементов массивов/init-list'ов/полей классов.
Там вопрос не в инициализации, а в том, что приводит к их мутации. Мутируют они при вызове форматирования, которое выполняется последовательно.
А, понял, о чем речь.
Обсуждают сегодня