mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-10 15:14:29 +00:00
move readonly_write_lock to perf
This commit is contained in:
parent
660b058ba2
commit
adcbb4a9b7
3 changed files with 28 additions and 27 deletions
|
@ -3590,7 +3590,7 @@ declare_clippy_lint! {
|
|||
/// ```
|
||||
#[clippy::version = "1.73.0"]
|
||||
pub READONLY_WRITE_LOCK,
|
||||
nursery,
|
||||
perf,
|
||||
"acquiring a write lock when a read lock would work"
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#![warn(clippy::await_holding_lock)]
|
||||
#![allow(clippy::readonly_write_lock)]
|
||||
|
||||
// When adding or modifying a test, please do the same for parking_lot::Mutex.
|
||||
mod std_mutex {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:9:13
|
||||
--> tests/ui/await_holding_lock.rs:10:13
|
||||
|
|
||||
LL | let guard = x.lock().unwrap();
|
||||
| ^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:11:15
|
||||
--> tests/ui/await_holding_lock.rs:12:15
|
||||
|
|
||||
LL | baz().await
|
||||
| ^^^^^
|
||||
|
@ -14,40 +14,40 @@ LL | baz().await
|
|||
= help: to override `-D warnings` add `#[allow(clippy::await_holding_lock)]`
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:25:13
|
||||
--> tests/ui/await_holding_lock.rs:26:13
|
||||
|
|
||||
LL | let guard = x.read().unwrap();
|
||||
| ^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:27:15
|
||||
--> tests/ui/await_holding_lock.rs:28:15
|
||||
|
|
||||
LL | baz().await
|
||||
| ^^^^^
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:31:13
|
||||
--> tests/ui/await_holding_lock.rs:32:13
|
||||
|
|
||||
LL | let mut guard = x.write().unwrap();
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:33:15
|
||||
--> tests/ui/await_holding_lock.rs:34:15
|
||||
|
|
||||
LL | baz().await
|
||||
| ^^^^^
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:53:13
|
||||
--> tests/ui/await_holding_lock.rs:54:13
|
||||
|
|
||||
LL | let guard = x.lock().unwrap();
|
||||
| ^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:56:28
|
||||
--> tests/ui/await_holding_lock.rs:57:28
|
||||
|
|
||||
LL | let second = baz().await;
|
||||
| ^^^^^
|
||||
|
@ -56,79 +56,79 @@ LL | let third = baz().await;
|
|||
| ^^^^^
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:67:17
|
||||
--> tests/ui/await_holding_lock.rs:68:17
|
||||
|
|
||||
LL | let guard = x.lock().unwrap();
|
||||
| ^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:69:19
|
||||
--> tests/ui/await_holding_lock.rs:70:19
|
||||
|
|
||||
LL | baz().await
|
||||
| ^^^^^
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:80:17
|
||||
--> tests/ui/await_holding_lock.rs:81:17
|
||||
|
|
||||
LL | let guard = x.lock().unwrap();
|
||||
| ^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:82:19
|
||||
--> tests/ui/await_holding_lock.rs:83:19
|
||||
|
|
||||
LL | baz().await
|
||||
| ^^^^^
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:93:13
|
||||
--> tests/ui/await_holding_lock.rs:94:13
|
||||
|
|
||||
LL | let guard = x.lock();
|
||||
| ^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:95:15
|
||||
--> tests/ui/await_holding_lock.rs:96:15
|
||||
|
|
||||
LL | baz().await
|
||||
| ^^^^^
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:109:13
|
||||
--> tests/ui/await_holding_lock.rs:110:13
|
||||
|
|
||||
LL | let guard = x.read();
|
||||
| ^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:111:15
|
||||
--> tests/ui/await_holding_lock.rs:112:15
|
||||
|
|
||||
LL | baz().await
|
||||
| ^^^^^
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:115:13
|
||||
--> tests/ui/await_holding_lock.rs:116:13
|
||||
|
|
||||
LL | let mut guard = x.write();
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:117:15
|
||||
--> tests/ui/await_holding_lock.rs:118:15
|
||||
|
|
||||
LL | baz().await
|
||||
| ^^^^^
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:137:13
|
||||
--> tests/ui/await_holding_lock.rs:138:13
|
||||
|
|
||||
LL | let guard = x.lock();
|
||||
| ^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:140:28
|
||||
--> tests/ui/await_holding_lock.rs:141:28
|
||||
|
|
||||
LL | let second = baz().await;
|
||||
| ^^^^^
|
||||
|
@ -137,40 +137,40 @@ LL | let third = baz().await;
|
|||
| ^^^^^
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:151:17
|
||||
--> tests/ui/await_holding_lock.rs:152:17
|
||||
|
|
||||
LL | let guard = x.lock();
|
||||
| ^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:153:19
|
||||
--> tests/ui/await_holding_lock.rs:154:19
|
||||
|
|
||||
LL | baz().await
|
||||
| ^^^^^
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:164:17
|
||||
--> tests/ui/await_holding_lock.rs:165:17
|
||||
|
|
||||
LL | let guard = x.lock();
|
||||
| ^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:166:19
|
||||
--> tests/ui/await_holding_lock.rs:167:19
|
||||
|
|
||||
LL | baz().await
|
||||
| ^^^^^
|
||||
|
||||
error: this `MutexGuard` is held across an `await` point
|
||||
--> tests/ui/await_holding_lock.rs:185:9
|
||||
--> tests/ui/await_holding_lock.rs:186:9
|
||||
|
|
||||
LL | let mut guard = x.lock().unwrap();
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= help: consider using an async-aware `Mutex` type or ensuring the `MutexGuard` is dropped before calling await
|
||||
note: these are all the `await` points this lock is held through
|
||||
--> tests/ui/await_holding_lock.rs:189:11
|
||||
--> tests/ui/await_holding_lock.rs:190:11
|
||||
|
|
||||
LL | baz().await;
|
||||
| ^^^^^
|
||||
|
|
Loading…
Reference in a new issue