История изменений
Исправление 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 умеет еще огромное количество вещей. В том числе практически все, что я обрисовал выше.
Зачем в ядро языка добавлять ущербанство, которое не может даже то, что может обычная библиотечная функция?