История изменений
Исправление vlad9486, (текущая версия) :
С этим кодом много проблем.
async это такой сахар чтобы обозначить что функция или блок возвращает что-то что реализует трейт Future. Его есть смысл писать только если внутри есть await.
let mut j = &self.i;
здесь ссылка неизменяемая, нужно let mut j = &mut self.i;
Ничего не делает потому что фючи ничего не делают если их не полить. Вот это вот выражение
async {
let mut c = Counter::new();
block_on(c);
c.count();
};
Возвращает значение, реализующее Future. Ты с ним ничего не делаешь.
В любом случае, даже если ты починишь что я здесь описал, это не приблизит тебя к результату.
Исходная версия vlad9486, :
С этим кодом много проблем.
async это такой сахар чтобы обозначить что функция или блок возвращает что-то что реализует трейт Future. Его есть смысл писать только если внутри есть await.
let mut j = &self.i;
здесь ссылка неизменяемая, нужно let mut j = &mut self.i;
Ничего не делает потому что фючи ничего не делают если их не полить. Вот это вот выражение
async {
let mut c = Counter::new();
block_on(c);
c.count();
};
Возвращают значение, реализующее Future. Ты с ним ничего не делаешь.
В любом случае, даже если ты починишь что я здесь описал, это не приблизит тебя к результату.