rust
MutexGuard held across await makes future !Send
future.*is not.*Send.*MutexGuard
Fixes
- 1.Drop MutexGuard before .await
- 2.Use tokio::sync::Mutex instead of std::sync::Mutex
- 3.Extract locked value to local before .await
rustasyncsendmutex
Related Errors
rust3 fixes
Future not Send due to non-Send type
future cannot be sent between threads safely.*Send
- •Use Arc<Mutex<T>> instead of Rc<RefCell<T>>
- •Add Send bound or spawn_local for !Send futures
rust3 fixes
Future requires Unpin but type doesn't implement it
cannot be unpinned.*Unpin.*is not implemented
- •Use Box::pin() to pin the future on heap
- •Use pin_mut! macro for stack pinning
rust3 fixes
Type doesn't implement Future trait
the trait.*Future.*is not implemented for
- •Ensure async fn returns impl Future
- •Use .await on async calls