struct User { name string } struct A { m map[string]int users map[string]User } fn (a mut A) set(key string, val int) { a.m[key] = val } fn test_map() { mut m := map[string]int{} m['hi'] = 80 assert m['hi'] == 80 //// mut users := map[string]User{} users['1'] = User{'Peter'} peter := users['1'] assert peter.name == 'Peter' mut a := A{ m: map[string]int{} users: map[string]User{} } a.users['Bob'] = User{'Bob'} q := a.users['Bob'] assert q.name == 'Bob' a.m['one'] = 1 a.set('two', 2) assert a.m['one'] == 1 assert a.m['two'] == 2 }