v2 / vlib / v / tests / comptime / comptime_infer_generic_map_test.v
23 lines · 20 sloc · 322 bytes · 51e78616182df8fb76a2ba08785aaf7112efd56b
Raw
1module main
2
3fn encode_map[K, V](m map[K]V) string {
4 return typeof(m).name
5}
6
7fn encode_array[T](arr []T) string {
8 for element in arr {
9 $if T is $map {
10 return encode_map(element)
11 }
12 }
13 return ''
14}
15
16fn test_main() {
17 x := [{
18 '123': '456'
19 }, {
20 'abc': 'def'
21 }]
22 assert encode_array(x) == 'map[string]string'
23}
24