You will need to use interior mutability:
use std::{cell::RefCell, rc::Rc, collections::HashMap};fn main() { let aa = HashMap::from([(1, Rc::new(RefCell::new(1)))]); println!("{:?}",aa); if let Some(value) = aa.get(&1) { let mut value = value.borrow_mut(); *value = 2; } println!("{:?}",aa);}
result:
{1: RefCell { value: 1 }}{1: RefCell { value: 2 }}