Маjко
Потребует лайфтайма больше или равного лайфтайму пула
Маjко
effectively да, статик
Anton
Пул — в смысле event-loop?
Anton
Или что имеется в виду?
Vladimir
Vladimir
Vladimir
Некую коллекцию фьюч
Anton
Ну то есть World'у тоже придётся быть статиком?
Anton
Чувствую тут какой-то подвох
Anton
Ладно пойду спать, завтра ещё подумаю. Что-то нет у меня пока интуитивного понимания лайфтаймов, но как будто бы не должно так быть
Anton
По идее ему достаточно прожить до того времени, пока стрим не закончится
Vladimir
Vladimir
Статик лайфтайм можно гарантировать передав переменную по значению
Vladimir
Так как это значение будет жить "пока нужно"
Anton
Ну вот по логике, когда мы пишем на генераторах/корутинах, компилятор знает, что стрим закончился после await и удалился
Anton
И ему не нужен лайфтайм больше
Vladimir
Стрим не закончится после авейт
Vladimir
Да и это бета фича
Vladimir
Ну и мы тебе говорим об обратной стороне фьюч
Vladimir
Лайфтайм в них почти бесполезен
Vladimir
Если тебе конечно не нужны фьючи ради фьюч
Anton
Vladimir
Ну авейт это прерывание
Vladimir
Чего ему завершаться?
Anton
Я имею в виду внешний await
Anton
Который ожидает стрим
Vladimir
Да, по большому счету ссылки можно было бы вычислить, но сейчас это так не работает😰
Vladimir
И вряд-ли будет
Vladimir
И вряд-ли нужно
Anton
Я надеялся, что это как раз и реализуют
Vladimir
Зачем тебе такие фьючи?
Маjко
И вряд-ли нужно
Нужно, это сильно упростит вкатывание новичков и плюс даст более эффективный код, где можно будет использовать данные на стеке во фьючах.
Vladimir
Чем оно упростит? Ну не будут такие фьючи работать с Токио, зачем они нужны?
Маjко
Перепилят фьючи — перепилят и токио
Anton
Зачем тебе такие фьючи?
Ну грубо говоря я хочу игровую логику писать без явного геймлупа, всё на await
loop {
await!(select_character_menu(...))
await!(fight(...))
}
Vladimir
Генераторы с лайфтайми - да, полезно. Фьючи - бесполезно
Vladimir
Vladimir
Rc<RefCell<T>> наше всё
Маjко
Грустная история
Anton
Это печально)
Vladimir
Да на деле это не так сильно тебя замедлит (ты вообще не заметишь)
Anton
Ну если я правильно понимаю, я тогда теряю статическую проверку заимствований. Точнее придётся явно проверять везде
Anton
А раст именно этим и привлекал
Vladimir
RefCell дает также гарантии ток в рантайме. А ошибки с RefCell воспроизводимы и легко отлаживаемые. Иногда сильно легче написать на рефцеллах чем проебаться с борроучекером
Маjко
Забей, ты никогда с проблемами не столкнешься тут
Маjко
Ни разу не сталкивался: мутаьельность нужна не так часто
Маjко
А фьючи однопоточные
Vladimir
К тому же потом ты захочешь оптимизировать и распараллелить, и тут уже нужно будет на акрки и мьютексы переписать х)
Маjко
Так что у тебя никогда не возникнет ситуации, когда данные заимствованы мутабельно дважды
Маjко
Только если ты не начнешь использовать ссылки))
Маjко
И тут мы возвращаемся к изначальной проблеме: нахуя, если у тебя уже есть Rc, и ты можешь всегда их использовать
Anton
Просто в каких-то местах я заранее знаю, что данные могут шариться и там всё равно через Rc/Arc придётся делать. А где-то можно статично проверить, что всегда приятнее
Anton
А сейчас получается, что если моё приложение строится вокруг event-loop/game-loop, всё приходится на Rc делать
Vladimir
Та блин, напиши ты уже такой код на енамах
Anton
Да нечего пока писать)
Маjко
Антон, не обижайся, но ты сейчас судишь с дивана и выдаешь совершенно не важные вещи за нечто пиздец нужное
Маjко
Проблема, которую ты описываешь, на практике не существует
Anton
Да, возможно вы правы
Anton
Пока не напишу, не осознаю)
Anton
Спасибо, энивэй, в каком-то виде у меня это всё в голове уложилось
Anton
Теперь точно спать
Anton
Блин по коду Арсена можно писать гайдлайны
Anton
имхо
Anton
все говно и мою ебаную лапшу по полочкам разложил, четко, аккуратно и красиво
Anton
круто, прям пиздецки
Anton
Слушай Арсен
Anton
сделай эту репу как бест практис для новичков в расте
Anton
про всякие простые хуйни но полезные, токио там, hyper и все такое
Anton
отвечаю это будет бестселлер в мире rust разработки
adam
Ещё одна 24дневка?
Anton
Anton
24 дневка в основном только по мелочи примеры делает
Anton
а тут прям какие то конкретные небольшие задачи из жизни
Anton
как эта со скачиванием файла
Anton
для новичков в расте это будет очень даже хороший способ влится имхо
Anton
https://twitter.com/playpausenstop/status/914218443443929089
Anonymous
не очень заброшенная
Vladimir
Короче у него нет конкурентных жоб?