в раст, это значит, что функция и параметры живут одинаковы, и структура с переменными и т.д? когда раст явно не понимает этого
Что-то типа. Когда есть неоднозначность и/или компилятор не может разрешить лайфтаймы сам, ты можешь аннотировать и указать, например, что у каких-то двух ссылок он не общий, а разный. Для понимания ещё стоит почитать про lifetime elision - собственные правила вывода по сигнатуре, плюс тут вроде кидали или найти по названию - rust common lifetime misconceptions
Которые кстати особо в реальных проэктах и не нужны.
Три же iced страдает из-за String'ов в immediate mode.
Вопрос на засыпку. Скок пишу на расте, никогда не испытывал проблем с лайфтаймами (а вот асинк - боль). Это же просто баунд референса к определенному скоупу. Где обычно люди спотыкаются ?
Люди спотыкаются когда лайфтаймы настолько нетривиальные, что ни компилятор, ни они не понимают. Можете посмотреть, в основе Жуковский присылал пару раз "загадки", где хз что как расставлять. Меня лично больше убивают ошибки типа expected enum Result<ServiceResponse<BoxBody, _>>, found enum Result<ServiceResponse<B, Error>>
смотрю в оба генерика и нихера не понимаю. B = BoxBody, _ = Error, что не так - а хер его пойми. Ну и пресловутое expected opaque type Future<Output=...>, found Future<Output=...>
Хочу посмотреть
типа такого https://t.me/rustlang_ru/456255
Обсуждают сегодня