mirror of
https://github.com/rust-lang/rust.git
synced 2025-12-03 15:49:14 +00:00
Adds the equivalent `nonpoison` types to the `poison::mutex` module. These types and implementations are gated under the `nonpoison_mutex` feature gate. Also blesses the ui tests that now have a name conflicts (because these types no longer have unique names). The full path distinguishes the different types. Co-authored-by: Aandreba <aandreba@gmail.com> Co-authored-by: Trevor Gross <tmgross@umich.edu>
27 lines
836 B
Plaintext
27 lines
836 B
Plaintext
error: `std::sync::MutexGuard` held across a suspend point, but should not be
|
|
--> $DIR/mutex.rs:8:9
|
|
|
|
|
LL | let _guard = m.lock().unwrap();
|
|
| ^^^^^^
|
|
LL | other().await;
|
|
| ----- the value is held across this suspend point
|
|
|
|
|
note: holding a MutexGuard across suspend points can cause deadlocks, delays, and cause Futures to not implement `Send`
|
|
--> $DIR/mutex.rs:8:9
|
|
|
|
|
LL | let _guard = m.lock().unwrap();
|
|
| ^^^^^^
|
|
help: consider using a block (`{ ... }`) to shrink the value's scope, ending before the suspend point
|
|
--> $DIR/mutex.rs:8:9
|
|
|
|
|
LL | let _guard = m.lock().unwrap();
|
|
| ^^^^^^
|
|
note: the lint level is defined here
|
|
--> $DIR/mutex.rs:3:9
|
|
|
|
|
LL | #![deny(must_not_suspend)]
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
error: aborting due to 1 previous error
|
|
|