Всем привет, есть вопросы по Pin, Future и .await. 1. Как

технически раст разруливает ситуацию когда встречает внутри функции .await, как захватывается контекст функции, например:
async fn foo(&self) {
let mut val = 1;
let result = some_other_async().await?;
self.some_field = 5;
val = 2
}
Как раст запоминает значениеv val=1, как он работает с self? о нем же тоже надо как-то помнить.

2. что не так, как правильно? Картинка далее.

2 ответов

6 просмотров

async вроде как генерит машину состояний, похожую на скрин, рассахаренная сигнатура будет выглядеть как -> impl Future. В лямбде val с &self хранится, вестимо.

Создается условно объект с полями с контекстом

Похожие вопросы

Обсуждают сегодня

Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
всем привет, можно ли сделать для бота ссылку например рекламную по которой я буду знать что именно с этой ссылки зашли в моего бота?
Kokni
1
а в telegraf смотреть в евенте start или в message?
Kokni
1
а что делать если тебя убивают на картах?
Yarik yarik kyda ti lezesh
43
Мне вот что интересно, кто на рфе стартовал/играл, что вы фармили, в каком виде контента он прямо хорош? Экспедиция? Вроде прямо на замазанных мапах рф сдувается
Владислав
20
‌/r/pathofexile moderation changes top scoring links : pathofexile (RSS) Hi, everyone. On behalf of the subreddit mod team, I’m here to give you a few updates on the subreddi...
Esionru
3
Подскажите где можно прочитать про реализацию возможности писать человеку при подписке на телеграм канал от имени бота? Было бы не плохо если для Telegraf@3.38.0
Pan Lipton
10
Как с помощью opencv найти ракету на картинке?))
ᅠ [ Кому не ответил, дублируйте ]
2
У меня вопрос к знающими, стоит ли вступать в гильдии в игре или лучше полная свобода?
Енот Полоскун
17
У вас бывает ощущение, что хочется потратить весь отпуск на то, чтоб только спать?
Николай
15
Карта сайта