#![allow(unused_variables)] fn main() { use std::collections::BTreeMap; let mut player_stats = BTreeMap::new(); fn random_stat_buff() -> u8 { 42 } player_stats.entry("health").or_insert(100); player_stats.entry("defence").or_insert_with(random_stat_buff); let stat = player_stats.entry("attack").or_insert(100); *stat += random_stat_buff(); player_stats.entry("mana").and_modify(|mana| *mana += 200).or_insert(100); }