]> git.lizzy.rs Git - rust.git/blob - tests/ui/mut_mutex_lock.rs
Auto merge of #9684 - kraktus:ref_option_ref, r=xFrednet
[rust.git] / tests / ui / mut_mutex_lock.rs
1 // run-rustfix
2 #![allow(dead_code, unused_mut)]
3 #![warn(clippy::mut_mutex_lock)]
4
5 use std::sync::{Arc, Mutex};
6
7 fn mut_mutex_lock() {
8     let mut value_rc = Arc::new(Mutex::new(42_u8));
9     let value_mutex = Arc::get_mut(&mut value_rc).unwrap();
10
11     let mut value = value_mutex.lock().unwrap();
12     *value += 1;
13 }
14
15 fn no_owned_mutex_lock() {
16     let mut value_rc = Arc::new(Mutex::new(42_u8));
17     let mut value = value_rc.lock().unwrap();
18     *value += 1;
19 }
20
21 fn issue9415() {
22     let mut arc_mutex = Arc::new(Mutex::new(42_u8));
23     let arc_mutex: &mut Arc<Mutex<u8>> = &mut arc_mutex;
24     let mut guard = arc_mutex.lock().unwrap();
25     *guard += 1;
26 }
27
28 fn main() {}