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! {
2121 /// let mut value_rc = Arc::new(Mutex::new(42_u8));
2222 /// let value_mutex = Arc::get_mut(&mut value_rc).unwrap();
2323 ///
24- /// let value = value_mutex.lock().unwrap();
25- /// do_stuff( value) ;
24+ /// let mut value = value_mutex.lock().unwrap();
25+ /// * value += 1 ;
2626 /// ```
2727 /// Use instead:
2828 /// ```rust
@@ -32,7 +32,7 @@ declare_clippy_lint! {
3232 /// let value_mutex = Arc::get_mut(&mut value_rc).unwrap();
3333 ///
3434 /// let value = value_mutex.get_mut().unwrap();
35- /// do_stuff( value) ;
35+ /// * value += 1 ;
3636 /// ```
3737 pub MUT_MUTEX_LOCK ,
3838 correctness,
Original file line number Diff line number Diff line change @@ -6,13 +6,13 @@ fn mut_mutex_lock() {
66 let mut value_rc = Arc :: new ( Mutex :: new ( 42_u8 ) ) ;
77 let value_mutex = Arc :: get_mut ( & mut value_rc) . unwrap ( ) ;
88
9- let value = value_mutex. lock ( ) . unwrap ( ) ;
9+ let mut value = value_mutex. lock ( ) . unwrap ( ) ;
1010 * value += 1 ;
1111}
1212
1313fn no_owned_mutex_lock ( ) {
1414 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 ( ) ;
1616 * value += 1 ;
1717}
1818
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
33 |
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+ | ^^^^^^^^^^^^^^^^^^
116 |
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
169
17- error: aborting due to 2 previous errors
10+ error: aborting due to previous error
1811
19- For more information about this error, try `rustc --explain E0596`.
You can’t perform that action at this time.
0 commit comments