v2 / vlib / v / tests / concurrency / shared_map_ptr_test.v
23 lines · 20 sloc · 226 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1struct Abc {
2 f shared map[string]&Abc
3}
4
5fn test_main() {
6 c := Abc{}
7 b := Abc{}
8 a := Abc{
9 f: b.f
10 }
11
12 lock a.f, b.f {
13 a.f['a'] = &c
14 }
15 lock b.f {
16 b.f['b'] = &c
17 }
18
19 dump(b.f)
20 rlock b.f {
21 assert b.f.len == 2
22 }
23}
24