File tree Expand file tree Collapse file tree 3 files changed +12
-20
lines changed Expand file tree Collapse file tree 3 files changed +12
-20
lines changed Original file line number Diff line number Diff line change @@ -21,8 +21,8 @@ declare_clippy_lint! {
21
21
/// let mut value_rc = Arc::new(Mutex::new(42_u8));
22
22
/// let value_mutex = Arc::get_mut(&mut value_rc).unwrap();
23
23
///
24
- /// let value = value_mutex.lock().unwrap();
25
- /// do_stuff( value) ;
24
+ /// let mut value = value_mutex.lock().unwrap();
25
+ /// * value += 1 ;
26
26
/// ```
27
27
/// Use instead:
28
28
/// ```rust
@@ -32,7 +32,7 @@ declare_clippy_lint! {
32
32
/// let value_mutex = Arc::get_mut(&mut value_rc).unwrap();
33
33
///
34
34
/// let value = value_mutex.get_mut().unwrap();
35
- /// do_stuff( value) ;
35
+ /// * value += 1 ;
36
36
/// ```
37
37
pub MUT_MUTEX_LOCK ,
38
38
correctness,
Original file line number Diff line number Diff line change @@ -6,13 +6,13 @@ fn mut_mutex_lock() {
6
6
let mut value_rc = Arc :: new ( Mutex :: new ( 42_u8 ) ) ;
7
7
let value_mutex = Arc :: get_mut ( & mut value_rc) . unwrap ( ) ;
8
8
9
- let value = value_mutex. lock ( ) . unwrap ( ) ;
9
+ let mut value = value_mutex. lock ( ) . unwrap ( ) ;
10
10
* value += 1 ;
11
11
}
12
12
13
13
fn no_owned_mutex_lock ( ) {
14
14
let mut value_rc = Arc :: new ( Mutex :: new ( 42_u8 ) ) ;
15
- let value = value_rc. lock ( ) . unwrap ( ) ;
15
+ let mut value = value_rc. lock ( ) . unwrap ( ) ;
16
16
* value += 1 ;
17
17
}
18
18
Original file line number Diff line number Diff line change 1
- error[E0596]: cannot borrow `value` as mutable, as it is not declared as mutable
2
- --> $DIR/mut_mutex_lock.rs:10:6
1
+ error: calling `&mut Mutex::lock` unnecessarily locks an exclusive ( mutable) reference
2
+ --> $DIR/mut_mutex_lock.rs:9:21
3
3
|
4
- LL | let value = value_mutex.lock().unwrap();
5
- | ----- help: consider changing this to be mutable: `mut value`
6
- LL | *value += 1;
7
- | ^^^^^ cannot borrow as mutable
8
-
9
- error[E0596]: cannot borrow `value` as mutable, as it is not declared as mutable
10
- --> $DIR/mut_mutex_lock.rs:16:6
4
+ LL | let mut value = value_mutex.lock().unwrap();
5
+ | ^^^^^^^^^^^^^^^^^^
11
6
|
12
- LL | let value = value_rc.lock().unwrap();
13
- | ----- help: consider changing this to be mutable: `mut value`
14
- LL | *value += 1;
15
- | ^^^^^ cannot borrow as mutable
7
+ = note: `-D clippy::mut-mutex-lock` implied by `-D warnings`
8
+ = help: use `&mut Mutex::get_mut` instead
16
9
17
- error: aborting due to 2 previous errors
10
+ error: aborting due to previous error
18
11
19
- For more information about this error, try `rustc --explain E0596`.
You can’t perform that action at this time.
0 commit comments