Эта простая функция блокирует f64
и обновляет значение
use std::sync::Mutex;
fn bar() {
let a = Mutex::new(1.0);
let mut b = a.lock().unwrap();
*b = 2.0;
foo(a, 3.0);
}
Я хотел бы инкапсулировать поведение в функцию, но не могу понять, как задать предложение where
для T
fn foo<T, V>(lockable_param: T, value: V)
// where
// T: Mutex??,
{
let mut lock = lockable_param.lock().unwrap();
*lock = value;
}