Похоже Владимир, ты так же не разбираешься в вопросе как и тетя сцара.
Не веду диалоги о тех вопросах в которых не разбираюсь, да и не претендую на то, что все мои суждения априори правильны.
Вы похоже из любителей гамнецом поливать других.
если вдруг захотел boost добавить к сборке - будешь страдать, потому что туда CMake пока не завезли. В то время как Cargo требует по несколько строчек на зависимость, сам их резолвит и собирает.
Т.е. cargo сам все резолвит и собирает boost?
И его безальтернативность - это плюс, избавляет от фрагментации и пердолинга.
Просто пользователей у раста на пару порядков меньше, чем у C++, а для васянских велосипедов достаточно подхода one size fits all.
Нам же задачу решать надо, а не со сборкой сношаться, верно?
Задачи (внезапно!) бывают разные, и требуют разных инструментов.
Эти анонимные клоуны. Иди показывай в коде использование внешних импортов. Я могу подключать что угодно по условиям задачи, клоун. Я не должен использовать ничего готового в логике связанной с корутинами, а в остальном я могу использовать что угодно.
Почему use-директивы ты считаешь «рантаймом», а #include – нет?
Почему вы, балаболы, все такие тупые? Где там #include? А, трепло? Покажешь? Там нет никаких #include и ты обделался.
К тому же на эту бездарную херню я ответил. Потому я могу написать всё, что используется в инклюдах руками, а сектант нет. Что я и продемонстрировал, а сект перданул в лужу.
К тому же в C++ инклюды обладают банальным свойством - они не ссылаются на внешние экспорты. В отличии от use-говна, который всегда ссылается на внешние экспорты.
Т.е. в рамках сишного наследения в иклюдах могут быть объявления не определённые в них же, но подобное говно не является С++ и подобные инклюды так же считаются за внешний рантайм.
Ты совсем что-ли поехавший? Давно проверялся? Какое отношение они имеют к теме? Из одной используется printf из второй аллокатор(и то форфан). Тебе в твоём говне их использовать никто не запрещает.
Зада была поставлена запустить без внешнего рантайма/импортов. За то, что сектант использовал printf я с него не спрашивал. Потому как в задачу не входило пилить printf.
Я не перестаю удивляться вашей тупости непробиваемой.
Зада была поставлена запустить без внешнего рантайма/импортов.
Запустить генератор, очевидно. Т.е. вся обвязка должна быть написана руками. Из внешних источников ты можешь использовать примитивы, которые прямо не имеют отношения к генератору.
Т.е. printf ворованный для теста, аллокатор ворованный. Исключения ворованные. Главное, что-бы это напрямую не относилось к генератору.
Где я их отрицал, трепло? Я отрицал их(и любых других) необходимость. И отсутствие их необходимости - я доказал, а ты обделался.
Имеют они отношение к задаче или нет – дело десятое, я вообще не о том.
Нет, трепло. Не прокатит. Ты в очередной раз перданул в лужу, а далее начал мазаться. Меня абсолютно не волнует, что там кукарекается какое-то трепло.
Ты прибежал и начал что-то кукарекать в ответ мне. Все мои тезисы существуют в рамках заранее определённого контекста, и никакой балабол не может прибежать, обделаться и начать кукарекать, что его этот контекст не волнует.
Из одной используется printf из второй аллокатор(и то форфан).
Я не силён в новом стандарте и хочу уточнить. Если у методов класса suspend_never убрать тела (представим, что они откуда-то линкуются и нет возможности их заинлайнить)
Если у методов класса suspend_never убрать тела (представим, что они откуда-то линкуются и нет возможности их заинлайнить)
Это будет не C++, а говно. И там дело не в телах. Там дело в том, что await_ready() отвечает за то, необходимо ли корутине остановиться.
Если нет - это генератор. Если да - это управляемый генератор. Если значение неизвестно - это управляемый генератор.
то в f() первым вызовом появляется
Там специально разобран этот момент. Посмотри первый пример - я там специально добавил трейс и ты можешь посмотреть как и что вызывается.
Там будет вызван не operator new глобальный, а operator new реализованный в твоём promise_type(если ты его реализуешь) и там ты можешь как угодно выделять память. Хоть малоком, хоть своим аллокатором.
Можно это как-нибудь убрать?
Убрать саму аллокацию - нет. Это семантическое ограничение.
Если корутина управляема - она не может жить в вызываемом скоупе, потому как он может в любой момент кончится. Поэтому время жизни она должна иметь глобальное.
Нет. В расте буст нафиг никому не нужен, большинство его фич = в std, остальное - добавляется парой строчек.
Дурачка не включай. Назови мне хоть один пример, где карго будет мешать, а не помогать. Напоминаю, если ты не хочешь пользоваться реестром crates.io,можешь не пользоваться, карго не прибит к нему гвоздями, способен собирать пакеты из гит репозитория, локальной директории и т.д.
Действительно. Расскажи мне, какую практическую пользу несёт соитие с поехавшим CMake? Никакой. Тебе разве что денег накинут за пердолинг с ним.
Нет. В расте буст нафиг никому не нужен, большинство его фич = в std
В школу уже сходит? Нет, вот сходи. Ну и хану, спирит иди показывай. Строчка ходячая.
остальное - добавляется парой строчек.
В этом и проблема. В нормальном языке добавляется нулем, либо одной строчкой.
Назови мне хоть один пример, где карго будет мешать, а не помогать.
Во всех случаях, если ты не дошколёнок-эникейщик, которому нужно сбацать лабу.
можешь не пользоваться, карго не прибит к нему гвоздями, способен собирать пакеты из гит репозитория
Зачем мне в гите какие-то говнокеты и зачем мне это дерьмо? У тебя даже тут методичка потекла.
Действительно. Расскажи мне, какую практическую пользу несёт соитие с поехавшим CMake? Никакой. Тебе разве что денег накинут за пердолинг с ним.
Действительно. Расскажи мне, какую практическую пользу несёт соитие с поехавшим говнарго? Никакой. Тебе даже денег не накинут за пердолинг с ним(и ни с чем другим).
Давай ещё раз и попроще. Говнорго нужна дошколятам, которая бацает лабы. Что-бы как угодно прикрутить очередной лефтпад, ни за что не отвечая. Которые ничего о компиляторе, о рантайме, система и прочем окружении не знают. Когда всё и везде - ворованное об этом думать то не нужно - другие подумали.
Дак вот, человеку всё это нужно. И за всё это он отвечает и всем этим управляет. Какая-то бездарная дошколятская поделка ему не нужна. Она ему ничего не даёт и только мешает, потому как ЦА у неё - дошколята. И создатели её дошколята.
И одни ничего не нужно(кроме как сбацать лабу), а другие ничего не могут, потому что бездарное говнорго очередная лаба.
Ты хотел сказать «То чувство, когда адепт одной секты упрекнул адепта другой секты во вмешательстве в политику и это скатилось в политосрач»? Вся суть срачей в интернете: кода нет, зато есть телеги шизы-шизулечки.
я хотел сказать, что мне решительно похуй и на то и на другое. просто мимо проходил. но гниль представителей закомплексованной нации пролезла даже в эти аспекты жизни.
сидя на бутылке и обвинять других в том, что они сидят на бутылке, ну… це перемога!
И этому есть отличное обоснование: пидорасы дают в жопу по собственному желанию, либералы имеют свободу давать в жопу или не давать, а вот пешки полицейского государства - дают в жопу против своей воли, по приказу полицейской дубинки или другого инструмента. Так то!
ну главное верить в то что делаешь. и ходя с обосранными штанами говорить: «это не я, мне вон тот в штаны насрал», - только сути не меняет. говно в штанах так и останется.
а потом жабоскриптеры жалуются на некий колбэкхэлл тк не умеют в функциональщину, появляются статьи про цветные функции, и оказывается что лучше писать на эрланге.
Там будет вызван не operator new глобальный, а operator new реализованный в твоём promise_type(если ты его реализуешь) и там ты можешь как угодно выделять память. Хоть малоком, хоть своим аллокатором.
И какие расклады под онтопик? brk sbrk? может mmap (если специфика задачи позволяет)? Но это всё еще libc. Системные вызовы это завязка на конкретную ОС. Вот и получается, что никуда ты от libc не убежишь, либо побежал как манька реализовывать свое калечное подмножество libc для каждой архитектуры, куда ты свой, не такой как все, говноаллокатор решишь протащить. И это только онтопик.
Что имеем по факту, ho возня для дошколят, предкомпилировать такую реализацию не имеет смысла, потому что вся суть в том, что она меняется, по факту от рантайма она все равно никуда не убежала это из очевидных минусов. Из плюсов можно как аутяга всем пацанам в курилке рассказывать, что ты можешь таскать с собой свою ho поделку с архитектуры на архитектуру, но ее все равно надо будет компилировать чтобы она притянула рантайм и сделала что-то полезное.
А при чём здесь коллбэк хелл? Он был в JS до появления async/await. Он был и в расте когда async/await не было, а были комбинаторы, которые затем выкинули. В нынешнем расте асинхронная функция выглядит как синхронная, только в её сигнатуре ты пишешь async, а там, где другие асинхронные функции что-то возвращают, - await. Как бы потому то async/await и был таким желанным - он делал работу над ошибками. И в отличии от erlang фьючеры в Rust «ленивые» - пока не отдашь «исполнителю», ничего считаться не будет.
И какие расклады под онтопик? brk sbrk? может mmap (если специфика задачи позволяет)? Но это всё еще libc. Системные вызовы это завязка на конкретную ОС. Вот и получается, что никуда ты от libc не убежишь, либо побежал как манька реализовывать свое калечное подмножество libc для каждой архитектуры, куда ты свой, не такой как все, говноаллокатор решишь протащить. И это только онтопик
Ага, свежо предание… Я тебя ещё больше удивлю, но аллокатор реализуется даже без malloc/operator new/прочих обращений к системе. Царь, конечно, клоун тот ещё, но в данном случае ты ещё большую ахинею несёшь. А если уж разобраться нужно, то начать стоит с определения термина «рантайм». Иначе сейчас окажется что свой аллокатор в хэдере без обращений к внешнему миру - это точно такой же рантайм, только своими руками сделанный
может mmap (если специфика задачи позволяет)? Но это всё еще libc.
mmap
это libc
В школу сходи.
Системные вызовы это завязка на конкретную ОС.
Нет, ты обгадился. Есть одна ОС, а другой убогий мусор пусть исполняет волю хозяина. Меня убожество волновать не должно и не волнует.
К тому же, твоя хозяин уже работает над тем, что-бы врезать тебе в жопу переходник на mmap.
говноаллокатор решишь протащить
В школу. Никакой аллокатор никому не нужен.
Что имеем по факту, ho возня для дошколят
Дак а зачем дошколята сюда лезут? Твоё потолок - пару трюков. Выучил, сиди в болоте - слушай хозяина.
предкомпилировать
В школу. Никакой «предкомпиляции» не существует.
но ее все равно надо будет компилировать чтобы она притянула рантайм и сделала что-то полезное.
Какой рантайм, птушник? Ты уже обделался с рантаймом. Ничего из него не назвав. Всё что я слышал - это только «ко-ко-ко, но я ничего не могу, знаю только трюк маллок - как без него жить? Ко-ко-ко» и прочие рыдания.
Тогда нет смысла вообще упоминать boost. Иначе логика такая: «для C++ есть система сборки X и либа Y, и поэтому Rust (в котором нет ни X, ни Y), лучше C++». С таким же успехом можно просто вопить «C++ сакс, Rust рулз», не отвлекаясь на boost, cmake и проч.
Понятно, обосрался и пошел в отказ. В очередной раз… На элементарщине, что самое смешное. Типичная картинка в общем-то для крестоносца, носятся со своими идеями в вакууме, оторванными от реальности, рили веруны из средневековья.
Обезьяна блеет «ко-ко-ко, mmap - это libc, а без аллокатора нельзя». Поступает ответ «нет, mmap никакого отношения к libc не имеет», «никакой аллокатор не нужен».
Что обезьяна блеет в ответ? «ааа, пошёл в отказ, в очереднной раз», т.е типичная методичка бездарности. Сначала блеет херню с видом «и никак иначе», когда же ты отрицаешь эту херню и требует с обезьяны обоснований - она начинает орать «да как ты можешь - все же знают, что это так. ААА, как можно отказываться».
Да, бездарное дерьмо. Я отказываюсь от того, что mmap - это libc. И твоя задача, обезьяна, доказывать это. А не моя. ты это кукарекала.
Так же, обезьяна, твоя задача доказывать, что то, что ты кукарекаешь нужно. Я же могу послать тебя нахрен, потому как доказать обратное не обязан по определению.
Твои школьные ужимки и тыканье в оппонента пальцем c криками сам дурак, никак не исправят того, что ты уже напрудил в этой и темах ранее. Прокол по логике, прокол по семантике. По факту ты только в колокол звонарь, метатеоретик от крестокомпоста.
Оправдываться тут должен только ты, твоей тезис изначальный, ты тут больше всех ласкал глаза скромной публике. Так что, либо ты показываешь и доказываешь, что твой подход с ho делает что-то полезное без притянутого рантайма, либо и дальше перебираешь сорты говна в своей куче крестоиспражнений и бежишь на ресурс своей «только одной ОС» где тебя ждет ТВОЙ хозяин, за одно между подходами по полировке твоих гланд хозяином напоешь ему фальцетом о преимуществах с++, в наспех сбитой тобой системе альтернативных определений альтернативной реальности к которой ты прибегаешь как тебя только ткнут носом в лужу которую ты только что из под себя испустил.