LINUX.ORG.RU

История изменений

Исправление Siborgium, (текущая версия) :

Потому что он сахар над обычным циклом, перед которым запрашиваются итераторы, сохраняются в переменные и используются при итерировании цикла. Почему ты это не считаешь сахаром, когда это рафинированный случай сахара. Ты бы мог и по старинке написать for с итераторами.

Да, мог бы. И временами приходится. Но ты вырвал цитату из контекста – ranged-for можно использовать со всем, что отдаленно напоминает range (в широком смысле), и потому к нему нет таких претензий.

Нужна поддержка интерполяции в ядре языка.

Не нужна.

Далее это передаётся в реализацию функции форматирования из stdlib в том виде, в котором это будет удобно для реализации

Как мне добавить поддержку кастомных типов? Мне придется работать с реализацией, то есть как минимум какие-то типы и методы наружу отдавать придется.

На выходе получаем std::string.

Я не хочу std::string. Я хочу std::pmr::string. Я хочу std::wstring. Я хочу my::own::string. Я хочу const char*. Я хочу const unsigned char*. Я хочу std::string<char32_t>. Я хочу формировать строку в пре-аллоцированном буфере. Я хочу формировать строку лениво.

Ты ничего не обрисовал.

Не ври. Вот ссылка, сверху еще немного претензий.

Давай пример где работает

fmt::format умеет еще огромное количество вещей. В том числе практически все, что я обрисовал выше.

Зачем в ядро языка добавлять ущербанство, которое не может даже то, что может обычная библиотечная функция?

Нет, писать co_return удобнее.

Ага. А когда понадобится немного допилить корутины, к которым и так накопилось немало вопросов и предложений, и в объект корутины добавятся новые методы, придется добавлять еще пару кейвордов: co_coco и co_keyword, так как иначе их не вызвать.

Исходная версия Siborgium, :

Потому что он сахар над обычным циклом, перед которым запрашиваются итераторы, сохраняются в переменные и используются при итерировании цикла. Почему ты это не считаешь сахаром, когда это рафинированный случай сахара. Ты бы мог и по старинке написать for с итераторами.

Да, мог бы. И временами приходится. Но ты вырвал цитату из контекста – ranged-for можно использовать со всем, что отдаленно напоминает range (в широком смысле), и потому к нему нет таких претензий.

Нужна поддержка интерполяции в ядре языка.

Не нужна.

Далее это передаётся в реализацию функции форматирования из stdlib в том виде, в котором это будет удобно для реализации

Как мне добавить поддержку кастомных типов? Мне придется работать с реализацией, то есть как минимум какие-то типы и методы наружу отдавать придется.

На выходе получаем std::string.

Я не хочу std::string. Я хочу std::pmr::string. Я хочу std::wstring. Я хочу my::own::string. Я хочу const char*. Я хочу const unsigned char*. Я хочу std::string<char32_t>. Я хочу формировать строку в пре-аллоцированном буфере. Я хочу формировать строку лениво.

Ты ничего не обрисовал.

Не ври. Вот ссылка, сверху еще немного претензий.

Давай пример где работает

fmt::format умеет еще огромное количество вещей. В том числе практически все, что я обрисовал выше.

Зачем в ядро языка добавлять ущербанство, которое не может даже то, что может обычная библиотечная функция?