v2 / vlib / v / tests / comptime / comptime_for_lock_field_test.v
19 lines · 17 sloc · 283 bytes · 7d327152ccdb86162a846408f644a9d3a337ee69
Raw
1struct MyS {
2 a int
3 cache shared map[u64]string
4}
5
6fn encode[T](val T) string {
7 $for field in T.fields {
8 $if field.is_shared {
9 rlock val.$(field.name) {
10 return field.name
11 }
12 }
13 }
14 return ''
15}
16
17fn test_comptime_for_lock_field() {
18 assert encode(MyS{}) == 'cache'
19}
20