2020-10-10 10:07:47 +00:00
|
|
|
// run-rustfix
|
|
|
|
#![allow(dead_code, unused_mut)]
|
2020-10-02 01:05:30 +00:00
|
|
|
#![warn(clippy::mut_mutex_lock)]
|
|
|
|
|
|
|
|
use std::sync::{Arc, Mutex};
|
|
|
|
|
|
|
|
fn mut_mutex_lock() {
|
|
|
|
let mut value_rc = Arc::new(Mutex::new(42_u8));
|
|
|
|
let value_mutex = Arc::get_mut(&mut value_rc).unwrap();
|
|
|
|
|
2020-10-02 02:54:44 +00:00
|
|
|
let mut value = value_mutex.lock().unwrap();
|
2020-10-02 01:05:30 +00:00
|
|
|
*value += 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
fn no_owned_mutex_lock() {
|
|
|
|
let mut value_rc = Arc::new(Mutex::new(42_u8));
|
2020-10-02 02:54:44 +00:00
|
|
|
let mut value = value_rc.lock().unwrap();
|
2020-10-02 01:05:30 +00:00
|
|
|
*value += 1;
|
|
|
|
}
|
|
|
|
|
2022-09-02 18:28:00 +00:00
|
|
|
fn issue9415() {
|
|
|
|
let mut arc_mutex = Arc::new(Mutex::new(42_u8));
|
|
|
|
let arc_mutex: &mut Arc<Mutex<u8>> = &mut arc_mutex;
|
|
|
|
let mut guard = arc_mutex.lock().unwrap();
|
|
|
|
*guard += 1;
|
|
|
|
}
|
|
|
|
|
2020-10-02 01:05:30 +00:00
|
|
|
fn main() {}
|