>>83
無効ではない
しかしMutex<T>はlockを取れたら& mut Tも得られて書き込みも可能なのでCellは不要
例えば

fn main() {
 let m = Mutex::new(Vec::new());
 sub(&m);
 let v = m.lock().unwrap();
 assert_eq!(*v, [123, 456]);
}

fn sub(m: &Mutex<Vec<i32>>) {
 let mut v = m.lock().unwrap();
 v.push(123);
 v.push(456);
}

つまりMutexの可変参照をもっていなくても内部の可変性を得られる
ようするにCellで内部可変性を得られるのと同じ
だからMutex<Cell<T>>と二段に重ねる必要はない