diff --git a/vlib/v/tests/shared_map_ptr_test.v b/vlib/v/tests/shared_map_ptr_test.v new file mode 100644 index 00000000000000..539a29056dba55 --- /dev/null +++ b/vlib/v/tests/shared_map_ptr_test.v @@ -0,0 +1,23 @@ +struct Abc { + f shared map[string]&Abc +} + +fn test_main() { + c := Abc{} + b := Abc{} + a := Abc{ + f: b.f + } + + lock a.f, b.f { + a.f['a'] = &c + } + lock b.f { + b.f['b'] = &c + } + + dump(b.f) + rlock b.f { + assert b.f.len == 2 + } +}