Size: a a a

2021 May 26

t

ttldtor in codingteam
видимо, есть необходимость
источник

O

Omap in codingteam
приходи к нам работать, буду тренировать твоё терпение сверх лимита каждый день
источник

O

Omap in codingteam
даже в выходные
источник

c

codingteam@cjr in codingteam
Akon32
а почему  при
waiters: Weak<Mutex<HashMap<TaskId, TaskResultReceiver>>>, (здесь tokio::..::Mutex, std::sync::Weak)
при вызове
let mut ws = self.waiters.upgrade().unwrap().lock().await;
я получаю
error[E0716]: temporary value dropped while borrowed
  --> src/-----:310:22
   |
310 |         let mut ws = self.waiters.upgrade().unwrap().lock().await;
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^             - temporary value is freed at the end of this statement
   |                      |
   |                      creates a temporary which is freed while still in use
...
325 |     }
   |     - borrow might be used here, when `ws` is dropped and runs the `Drop` code for type `tokio::sync::MutexGuard`
   |
   = note: consider using a `let` binding to create a longer lived value

? что должно быть в новой переменной?
источник

O

Omap in codingteam
потому что вёрстка поехала
источник

c

codingteam@cjr in codingteam
Akon32
кхм, многовато получилось.
источник

O

Omap in codingteam
вот почему
источник

c

codingteam@cjr in codingteam
Akon32
там вроде результат upgrade() сразу дропается. а если его в переменную сохранять, тогда ругается, что он дропается где-то в .await.
источник

FO

FORTRAN ONE LOVE in codingteam
А что это за плюсовая магия: https://godbolt.org/z/MzqbhGKno? Почему я к переменным класса-родителя не могу лезть через такие шаблоны?
источник

FO

FORTRAN ONE LOVE in codingteam
Эм. Ладно. Я лучше в supapro схожу спрошу )
источник

c

codingteam@cjr in codingteam
Akon32
а так перестаёт ругаться..
let arc_ws = self.waiters.upgrade().unwrap();
let mut ws = arc_ws.lock().await;
источник

c

codingteam@cjr in codingteam
Akon32
это вместо
let mut ws = self.waiters.upgrade().unwrap().lock().await;
источник

c

codingteam@cjr in codingteam
O01eg
А если unwrap запаникует?
источник

c

codingteam@cjr in codingteam
Akon32
тогда контекст тупо падает.
источник

c

codingteam@cjr in codingteam
Akon32
это норм.
источник

c

codingteam@cjr in codingteam
Akon32
если в weak None, то это значит, что процесс-потомок упал, и тут ничего нельзя сделать.
источник

c

codingteam@cjr in codingteam
Akon32
/me из вчерашнего кода лишние unwrap'ы таки поубирал.
источник

c

codingteam@cjr in codingteam
Akon32
хотя, проверил - всё равно сервер странно работает, если процесс прибить.
источник

c

codingteam@cjr in codingteam
Minoru
@noktoborus: ты профессиональный тренер терпения, вот ты кто!
источник

c

codingteam@cjr in codingteam
Akon32
контекст-то падает, а сервер - не падает.
источник